SourcePro® API Reference Guide

 
Loading...
Searching...
No Matches
RWHermPDQREigServer< TypeT > Class Template Reference

The server for the positive definite QR method of computing eigenvalues. More...

#include <rw/lapack/heigsrv.h>

Inheritance diagram for RWHermPDQREigServer< TypeT >:
RWHermEigServer< TypeT >

Public Member Functions

 RWHermPDQREigServer (bool computeVecs=true)
 
virtual bool computeEigenVectors () const
 
void computeEigenVectors (bool computeVecs)
 
virtual RWSymEigDecomp< double > decompose (const RWTriDiagDecomp< TypeT > &A)
 
- Public Member Functions inherited from RWHermEigServer< TypeT >
virtual RWHermEigDecomp< TypeT > operator() (const RWHermBandMat< TypeT > &A)
 
virtual RWHermEigDecomp< TypeT > operator() (const RWHermMat< TypeT > &A)
 

Detailed Description

template<class TypeT>
class RWHermPDQREigServer< TypeT >

The class RWHermPDQREigServer is the server for the positive definite QR method of computing eigenvalues. This server applies only to matrices that you know are positive definite. Trying to use it on nonpositive definite matrices results in a decomposition with the incomplete flag set; you can test for this in the class RWHermEigDecomp. Use of this server with positive definite matrices can result in much more accurate eigenvalues and eigenvectors.

Synopsis
#include <rw/lapack/heigsrv.h>
RWHermEigDecomp<DComplex> eig = server(A); // A is a
// RWHermBandMat<DComplex>
Encapsulates the eigenvalues and eigenvectors of a Hermitian matrix.
Definition hermeig.h:80
The server for the positive definite QR method of computing eigenvalues.
Definition heigsrv.h:257
Example
#include <rw/lapack/heigsrv.h>
#include <iostream>
int main() {
RWHermMat<DComplex> A; // input a matrix
std::cin >> A;
RWHermPDQREigServer<DComplex> server; // configure a server
server.computeEigenVectors(false); // turn off eigenvectors
RWHermEigDecomp<DComplex> eig = server(A);
return 0;
}
Encapsulates a Hermitian matrix.
Definition hermmat.h:118
virtual bool computeEigenVectors() const

Constructor & Destructor Documentation

◆ RWHermPDQREigServer()

template<class TypeT >
RWHermPDQREigServer< TypeT >::RWHermPDQREigServer ( bool computeVecs = true)

Constructs a server. The parameter indicates whether this server should be configured to compute eigenvectors as well as eigenvalues.

Member Function Documentation

◆ computeEigenVectors() [1/2]

template<class TypeT >
virtual bool RWHermPDQREigServer< TypeT >::computeEigenVectors ( ) const
virtual

Returns true if this server is configured to compute eigenvectors as well as eigenvalues.

Implements RWHermEigServer< TypeT >.

◆ computeEigenVectors() [2/2]

template<class TypeT >
void RWHermPDQREigServer< TypeT >::computeEigenVectors ( bool computeVecs)

Sets whether or not the server should compute eigenvectors as well as eigenvalues.

◆ decompose()

template<class TypeT >
virtual RWSymEigDecomp< double > RWHermPDQREigServer< TypeT >::decompose ( const RWTriDiagDecomp< TypeT > & A)
virtual

Computes the eigenvalue decomposition of the tridiagonal matrix inside the tridiagonal decomposition.

Implements RWHermEigServer< TypeT >.

Copyright © 2024 Rogue Wave Software, Inc., a Perforce company. All Rights Reserved.