10#ifndef TLAPACK_QR_ITERATION_HH
11#define TLAPACK_QR_ITERATION_HH
63 if (opts.variant == QRIterationVariant::MultiShift)
64 return multishift_qr_worksize<T>(want_t, want_z, ilo, ihi, A, w, Z,
81 enable_if_t<is_complex<type_t<vector_t> >,
int> = 0>
93 if (
opts.variant == QRIterationVariant::MultiShift)
140 enable_if_t<is_complex<type_t<vector_t> >,
int> = 0>
151 if (
opts.variant == QRIterationVariant::MultiShift)
#define TLAPACK_WORKSPACE
Macro for tlapack::concepts::Workspace compatible with C++17.
Definition concepts.hpp:912
#define TLAPACK_VECTOR
Macro for tlapack::concepts::Vector compatible with C++17.
Definition concepts.hpp:906
#define TLAPACK_MATRIX
Macro for tlapack::concepts::Matrix compatible with C++17.
Definition concepts.hpp:896
int multishift_qr(bool want_t, bool want_z, size_type< matrix_t > ilo, size_type< matrix_t > ihi, matrix_t &A, vector_t &w, matrix_t &Z, FrancisOpts &opts)
multishift_qr computes the eigenvalues and optionally the Schur factorization of an upper Hessenberg ...
Definition multishift_qr.hpp:447
int lahqr(bool want_t, bool want_z, size_type< matrix_t > ilo, size_type< matrix_t > ihi, matrix_t &A, vector_t &w, matrix_t &Z)
lahqr computes the eigenvalues and optionally the Schur factorization of an upper Hessenberg matrix,...
Definition lahqr.hpp:73
int multishift_qr_work(bool want_t, bool want_z, size_type< matrix_t > ilo, size_type< matrix_t > ihi, matrix_t &A, vector_t &w, matrix_t &Z, work_t &work, FrancisOpts &opts)
multishift_qr computes the eigenvalues and optionally the Schur factorization of an upper Hessenberg ...
Definition multishift_qr.hpp:114
int qr_iteration_work(bool want_t, bool want_z, size_type< matrix_t > ilo, size_type< matrix_t > ihi, matrix_t &A, vector_t &w, matrix_t &Z, work_t &work, QRIterationOpts &opts)
Computes the eigenvalues and optionally the Schur factorization of an upper Hessenberg matrix....
Definition qr_iteration.hpp:82
int qr_iteration(bool want_t, bool want_z, size_type< matrix_t > ilo, size_type< matrix_t > ihi, matrix_t &A, vector_t &w, matrix_t &Z, QRIterationOpts &opts)
Computes the eigenvalues and optionally the Schur factorization of an upper Hessenberg matrix.
Definition qr_iteration.hpp:141
constexpr WorkInfo qr_iteration_worksize(bool want_t, bool want_z, size_type< matrix_t > ilo, size_type< matrix_t > ihi, const matrix_t &A, const vector_t &w, const matrix_t &Z, const QRIterationOpts &opts={})
Worspace query of qr_iteration()
Definition qr_iteration.hpp:53
QRIterationVariant
Variant of the algorithm that performs QR iterations on an upper Hessenberg matrix.
Definition qr_iteration.hpp:21
typename traits::real_type_traits< Types..., int >::type real_type
The common real type of the list of types.
Definition scalar_type_traits.hpp:113
Options struct for multishift_qr().
Definition FrancisOpts.hpp:23
Options struct for qr_iteration()
Definition qr_iteration.hpp:24
Output information in the workspace query.
Definition workspace.hpp:16