Main Page   Class Hierarchy   Compound List   File List   Compound Members   File Members  

/magnus/back_end/Matrix/include/RandomMatrix.h

Go to the documentation of this file.
00001 /*
00002  *   $Id: RandomMatrix.h,v 1.6 2000/02/09 22:40:18 bormotov Exp $
00003  */
00004 
00005 // Copyright (C) 1995 The New York Group Theory Cooperative
00006 // See magnus/doc/COPYRIGHT for the full notice.
00007 //
00008 // Contents: Definitions of class RandomMatrix.
00009 //           
00010 //
00011 // Principal Author: Dmitry Bormotov
00012 //
00013 // Status: In development
00014 //
00015 //
00016 // Usage:
00017 //
00018 //
00019 // Revision History:
00020 //
00021 //
00022 
00023 
00024 #ifndef _RANDOM_MATRIX_H_
00025 #define _RANDOM_MATRIX_H_
00026 
00027 #include "Matrix.h"
00028 
00029 
00030 //------------------------------ RandomMatrix -------------------------------//
00031 
00032 
00033 template <class R> class RandomMatrix 
00034 {
00035 
00036 public:
00037 
00038 
00039   /////////////////////////////////////////////////////////////////////////
00040   //                                                                     //
00041   // Constructors:                                                       //
00042   //                                                                     //
00043   /////////////////////////////////////////////////////////////////////////
00044 
00045   RandomMatrix( int n = 0 ) 
00046   {
00047   #if SAFETY > 0
00048     if( n < 0 )
00049       error("RandomMatrix::RandomMatrix( int ) : "
00050             "incorrect matrix size.");
00051   #endif  
00052 
00053     size = n;
00054   }
00055 
00056 
00057   /////////////////////////////////////////////////////////////////////////
00058   //                                                                     //
00059   // Accessors:                                                          //
00060   //                                                                     //
00061   /////////////////////////////////////////////////////////////////////////
00062 
00063   int getSize() const { return size; }  
00064     
00065   Matrix<R> getRandomMatrix( );  
00066  
00067 
00068 private:
00069 
00070 
00071   /////////////////////////////////////////////////////////////////////////
00072   //                                                                     //
00073   // Data Members:                                                       //
00074   //                                                                     //
00075   /////////////////////////////////////////////////////////////////////////
00076 
00077   int size;
00078 
00079 
00080   /////////////////////////////////////////////////////////////////////////
00081   //                                                                     //
00082   // Private functions:                                                  //
00083   //                                                                     //
00084   /////////////////////////////////////////////////////////////////////////
00085 
00086   int coefficient( );
00087 
00088   Matrix<R> getAtomicMatrix( );
00089 
00090   /////////////////////////////////////////////////////////////////////////
00091   //                                                                     //
00092   //  Debugging stuff:                                                   //
00093   //                                                                     //
00094   /////////////////////////////////////////////////////////////////////////
00095 
00096 #ifdef DEBUG
00097 
00098   //friend int main( );
00099 
00100 #endif
00101 
00102 };
00103 
00104 #endif
00105 
00106 
00107 

Generated at Tue Jun 19 09:49:37 2001 for Magnus Classes by doxygen1.2.6 written by Dimitri van Heesch, © 1997-2001