chrono::modal::callback_Ax_sparse_shiftinvert Class Reference
Description
The callback to be used for "A*x" where for shift&invert is: A = (As - sigma Bs)/Bs , so A*x = (As - sigma Bs)/(Bs*x), just like a linear system with coefficient matrix (As - sigma Bs) and known rhs Bs*x.
#include <ChKrylovSchurEig.h>
Inheritance diagram for chrono::modal::callback_Ax_sparse_shiftinvert:

Collaboration diagram for chrono::modal::callback_Ax_sparse_shiftinvert:

Public Member Functions | |
callback_Ax_sparse_shiftinvert (const chrono::ChSparseMatrix &As, const chrono::ChSparseMatrix &Bs, double shift, ChDirectSolverLS *mlinear_solver=0) | |
void | compute (chrono::ChVectorDynamic< std::complex< double > > &A_x, const chrono::ChVectorDynamic< std::complex< double > > &x) override |
![]() |
Public Attributes | |
ChDirectSolverLS * | linear_solver |
chrono::ChSparseMatrix | Bd |
float | default_solver |
double | sigma |
Constructor & Destructor Documentation
◆ callback_Ax_sparse_shiftinvert()
chrono::modal::callback_Ax_sparse_shiftinvert::callback_Ax_sparse_shiftinvert | ( | const chrono::ChSparseMatrix & | As, |
const chrono::ChSparseMatrix & | Bs, | ||
double | shift, | ||
ChDirectSolverLS * | mlinear_solver = 0 ) |
- Parameters
-
As unshifted matrix A Bs unshifted matrix B shift shift (sigma in the equation) mlinear_solver optional direct solver/factorization. Default is ChSolverSparseQR
Member Function Documentation
◆ compute()
|
overridevirtual |
- Parameters
-
A_x output: result of A*x x input: x in A*x
Reimplemented from chrono::modal::callback_Ax.
The documentation for this class was generated from the following files:
- C:/M/B/src/chrono-9.0.1/src/chrono_modal/ChKrylovSchurEig.h
- C:/M/B/src/chrono-9.0.1/src/chrono_modal/ChKrylovSchurEig.cpp