linalg::matrix::LUmatrix Class Reference

A private matrix member class for matrices factored in LU form. More...

List of all members.

Public Member Functions

gsl_matrix * matrix_ptr ()
gsl_permutation * perm_ptr ()
int sgn ()
int * sgn_ptr ()
 LUmatrix (gsl_matrix *M)
 LUmatrix (const LUmatrix &LU)
LUmatrix operator= (const LUmatrix &LU)
 ~LUmatrix ()

Private Member Functions

 LUmatrix ()

Private Attributes

gsl_permutation * p
gsl_matrix * A
int signum


Detailed Description

A private matrix member class for matrices factored in LU form.

Constructor & Destructor Documentation

linalg::matrix::LUmatrix::LUmatrix ( gsl_matrix *  M  ) 

00359                                        {
00360     A = gsl_matrix_alloc(M -> size1, M -> size2);
00361     gsl_matrix_memcpy(A,M);
00362     p = gsl_permutation_alloc(A->size1);
00363     signum = 0;
00364   }

linalg::matrix::LUmatrix::LUmatrix ( const LUmatrix LU  ) 

00366                                            {
00367     p = gsl_permutation_alloc(M.p->size);
00368     gsl_permutation_memcpy(p,M.p);
00369     A = gsl_matrix_alloc(M.A -> size1, M.A -> size2);
00370     gsl_matrix_memcpy(A,M.A);
00371     signum = M.signum;
00372   }

linalg::matrix::LUmatrix::~LUmatrix (  ) 

00410                            {
00411     gsl_permutation_free(p);
00412     p = 0;
00413     gsl_matrix_free(A);
00414     A = 0;
00415   }

linalg::matrix::LUmatrix::LUmatrix (  )  [private]

00404                           {
00405     A = 0;
00406     p = 0;
00407     signum = 0;
00408   }


Member Function Documentation

gsl_matrix * linalg::matrix::LUmatrix::matrix_ptr (  ) 

00389                                         {
00390     return A;
00391   }

gsl_permutation * linalg::matrix::LUmatrix::perm_ptr (  ) 

00392                                            {
00393     return p;
00394   }

int linalg::matrix::LUmatrix::sgn (  ) 

00400                          {
00401     return signum;
00402   }

int * linalg::matrix::LUmatrix::sgn_ptr (  ) 

00396                               {
00397     return &signum;
00398   }

matrix::LUmatrix linalg::matrix::LUmatrix::operator= ( const LUmatrix LU  ) 

00374                                                            {
00375     if(this != &M){
00376       gsl_permutation_free(p);
00377       p = gsl_permutation_alloc(M.p->size);
00378       gsl_permutation_memcpy(p,M.p);
00379 
00380       gsl_matrix_free(A);
00381       A = gsl_matrix_alloc(M.A -> size1, M.A -> size2);
00382       gsl_matrix_memcpy(A,M.A);
00383 
00384       signum = M.signum;      
00385     }
00386     return *this;
00387   }


Member Data Documentation

gsl_permutation* linalg::matrix::LUmatrix::p [private]

gsl_matrix* linalg::matrix::LUmatrix::A [private]


The documentation for this class was generated from the following files:

Generated on Fri Jun 6 17:28:29 2008 by  doxygen 1.5.6