GNU Octave  4.4.1
A high-level interpreted language, primarily intended for numerical computations, mostly compatible with Matlab
EIG Class Reference

#include "EIG.h"

Collaboration diagram for EIG:

Public Member Functions

 EIG (void)
 
 EIG (const Matrix &a, bool calc_rev=true, bool calc_lev=true, bool balance=true)
 
 EIG (const Matrix &a, octave_idx_type &info, bool calc_rev=true, bool calc_lev=true, bool balance=true)
 
 EIG (const Matrix &a, const Matrix &b, bool calc_rev=true, bool calc_lev=true, bool force_qz=false)
 
 EIG (const Matrix &a, const Matrix &b, octave_idx_type &info, bool calc_rev=true, bool calc_lev=true, bool force_qz=false)
 
 EIG (const ComplexMatrix &a, bool calc_rev=true, bool calc_lev=true, bool balance=true)
 
 EIG (const ComplexMatrix &a, octave_idx_type &info, bool calc_rev=true, bool calc_lev=true, bool balance=true)
 
 EIG (const ComplexMatrix &a, const ComplexMatrix &b, bool calc_rev=true, bool calc_lev=true, bool force_qz=false)
 
 EIG (const ComplexMatrix &a, const ComplexMatrix &b, octave_idx_type &info, bool calc_rev=true, bool calc_lev=true, bool force_qz=false)
 
 EIG (const EIG &a)
 
 ~EIG (void)=default
 
ComplexColumnVector eigenvalues (void) const
 
ComplexMatrix left_eigenvectors (void) const
 
EIGoperator= (const EIG &a)
 
ComplexMatrix right_eigenvectors (void) const
 

Private Member Functions

octave_idx_type hermitian_init (const ComplexMatrix &a, bool calc_rev, bool calc_lev)
 
octave_idx_type hermitian_init (const ComplexMatrix &a, const ComplexMatrix &b, bool calc_rev, bool calc_lev)
 
octave_idx_type init (const Matrix &a, bool calc_rev, bool calc_lev, bool balance)
 
octave_idx_type init (const Matrix &a, const Matrix &b, bool calc_rev, bool calc_lev, bool force_qz)
 
octave_idx_type init (const ComplexMatrix &a, bool calc_rev, bool calc_lev, bool balance)
 
octave_idx_type init (const ComplexMatrix &a, const ComplexMatrix &b, bool calc_rev, bool calc_lev, bool force_qz)
 
octave_idx_type symmetric_init (const Matrix &a, bool calc_rev, bool calc_lev)
 
octave_idx_type symmetric_init (const Matrix &a, const Matrix &b, bool calc_rev, bool calc_lev)
 

Private Attributes

ComplexColumnVector lambda
 
ComplexMatrix v
 
ComplexMatrix w
 

Friends

class ComplexMatrix
 
class Matrix
 
std::ostream & operator<< (std::ostream &os, const EIG &a)
 

Detailed Description

Definition at line 35 of file EIG.h.

Constructor & Destructor Documentation

◆ EIG() [1/10]

EIG::EIG ( void  )
inline

Definition at line 44 of file EIG.h.

◆ EIG() [2/10]

EIG::EIG ( const Matrix a,
bool  calc_rev = true,
bool  calc_lev = true,
bool  balance = true 
)
inline

Definition at line 46 of file EIG.h.

References a.

◆ EIG() [3/10]

EIG::EIG ( const Matrix a,
octave_idx_type info,
bool  calc_rev = true,
bool  calc_lev = true,
bool  balance = true 
)
inline

Definition at line 53 of file EIG.h.

References a.

◆ EIG() [4/10]

EIG::EIG ( const Matrix a,
const Matrix b,
bool  calc_rev = true,
bool  calc_lev = true,
bool  force_qz = false 
)
inline

Definition at line 60 of file EIG.h.

References a, and b.

◆ EIG() [5/10]

EIG::EIG ( const Matrix a,
const Matrix b,
octave_idx_type info,
bool  calc_rev = true,
bool  calc_lev = true,
bool  force_qz = false 
)
inline

Definition at line 67 of file EIG.h.

References a, and b.

◆ EIG() [6/10]

EIG::EIG ( const ComplexMatrix a,
bool  calc_rev = true,
bool  calc_lev = true,
bool  balance = true 
)
inline

Definition at line 74 of file EIG.h.

References a.

◆ EIG() [7/10]

EIG::EIG ( const ComplexMatrix a,
octave_idx_type info,
bool  calc_rev = true,
bool  calc_lev = true,
bool  balance = true 
)
inline

Definition at line 81 of file EIG.h.

References a.

◆ EIG() [8/10]

EIG::EIG ( const ComplexMatrix a,
const ComplexMatrix b,
bool  calc_rev = true,
bool  calc_lev = true,
bool  force_qz = false 
)
inline

Definition at line 88 of file EIG.h.

References a, and b.

◆ EIG() [9/10]

EIG::EIG ( const ComplexMatrix a,
const ComplexMatrix b,
octave_idx_type info,
bool  calc_rev = true,
bool  calc_lev = true,
bool  force_qz = false 
)
inline

Definition at line 95 of file EIG.h.

References a, and b.

◆ EIG() [10/10]

EIG::EIG ( const EIG a)
inline

Definition at line 103 of file EIG.h.

◆ ~EIG()

EIG::~EIG ( void  )
default

Member Function Documentation

◆ eigenvalues()

ComplexColumnVector EIG::eigenvalues ( void  ) const
inline

Definition at line 118 of file EIG.h.

Referenced by qp(), and xpow().

◆ hermitian_init() [1/2]

octave_idx_type EIG::hermitian_init ( const ComplexMatrix a,
bool  calc_rev,
bool  calc_lev 
)
private

Definition at line 330 of file EIG.cc.

References a, a_nc, ComplexMatrix, F77_DBLE_CMPLX_ARG, F77_XFCN, Array< T >::fortran_vec(), lambda, v, and w.

Referenced by init().

◆ hermitian_init() [2/2]

octave_idx_type EIG::hermitian_init ( const ComplexMatrix a,
const ComplexMatrix b,
bool  calc_rev,
bool  calc_lev 
)
private

Definition at line 708 of file EIG.cc.

References a, a_nc, b, b_nc, ComplexMatrix, F77_DBLE_CMPLX_ARG, F77_XFCN, Array< T >::fortran_vec(), lambda, v, and w.

◆ init() [1/4]

octave_idx_type EIG::init ( const Matrix a,
bool  calc_rev,
bool  calc_lev,
bool  balance 
)
private

◆ init() [2/4]

octave_idx_type EIG::init ( const Matrix a,
const Matrix b,
bool  calc_rev,
bool  calc_lev,
bool  force_qz 
)
private

◆ init() [3/4]

octave_idx_type EIG::init ( const ComplexMatrix a,
bool  calc_rev,
bool  calc_lev,
bool  balance 
)
private

◆ init() [4/4]

octave_idx_type EIG::init ( const ComplexMatrix a,
const ComplexMatrix b,
bool  calc_rev,
bool  calc_lev,
bool  force_qz 
)
private

◆ left_eigenvectors()

ComplexMatrix EIG::left_eigenvectors ( void  ) const
inline

Definition at line 120 of file EIG.h.

References Faddeeva::w().

◆ operator=()

EIG& EIG::operator= ( const EIG a)
inline

Definition at line 105 of file EIG.h.

References a, and Faddeeva::w().

◆ right_eigenvectors()

ComplexMatrix EIG::right_eigenvectors ( void  ) const
inline

Definition at line 119 of file EIG.h.

Referenced by qp(), and xpow().

◆ symmetric_init() [1/2]

octave_idx_type EIG::symmetric_init ( const Matrix a,
bool  calc_rev,
bool  calc_lev 
)
private

Definition at line 176 of file EIG.cc.

References a, a_nc, ComplexMatrix, F77_XFCN, Array< T >::fortran_vec(), lambda, v, and w.

Referenced by init().

◆ symmetric_init() [2/2]

octave_idx_type EIG::symmetric_init ( const Matrix a,
const Matrix b,
bool  calc_rev,
bool  calc_lev 
)
private

Definition at line 530 of file EIG.cc.

References a, a_nc, b, b_nc, ComplexMatrix, F77_XFCN, Array< T >::fortran_vec(), lambda, v, and w.

Friends And Related Function Documentation

◆ ComplexMatrix

friend class ComplexMatrix
friend

Definition at line 40 of file EIG.h.

Referenced by hermitian_init(), and symmetric_init().

◆ Matrix

friend class Matrix
friend

Definition at line 39 of file EIG.h.

◆ operator<<

std::ostream& operator<< ( std::ostream &  os,
const EIG a 
)
friend

Member Data Documentation

◆ lambda

ComplexColumnVector EIG::lambda
private

Definition at line 126 of file EIG.h.

Referenced by hermitian_init(), init(), and symmetric_init().

◆ v

ComplexMatrix EIG::v
private

Definition at line 127 of file EIG.h.

Referenced by hermitian_init(), init(), and symmetric_init().

◆ w

ComplexMatrix EIG::w
private

Definition at line 128 of file EIG.h.

Referenced by hermitian_init(), init(), and symmetric_init().


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