Go to the documentation of this file.
7 #ifndef SPECTRA_GEN_EIGS_COMPLEX_SHIFT_SOLVER_H
8 #define SPECTRA_GEN_EIGS_COMPLEX_SHIFT_SOLVER_H
32 template <
typename OpType = DenseGenComplexShiftSolve<
double>>
79 SimpleRandom<Scalar>
rng(0);
98 const Complex root1 = root_part1 + root_part2;
99 const Complex root2 = root_part1 - root_part2;
103 for (
int k = 0;
k <
m_n;
k++)
108 err1 += norm(OPv - rhs1);
109 err2 += norm(OPv - rhs2);
112 const Complex lambdaj = (err1 < err2) ? root1 : root2;
159 #endif // SPECTRA_GEN_EIGS_COMPLEX_SHIFT_SOLVER_H
void perform_op(const Scalar *x_in, Scalar *y_out) const
virtual void sort_ritzpair(SortRule sort_rule)
const Matrix & matrix_V() const
void set_shift(const Scalar &sigmar, const Scalar &sigmai)
General-purpose arrays with easy API for coefficient-wise operations.
typename OpType::Scalar Scalar
void sort_ritzpair(SortRule sort_rule) override
const EIGEN_DEVICE_FUNC ImagReturnType imag() const
AnnoyingScalar conj(const AnnoyingScalar &x)
GenEigsComplexShiftSolver(OpType &op, Index nev, Index ncv, const Scalar &sigmar, const Scalar &sigmai)
std::complex< Scalar > Complex
EIGEN_DEVICE_FUNC const EIGEN_STRONG_INLINE Scalar * data() const
Jet< T, N > sqrt(const Jet< T, N > &f)
static constexpr double k
EIGEN_DEFAULT_DENSE_INDEX_TYPE Index
The Index type as used for the API.
gtsam
Author(s):
autogenerated on Wed May 28 2025 03:01:19