batmat 0.0.23
Batched linear algebra routines
Loading...
Searching...
No Matches
sterf.hpp File Reference

Go to the source code of this file.

Classes

struct  batmat::linalg::SterfOptions

Namespaces

namespace  batmat
namespace  batmat::linalg
namespace  batmat::linalg::detail

Functions

template<class T, class Abi>
std::expected< index_t, index_tbatmat::linalg::detail::sterf (view< T, Abi, StorageOrder::ColMajor > diag, view< T, Abi, StorageOrder::ColMajor > subdiag, SterfOptions options)
template<simdifiable Vd, simdifiable Vs>
std::expected< index_t, index_tbatmat::linalg::sterf (Vd &&diag, Vs &&subdiag, SterfOptions options={})
 Eigenvalues of a symmetric tridiagonal matrix given by diag and subdiag, computed in-place using the Pal-Walker-Kahan variant of the implicit QR/QL method with Wilkinson shifts.
template<simdifiable VA, simdifiable Vd, simdifiable Vs, MatrixStructure SA>
void batmat::linalg::extract_bidiag (Structured< VA, SA > A, Vd &&diag, Vs &&offdiag)
 Extracts the diagonal and one off-diagonal from a matrix.

Class Documentation

◆ batmat::linalg::SterfOptions

struct batmat::linalg::SterfOptions
Class Members
double relative_tolerance = 0.0 If <= 0, machine epsilon is used.
index_t max_iterations_per_eigenvalue = 64