Rogue Wave banner
Previous fileTop of DocumentContentsIndex pageNext file
Linear Algebra Module Reference Guide
Rogue Wave web site:  Home Page  |  Main Documentation Page

RWPDBandFact<T>, RWPDFact<T>, RWPDTriDiagFact<T>

Module:  Linear Algebra   Group:  Factorization classes


Does not inherit

Local Index

Members

Synopsis

#include <rw/math/genmat.h> // RWGenMat<T>, class T general
#include <rw/lapack/pdfct.h>
#include <rw/lapack/pdbdfct.h>
#include <rw/lapack/pdtdfct.h>

RWGenFact<double> LU(A);        // A is a RWGenMat<double>
RWPDFact<double> LU4(D);        // D is a RWPDMat<double>
RWPDTriDiagFact<double> LU7(G); // G is a
// RWPDTriDiagMat<double>

Description

The classes RWPDFact<T>, RWPDBandFact<T>, and RWPDTriDiagFact<T> encapsulate factorizations of positive definite symmetric matrices, which are Hermitians in the complex case. These classes produce a valid factorization only if the matrix being factored is positive definite. If the matrix is not positive definite, attempting to use the factorization to solve a system of equations results in an exception being thrown. To test if the factorization is valid, use the good or fail member functions.

Example

Public Constructors

RWGenFact<T>();
RWPDFact();
RWPDBandFact();
RWPDTriDiagFact();
RWGenFact<T>(const RWGenMat<T>& A, bool ec=true);
RWPDFact<T>(const RWSymMat<T>& A, bool ec=true);
RWPDBandFact<T>(const RWBandMat<T>& A, 
bool ec=true); RWPDTriDiagFact<T>(const RWTriDiagMat<T>& A,
bool ec=true);

Public Member Functions

unsigned    
cols() const;
void  
factor(const RWGenMat<T>& A, bool void ec=true);
bool    
fail() const; bool
good() const;
bool
isPD() const;
bool    
isSingular() const;
unsigned    
rows() const;
float       condition(const RWPDFact<float>& A);
double      condition(const RWPDFact<double>& A);
double      condition(const RWPDFact<DComplex>& A);
float       condition(const RWPDBandFact<float>& A);
double      condition(const RWPDBandFact<double>& A);
double      condition(const RWPDBandFact<DComplex>&
A); float condition(const RWPDTriDiagFact<float>&
A); double condition(const RWPDTriDiagFact<double>&
A); double condition(const
RWPDTriDiagFact<DComplex>& A); double condition(const RWGenFact<T>& A);
T           determinant(const RWGenFact<T>& A);
T           determinant(const RWPDFact<T>& A);
T           determinant(const RWPDBandFact<T>& A);
T           determinant(const RWPDTriDiagFact<T>& A);
RWGenMat<T>              inverse(const
RWGenFact<T>&); RWSymMat<float> inverse(const
RWPDFact<float>&); RWSymMat<double> inverse(const
RWPDFact<double>&); RWHermMat<DComplex> inverse(const
RWPDFact<DComplex>&);
RWMathVec<T>          solve(const RWGenFact<T>& A, 
                            const RWMathVec<T>& b);
RWMathVec<T>          solve(const RWPDFact<T>& A, 
                            const RWMathVec<T>& b);
RWMathVec<T>          solve(const RWPDBandFact<T>& A, 
                            const RWMathVec<T>& b);
RWMathVec<T>          solve(const RWPDTriDiagFact<T>&
A, const RWMathVec<T>&);
RWGenMat<T>           solve(const RWGenFact<T>& A, 
                            const RWGenMat<T>& B);
RWGenMat<T>           solve(const RWPDFact<T>& A, 
                            const RWGenMat<T>& B);
RWGenMat<T>           solve(const RWPDBandFact<T>& A, 
                            const RWGenMat<T>&);
RWGenMat<T>           solve(const RWPDTriDiagFact<T>&
                            A, const RWGenMat<T>& B);


Previous fileTop of DocumentContentsIndex pageNext file

© Copyright Rogue Wave Software, Inc. All Rights Reserved.
Rogue Wave and SourcePro are registered trademarks of Rogue Wave Software, Inc. in the United States and other countries. All other trademarks are the property of their respective owners.
Contact Rogue Wave about documentation or support issues.