Main Page   Modules   Namespace List   Class Hierarchy   Compound List   File List   Namespace Members   Compound Members   File Members   Related Pages  

LQUPMatrix Class Template Reference

#include <factorized-matrix.h>

List of all members.

template<class Field>
class LinBox::LQUPMatrix< Field >


Public Types

typedef Field::Element Element

Public Methods

 LQUPMatrix (const Field &F, const BlasMatrix< Element > &A)
 LQUPMatrix (const Field &F, BlasMatrix< Element > &A)
 ~LQUPMatrix ()
Fieldfield ()
size_t rowdim () const
size_t coldim () const
size_t getrank () const
const BlasPermutationgetP () const
const BlasPermutationgetQ () const
TriangularBlasMatrix< Element > & getL (TriangularBlasMatrix< Element > &L) const
TriangularBlasMatrix< Element > & getU (TriangularBlasMatrix< Element > &U) const
BlasMatrix< Element > & getS (BlasMatrix< Element > &S) const
ElementgetPointer () const
const size_t getStride () const
template<class Operand> Operand & left_solve (Operand &X, const Operand &B) const
template<class Operand> Operand & left_solve (Operand &B) const
template<class Operand> Operand & right_solve (Operand &X, const Operand &B) const
template<class Operand> Operand & right_solve (Operand &B) const
template<class Operand> Operand & left_Lsolve (Operand &X, const Operand &B) const
template<class Operand> Operand & left_Lsolve (Operand &B) const
template<class Operand> Operand & right_Lsolve (Operand &X, const Operand &B) const
template<class Operand> Operand & right_Lsolve (Operand &B) const
template<class Operand> Operand & left_Usolve (Operand &X, const Operand &B) const
template<class Operand> Operand & rleft_Usolve (Operand &B) const
template<class Operand> Operand & right_Usolve (Operand &X, const Operand &B) const
template<class Operand> Operand & right_Usolve (Operand &B) const

Protected Attributes

Field _F
BlasMatrix< Element > & _LU
BlasPermutation _P
BlasPermutation _Q
size_t _m
size_t _n
size_t _rank
bool _alloc

Member Typedef Documentation

typedef Field::Element Element
 


Constructor & Destructor Documentation

LQUPMatrix const Field   F,
const BlasMatrix< Element > &    A
[inline]
 

LQUPMatrix const Field   F,
BlasMatrix< Element > &    A
[inline]
 

~LQUPMatrix   [inline]
 


Member Function Documentation

size_t coldim   const [inline]
 

Field& field   [inline]
 

TriangularBlasMatrix< typename Field::Element > & getL TriangularBlasMatrix< Element > &    L const [inline]
 

const BlasPermutation& getP   const [inline]
 

Element* getPointer   const [inline]
 

const BlasPermutation& getQ   const [inline]
 

get the _transpose_ of the permutation Q NOTE: this does not return Q itself! (because it is more difficult to compute) If needed, Q can be obtained as a TransposedBlasMatrix from the return value

One reason this confusion exists is that left-multiplying by a permuation matrix corresponds to a row permuation \pi \in S_n, while right-multiplying by the same matrix corresponds to the inverse column permutation \pi^(-1)! Usually this is handled intelligently (eg by applyP) but you must be careful with getQ().

size_t getrank   const [inline]
 

BlasMatrix<Element>& getS BlasMatrix< Element > &    S const
 

const size_t getStride   const [inline]
 

TriangularBlasMatrix<Element>& getU TriangularBlasMatrix< Element > &    U const
 

Operand& left_Lsolve Operand &    B const [inline]
 

Operand& left_Lsolve Operand &    X,
const Operand &    B
const [inline]
 

Operand& left_solve Operand &    B const [inline]
 

Operand& left_solve Operand &    X,
const Operand &    B
const [inline]
 

Operand& left_Usolve Operand &    X,
const Operand &    B
const [inline]
 

Operand& right_Lsolve Operand &    B const [inline]
 

Operand& right_Lsolve Operand &    X,
const Operand &    B
const [inline]
 

Operand& right_solve Operand &    B const [inline]
 

Operand& right_solve Operand &    X,
const Operand &    B
const [inline]
 

Operand& right_Usolve Operand &    B const [inline]
 

Operand& right_Usolve Operand &    X,
const Operand &    B
const [inline]
 

Operand& rleft_Usolve Operand &    B const [inline]
 

size_t rowdim   const [inline]
 


Member Data Documentation

bool _alloc [protected]
 

Field _F [protected]
 

BlasMatrix<Element>& _LU [protected]
 

size_t _m [protected]
 

size_t _n [protected]
 

BlasPermutation _P [protected]
 

BlasPermutation _Q [protected]
 

size_t _rank [protected]
 


Generated on Mon Jun 20 09:16:54 2005 for linbox by doxygen1.2.18