SourcePro® API Reference Guide

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

Server for the positive definite QR method of computing eigenvalues. More...

#include <rw/lapack/seigsrv.h>

Inheritance diagram for RWSymPDQREigServer< TypeT >:
RWSymEigServer< TypeT >

Public Member Functions

 RWSymPDQREigServer (bool computeVecs=true)
 
virtual bool computeEigenVectors () const
 
void computeEigenVectors (bool computeVecs)
 
virtual RWSymEigDecomp< TypeT > decompose (const RWTriDiagDecomp< TypeT > &A)
 
- Public Member Functions inherited from RWSymEigServer< TypeT >
virtual RWSymEigDecomp< TypeT > operator() (const RWSymBandMat< TypeT > &A)
 
virtual RWSymEigDecomp< TypeT > operator() (const RWSymMat< TypeT > &A)
 

Detailed Description

template<class TypeT>
class RWSymPDQREigServer< TypeT >

The class RWSymPDQREigServer 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 RWSymEigDecomp. Use of this server with positive definite matrices can result in much more accurate eigenvalues and eigenvectors.

Synopsis
#include <rw/lapack/seigsrv.h>
RWSymEigDecomp<double> eig = server(A); // A is a RWSymBandMat<double>
Encapsulates the eigenvalues and eigenvectors of a symmetric matrix.
Definition symeig.h:86
Server for the positive definite QR method of computing eigenvalues.
Definition seigsrv.h:247
Example
#include <rw/lapack/seigsrv.h>
#include <iostream>
int main() {
RWSymMat<double> A; // input a matrix
std::cin >> A;
RWSymPDQREigServer<double> server; // configure a server
server.computeEigenVectors(false); // turn off eigenvectors
RWSymEigDecomp<double> eig = server(A);
return 0;
}
Represents a symmetric matrix.
Definition symmat.h:112
virtual bool computeEigenVectors() const

Constructor & Destructor Documentation

◆ RWSymPDQREigServer()

template<class TypeT >
RWSymPDQREigServer< TypeT >::RWSymPDQREigServer ( 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 RWSymPDQREigServer< TypeT >::computeEigenVectors ( ) const
virtual

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

Implements RWSymEigServer< TypeT >.

◆ computeEigenVectors() [2/2]

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

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

◆ decompose()

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

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

Implements RWSymEigServer< TypeT >.

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