ccgsl 2.7.2
C++wrappersforGnuScientificLibrary
gsl::eigen Namespace Reference

This namespace contains functions for calculating eigenvectors and eigenvalues. More...

Classes

class  gen_workspace
 Workspace for eigen_gen. More...
 
class  genherm_workspace
 Workspace for genhermetric matrices. More...
 
class  genhermv_workspace
 Workspace for real genhermetric matrices (eigenvectors and eigenvalues) More...
 
class  gensymm_workspace
 Workspace for gensymmetric matrices. More...
 
class  gensymmv_workspace
 Workspace for real gensymmetric matrices (eigenvectors and eigenvalues) More...
 
class  genv_workspace
 Workspace for real genetric matrices (eigenvectors and eigenvalues) More...
 
class  herm_workspace
 Workspace for Hermitian matrices. More...
 
class  hermv_workspace
 Workspace for real hermetric matrices (eigenvectors and eigenvalues) More...
 
class  nonsymm_workspace
 Workspace for nonsymmetric matrices. More...
 
class  nonsymmv_workspace
 Workspace for real nonsymmetric matrices (eigenvectors and eigenvalues) More...
 
class  symm_workspace
 Workspace for real symmetric matrices. More...
 
class  symmv_workspace
 Workspace for real symmetric matrices (eigenvectors and eigenvalues) More...
 

Functions

int symmv_sort (vector &eval, matrix &evec, gsl_eigen_sort_t sort_type)
 C++ version of gsl_eigen_symmv_sort(). More...
 
int hermv_sort (vector &eval, matrix_complex &evec, gsl_eigen_sort_t sort_type)
 C++ version of gsl_eigen_hermv_sort(). More...
 
int nonsymmv_sort (vector_complex &eval, matrix_complex &evec, gsl_eigen_sort_t sort_type)
 C++ version of gsl_eigen_nonsymmv_sort(). More...
 
int gensymmv_sort (vector &eval, matrix &evec, gsl_eigen_sort_t sort_type)
 C++ version of gsl_eigen_gensymmv_sort(). More...
 
int genhermv_sort (vector &eval, matrix_complex &evec, gsl_eigen_sort_t sort_type)
 C++ version of gsl_eigen_genhermv_sort(). More...
 
int genv_sort (vector_complex &alpha, vector &beta, matrix_complex &evec, gsl_eigen_sort_t sort_type)
 C++ version of gsl_eigen_genv_sort(). More...
 
int gen (gsl::matrix &A, gsl::matrix &B, gsl::vector_complex &alpha, gsl::vector &beta, gen_workspace &w)
 C++ version of gsl_eigen_gen(). More...
 
int genv (gsl::matrix &A, gsl::matrix &B, gsl::vector_complex &alpha, gsl::vector &beta, gsl::matrix_complex &evec, genv_workspace &w)
 C++ version of gsl_eigen_genv(). More...
 
void gen_params (int const compute_s, int const compute_t, int const balance, gen_workspace &w)
 C++ version of gsl_eigen_gen_params(). More...
 
int gen_QZ (gsl::matrix &A, gsl::matrix &B, gsl::vector_complex &alpha, gsl::vector &beta, gsl::matrix &Q, gsl::matrix &Z, gen_workspace &w)
 C++ version of gsl_eigen_gen_QZ(). More...
 
int genv_QZ (gsl::matrix &A, gsl::matrix &B, gsl::vector_complex &alpha, gsl::vector &beta, gsl::matrix_complex &evec, gsl::matrix &Q, gsl::matrix &Z, genv_workspace &w)
 C++ version of gsl_eigen_genv_QZ(). More...
 
int genherm (gsl::matrix_complex &A, gsl::matrix_complex &B, gsl::vector &eval, genherm_workspace &w)
 C++ version of gsl_eigen_genherm(). More...
 
int genhermv (gsl::matrix_complex &A, gsl::matrix_complex &B, gsl::vector &eval, gsl::matrix_complex &evec, genhermv_workspace &w)
 C++ version of gsl_eigen_genhermv(). More...
 
int gensymm (gsl::matrix &A, gsl::matrix &B, gsl::vector &eval, gensymm_workspace &w)
 C++ version of gsl_eigen_gensymm(). More...
 
int gensymmv (gsl::matrix &A, gsl::matrix &B, gsl::vector &eval, gsl::matrix &evec, gensymmv_workspace &w)
 C++ version of gsl_eigen_gensymmv(). More...
 
int herm (gsl::matrix_complex &A, gsl::vector &eval, herm_workspace &w)
 C++ version of gsl_eigen_herm(). More...
 
int hermv (gsl::matrix_complex &A, gsl::vector &eval, gsl::matrix_complex &evec, hermv_workspace &w)
 C++ version of gsl_eigen_hermv(). More...
 
int nonsymm (gsl::matrix &A, gsl::vector_complex &eval, nonsymm_workspace &w)
 C++ version of gsl_eigen_nonsymm(). More...
 
int nonsymmv (gsl::matrix &A, gsl::vector_complex &eval, gsl::matrix_complex &evec, nonsymmv_workspace &w)
 C++ version of gsl_eigen_nonsymmv(). More...
 
void nonsymm_params (int const compute_t, int const balance, nonsymm_workspace &w)
 C++ version of gsl_eigen_nonsymm_params(). More...
 
int nonsymm_Z (gsl::matrix &A, gsl::vector_complex &eval, gsl::matrix &Z, nonsymm_workspace &w)
 C++ version of gsl_eigen_nonsymm_Z(). More...
 
int nonsymmv_Z (gsl::matrix &A, gsl::vector_complex &eval, gsl::matrix_complex &evec, gsl::matrix &Z, nonsymmv_workspace &w)
 C++ version of gsl_eigen_nonsymmv_Z(). More...
 
int symm (gsl::matrix &A, gsl::vector &eval, symm_workspace &w)
 C++ version of gsl_eigen_symm(). More...
 
int symmv (gsl::matrix &A, gsl::vector &eval, gsl::matrix &evec, symmv_workspace &w)
 C++ version of gsl_eigen_symmv(). More...
 

Variables

gsl_eigen_sort_t const SORT_VAL_ASC = GSL_EIGEN_SORT_VAL_ASC
 Sort in ascending order. More...
 
gsl_eigen_sort_t const SORT_VAL_DESC = GSL_EIGEN_SORT_VAL_DESC
 Sort in descending order. More...
 
gsl_eigen_sort_t const SORT_VAL_ABS_ASC = GSL_EIGEN_SORT_ABS_ASC
 Sort in ascending order by absoulte size. More...
 
gsl_eigen_sort_t const SORT_VAL_ABS_DESC = GSL_EIGEN_SORT_ABS_DESC
 Sort in descending order by absolute size. More...
 

Detailed Description

This namespace contains functions for calculating eigenvectors and eigenvalues.

Function Documentation

◆ gen()

int gsl::eigen::gen ( gsl::matrix A,
gsl::matrix B,
gsl::vector_complex alpha,
gsl::vector beta,
gen_workspace w 
)
inline

C++ version of gsl_eigen_gen().

Computes the eigenvalues of A and stores them (unordered) in eval. The diagonal and lower triangle of A are altered. The workspace should have size n, where A has n rows and columns.

Parameters
AA matrix (should be square)
BA matrix (should be square)
alphaThis is where the eigenvalues are stored
betaThis is where the eigenvalues are stored
wA workspace
Returns
Error code on failure

Definition at line 254 of file eigen_gen.hpp.

References gsl::ran::beta(), gsl::matrix::get(), gsl::vector_complex::get(), and gsl::eigen::gen_workspace::get().

◆ gen_params()

void gsl::eigen::gen_params ( int const  compute_s,
int const  compute_t,
int const  balance,
gen_workspace w 
)
inline

C++ version of gsl_eigen_gen_params().

Parameters
compute_sAn integer
compute_tAn integer
balanceAn integer
wA workspace

Definition at line 484 of file eigen_gen.hpp.

References gsl::eigen::gen_workspace::get().

◆ gen_QZ()

int gsl::eigen::gen_QZ ( gsl::matrix A,
gsl::matrix B,
gsl::vector_complex alpha,
gsl::vector beta,
gsl::matrix Q,
gsl::matrix Z,
gen_workspace w 
)
inline

C++ version of gsl_eigen_gen_QZ().

Computes the eigenvalues of A and stores them (unordered) in eval. The diagonal and lower triangle of A are altered. The workspace should have size n, where A has n rows and columns.

Parameters
AA matrix (should be square)
BA matrix (should be square)
alphaThis is where the eigenvalues are stored
betaThis is where the eigenvalues are stored
QA matrix (should be square)
ZA matrix (should be square)
wA workspace
Returns
Error code on failure

Definition at line 501 of file eigen_gen.hpp.

References gsl::ran::beta(), gsl::matrix::get(), gsl::vector_complex::get(), and gsl::eigen::gen_workspace::get().

◆ genherm()

int gsl::eigen::genherm ( gsl::matrix_complex A,
gsl::matrix_complex B,
gsl::vector eval,
genherm_workspace w 
)
inline

C++ version of gsl_eigen_genherm().

Computes the eigenvalues of A and stores them (unordered) in eval. The diagonal and lower triangle of A are altered. The workspace should have size n, where A has n rows and columns.

Parameters
AA matrix (should be square)
BA matrix (should be square)
evalThis is where the eigenvalues are stored
wA workspace
Returns
Error code on failure

Definition at line 253 of file eigen_genherm.hpp.

References gsl::bspline::eval(), gsl::matrix_complex::get(), and gsl::eigen::genherm_workspace::get().

◆ genhermv()

int gsl::eigen::genhermv ( gsl::matrix_complex A,
gsl::matrix_complex B,
gsl::vector eval,
gsl::matrix_complex evec,
genhermv_workspace w 
)
inline

C++ version of gsl_eigen_genhermv().

Computes the eigenvalues of A and stores them (unordered) in eval. The diagonal and lower triangle of A are altered. The workspace should have size n, where A has n rows and columns.

Parameters
AA matrix (should be square)
BA matrix (should be square)
evalThis is where the eigenvalues are stored
evecThis is where the eigenvectors are stored
wA workspace
Returns
Error code on failure

Definition at line 473 of file eigen_genherm.hpp.

References gsl::bspline::eval(), gsl::matrix_complex::get(), and gsl::eigen::genhermv_workspace::get().

◆ genhermv_sort()

int gsl::eigen::genhermv_sort ( vector eval,
matrix_complex evec,
gsl_eigen_sort_t  sort_type 
)
inline

C++ version of gsl_eigen_genhermv_sort().

Parameters
evalA vector of eigenvalues
evecA matrix of eigenvectors
sort_typeSpecify the ordering of the eigenvalues and eigenvectors
Returns
GSL_SUCCESS or GSL_EBADLEN

Definition at line 93 of file eigen.hpp.

References gsl::bspline::eval(), and gsl::matrix_complex::get().

◆ gensymm()

int gsl::eigen::gensymm ( gsl::matrix A,
gsl::matrix B,
gsl::vector eval,
gensymm_workspace w 
)
inline

C++ version of gsl_eigen_gensymm().

Computes the eigenvalues of A and stores them (unordered) in eval. The diagonal and lower triangle of A are altered. The workspace should have size n, where A has n rows and columns.

Parameters
AA matrix (should be square)
BA matrix (should be square)
evalThis is where the eigenvalues are stored
wA workspace
Returns
Error code on failure

Definition at line 253 of file eigen_gensymm.hpp.

References gsl::bspline::eval(), gsl::matrix::get(), and gsl::eigen::gensymm_workspace::get().

◆ gensymmv()

int gsl::eigen::gensymmv ( gsl::matrix A,
gsl::matrix B,
gsl::vector eval,
gsl::matrix evec,
gensymmv_workspace w 
)
inline

C++ version of gsl_eigen_gensymmv().

Computes the eigenvalues of A and stores them (unordered) in eval. The diagonal and lower triangle of A are altered. The workspace should have size n, where A has n rows and columns.

Parameters
AA matrix (should be square)
BA matrix (should be square)
evalThis is where the eigenvalues are stored
evecThis is where the eigenvectors are stored
wA workspace
Returns
Error code on failure

Definition at line 473 of file eigen_gensymm.hpp.

References gsl::bspline::eval(), gsl::matrix::get(), and gsl::eigen::gensymmv_workspace::get().

◆ gensymmv_sort()

int gsl::eigen::gensymmv_sort ( vector eval,
matrix evec,
gsl_eigen_sort_t  sort_type 
)
inline

C++ version of gsl_eigen_gensymmv_sort().

Parameters
evalA vector of eigenvalues
evecA matrix of eigenvectors
sort_typeSpecify the ordering of the eigenvalues and eigenvectors
Returns
GSL_SUCCESS or GSL_EBADLEN

Definition at line 84 of file eigen.hpp.

References gsl::bspline::eval(), and gsl::matrix::get().

◆ genv()

int gsl::eigen::genv ( gsl::matrix A,
gsl::matrix B,
gsl::vector_complex alpha,
gsl::vector beta,
gsl::matrix_complex evec,
genv_workspace w 
)
inline

C++ version of gsl_eigen_genv().

Computes the eigenvalues of A and stores them (unordered) in eval. The diagonal and lower triangle of A are altered. The workspace should have size n, where A has n rows and columns.

Parameters
AA matrix (should be square)
BA matrix (should be square)
alphaThis is where the eigenvalues are stored
betaThis is where the eigenvalues are stored
evecThis is where the eigenvectors are stored
wA workspace
Returns
Error code on failure

Definition at line 474 of file eigen_gen.hpp.

References gsl::ran::beta(), gsl::matrix::get(), gsl::matrix_complex::get(), gsl::vector_complex::get(), and gsl::eigen::genv_workspace::get().

◆ genv_QZ()

int gsl::eigen::genv_QZ ( gsl::matrix A,
gsl::matrix B,
gsl::vector_complex alpha,
gsl::vector beta,
gsl::matrix_complex evec,
gsl::matrix Q,
gsl::matrix Z,
genv_workspace w 
)
inline

C++ version of gsl_eigen_genv_QZ().

Computes the eigenvalues of A and stores them (unordered) in eval. The diagonal and lower triangle of A are altered. The workspace should have size n, where A has n rows and columns.

Parameters
AA matrix (should be square)
BA matrix (should be square)
alphaThis is where the eigenvalues are stored
betaThis is where the eigenvalues are stored
evecThis is where the eigenvectors are stored
QA matrix (should be square)
ZA matrix (should be square)
wA workspace
Returns
Error code on failure

Definition at line 519 of file eigen_gen.hpp.

References gsl::ran::beta(), gsl::matrix::get(), gsl::matrix_complex::get(), gsl::vector_complex::get(), and gsl::eigen::genv_workspace::get().

◆ genv_sort()

int gsl::eigen::genv_sort ( vector_complex alpha,
vector beta,
matrix_complex evec,
gsl_eigen_sort_t  sort_type 
)
inline

C++ version of gsl_eigen_genv_sort().

Parameters
alphaA vector of eigenvalues
betaA vector of eigenvalues
evecA matrix of eigenvectors
sort_typeSpecify the ordering of the eigenvalues and eigenvectors
Returns
GSL_SUCCESS or GSL_EBADLEN

Definition at line 103 of file eigen.hpp.

References gsl::ran::beta(), gsl::matrix_complex::get(), and gsl::vector_complex::get().

◆ herm()

int gsl::eigen::herm ( gsl::matrix_complex A,
gsl::vector eval,
herm_workspace w 
)
inline

C++ version of gsl_eigen_herm().

Computes the eigenvalues of A and stores them (unordered) in eval. The diagonal and lower triangle of A are altered. The workspace should have size n, where A has n rows and columns.

Parameters
AA matrix (should be square)
evalThis is where the eigenvalues are stored
wA workspace
Returns
Error code on failure

Definition at line 251 of file eigen_herm.hpp.

References gsl::bspline::eval(), gsl::matrix_complex::get(), and gsl::eigen::herm_workspace::get().

◆ hermv()

int gsl::eigen::hermv ( gsl::matrix_complex A,
gsl::vector eval,
gsl::matrix_complex evec,
hermv_workspace w 
)
inline

C++ version of gsl_eigen_hermv().

Computes the eigenvalues of A and stores them (unordered) in eval. The diagonal and lower triangle of A are altered. The workspace should have size n, where A has n rows and columns.

Parameters
AA matrix (should be square)
evalThis is where the eigenvalues are stored
evecThis is where the eigenvectors are stored
wA workspace
Returns
Error code on failure

Definition at line 469 of file eigen_herm.hpp.

References gsl::bspline::eval(), gsl::matrix_complex::get(), and gsl::eigen::hermv_workspace::get().

◆ hermv_sort()

int gsl::eigen::hermv_sort ( vector eval,
matrix_complex evec,
gsl_eigen_sort_t  sort_type 
)
inline

C++ version of gsl_eigen_hermv_sort().

Parameters
evalA vector of eigenvalues
evecA matrix of eigenvectors
sort_typeSpecify the ordering of the eigenvalues and eigenvectors
Returns
GSL_SUCCESS or GSL_EBADLEN

Definition at line 65 of file eigen.hpp.

References gsl::bspline::eval(), and gsl::matrix_complex::get().

◆ nonsymm()

int gsl::eigen::nonsymm ( gsl::matrix A,
gsl::vector_complex eval,
nonsymm_workspace w 
)
inline

C++ version of gsl_eigen_nonsymm().

Computes the eigenvalues of A and stores them (unordered) in eval. The diagonal and lower triangle of A are altered. The workspace should have size n, where A has n rows and columns.

Parameters
AA matrix (should be square)
evalThis is where the eigenvalues are stored
wA workspace
Returns
Error code on failure

Definition at line 252 of file eigen_nonsymm.hpp.

References gsl::bspline::eval(), gsl::matrix::get(), and gsl::eigen::nonsymm_workspace::get().

◆ nonsymm_params()

void gsl::eigen::nonsymm_params ( int const  compute_t,
int const  balance,
nonsymm_workspace w 
)
inline

C++ version of gsl_eigen_nonsymm_params().

Parameters
compute_tAn integer
balanceAn integer
wA workspace

Definition at line 479 of file eigen_nonsymm.hpp.

References gsl::eigen::nonsymm_workspace::get().

◆ nonsymm_Z()

int gsl::eigen::nonsymm_Z ( gsl::matrix A,
gsl::vector_complex eval,
gsl::matrix Z,
nonsymm_workspace w 
)
inline

C++ version of gsl_eigen_nonsymm_Z().

Computes the eigenvalues of A and stores them (unordered) in eval. The diagonal and lower triangle of A are altered. The workspace should have size n, where A has n rows and columns.

Parameters
AA matrix (should be square)
evalThis is where the eigenvalues are stored
ZA matrix (should be square)
wA workspace
Returns
Error code on failure

Definition at line 492 of file eigen_nonsymm.hpp.

References gsl::bspline::eval(), gsl::matrix::get(), and gsl::eigen::nonsymm_workspace::get().

◆ nonsymmv()

int gsl::eigen::nonsymmv ( gsl::matrix A,
gsl::vector_complex eval,
gsl::matrix_complex evec,
nonsymmv_workspace w 
)
inline

C++ version of gsl_eigen_nonsymmv().

Computes the eigenvalues of A and stores them (unordered) in eval. The diagonal and lower triangle of A are altered. The workspace should have size n, where A has n rows and columns.

Parameters
AA matrix (should be square)
evalThis is where the eigenvalues are stored
evecThis is where the eigenvectors are stored
wA workspace
Returns
Error code on failure

Definition at line 470 of file eigen_nonsymm.hpp.

References gsl::bspline::eval(), gsl::matrix::get(), gsl::matrix_complex::get(), and gsl::eigen::nonsymmv_workspace::get().

◆ nonsymmv_sort()

int gsl::eigen::nonsymmv_sort ( vector_complex eval,
matrix_complex evec,
gsl_eigen_sort_t  sort_type 
)
inline

C++ version of gsl_eigen_nonsymmv_sort().

Parameters
evalA vector of eigenvalues
evecA matrix of eigenvectors
sort_typeSpecify the ordering of the eigenvalues and eigenvectors
Returns
GSL_SUCCESS or GSL_EBADLEN

Definition at line 74 of file eigen.hpp.

References gsl::bspline::eval(), and gsl::matrix_complex::get().

◆ nonsymmv_Z()

int gsl::eigen::nonsymmv_Z ( gsl::matrix A,
gsl::vector_complex eval,
gsl::matrix_complex evec,
gsl::matrix Z,
nonsymmv_workspace w 
)
inline

C++ version of gsl_eigen_nonsymmv_Z().

Computes the eigenvalues of A and stores them (unordered) in eval. The diagonal and lower triangle of A are altered. The workspace should have size n, where A has n rows and columns.

Parameters
AA matrix (should be square)
evalThis is where the eigenvalues are stored
evecThis is where the eigenvectors are stored
ZA matrix (should be square)
wA workspace
Returns
Error code on failure

Definition at line 507 of file eigen_nonsymm.hpp.

References gsl::bspline::eval(), gsl::matrix::get(), gsl::matrix_complex::get(), and gsl::eigen::nonsymmv_workspace::get().

◆ symm()

int gsl::eigen::symm ( gsl::matrix A,
gsl::vector eval,
symm_workspace w 
)
inline

C++ version of gsl_eigen_symm().

Computes the eigenvalues of A and stores them (unordered) in eval. The diagonal and lower triangle of A are altered. The workspace should have size n, where A has n rows and columns.

Parameters
AA matrix (should be square)
evalThis is where the eigenvalues are stored
wA workspace
Returns
Error code on failure

Definition at line 251 of file eigen_symm.hpp.

References gsl::bspline::eval(), gsl::matrix::get(), and gsl::eigen::symm_workspace::get().

◆ symmv()

int gsl::eigen::symmv ( gsl::matrix A,
gsl::vector eval,
gsl::matrix evec,
symmv_workspace w 
)
inline

C++ version of gsl_eigen_symmv().

Computes the eigenvalues of A and stores them (unordered) in eval. The diagonal and lower triangle of A are altered. The workspace should have size n, where A has n rows and columns.

Parameters
AA matrix (should be square)
evalThis is where the eigenvalues are stored
evecThis is where the eigenvectors are stored
wA workspace
Returns
Error code on failure

Definition at line 469 of file eigen_symm.hpp.

References gsl::bspline::eval(), gsl::matrix::get(), and gsl::eigen::symmv_workspace::get().

◆ symmv_sort()

int gsl::eigen::symmv_sort ( vector eval,
matrix evec,
gsl_eigen_sort_t  sort_type 
)
inline

C++ version of gsl_eigen_symmv_sort().

Parameters
evalA vector of eigenvalues
evecA matrix of eigenvectors
sort_typeSpecify the ordering of the eigenvalues and eigenvectors
Returns
GSL_SUCCESS or GSL_EBADLEN

Definition at line 56 of file eigen.hpp.

References gsl::bspline::eval(), and gsl::matrix::get().

Variable Documentation

◆ SORT_VAL_ABS_ASC

gsl_eigen_sort_t const gsl::eigen::SORT_VAL_ABS_ASC = GSL_EIGEN_SORT_ABS_ASC

Sort in ascending order by absoulte size.

Definition at line 44 of file eigen.hpp.

◆ SORT_VAL_ABS_DESC

gsl_eigen_sort_t const gsl::eigen::SORT_VAL_ABS_DESC = GSL_EIGEN_SORT_ABS_DESC

Sort in descending order by absolute size.

Definition at line 48 of file eigen.hpp.

◆ SORT_VAL_ASC

gsl_eigen_sort_t const gsl::eigen::SORT_VAL_ASC = GSL_EIGEN_SORT_VAL_ASC

Sort in ascending order.

Definition at line 36 of file eigen.hpp.

◆ SORT_VAL_DESC

gsl_eigen_sort_t const gsl::eigen::SORT_VAL_DESC = GSL_EIGEN_SORT_VAL_DESC

Sort in descending order.

Definition at line 40 of file eigen.hpp.