<T>LAPACK 0.1.1
C++ Template Linear Algebra PACKage
Loading...
Searching...
No Matches
Workspace queries

Workspace queries for routines that require a temporary workspace to perform their computations. More...

Functions

template<class T , TLAPACK_SMATRIX matrix_t, TLAPACK_SVECTOR vector_t, enable_if_t< is_complex< type_t< vector_t > >, int > >
WorkInfo tlapack::aggressive_early_deflation_worksize (bool want_t, bool want_z, size_type< matrix_t > ilo, size_type< matrix_t > ihi, size_type< matrix_t > nw, const matrix_t &A, const vector_t &s, const matrix_t &Z, const size_type< matrix_t > &ns, const size_type< matrix_t > &nd, const FrancisOpts &opts)
 Worspace query of aggressive_early_deflation().
 
template<class T , TLAPACK_SMATRIX matrix_t>
constexpr WorkInfo tlapack::internal::aggressive_early_deflation_worksize_gehrd (size_type< matrix_t > ilo, size_type< matrix_t > ihi, size_type< matrix_t > nw, const matrix_t &A)
 Workspace query for gehrd() in aggressive_early_deflation().
 
template<class T , TLAPACK_SMATRIX matrix_t, TLAPACK_SVECTOR vector_t>
constexpr WorkInfo tlapack::bidiag_worksize (const matrix_t &A, const vector_t &tauv, const vector_t &tauw, const BidiagOpts &opts={})
 Worspace query of bidiag()
 
template<class T , TLAPACK_SMATRIX matrix_t, TLAPACK_VECTOR vector_t>
constexpr WorkInfo tlapack::gebd2_worksize (const matrix_t &A, const vector_t &tauv, const vector_t &tauw)
 Worspace query of gebd2().
 
template<class T , TLAPACK_SMATRIX matrix_t, TLAPACK_SVECTOR vector_t>
constexpr WorkInfo tlapack::gebrd_worksize (const matrix_t &A, const vector_t &tauq, const vector_t &taup, const GebrdOpts &opts={})
 Worspace query of gebrd()
 
template<class T , TLAPACK_SMATRIX matrix_t, TLAPACK_VECTOR vector_t>
constexpr WorkInfo tlapack::gehd2_worksize (size_type< matrix_t > ilo, size_type< matrix_t > ihi, const matrix_t &A, const vector_t &tau)
 Worspace query of gehd2()
 
template<class T , TLAPACK_SMATRIX matrix_t, TLAPACK_SVECTOR vector_t>
constexpr WorkInfo tlapack::gehrd_worksize (size_type< matrix_t > ilo, size_type< matrix_t > ihi, const matrix_t &A, const vector_t &tau, const GehrdOpts &opts={})
 Worspace query of gehrd()
 
template<class T , TLAPACK_SMATRIX matrix_t, TLAPACK_VECTOR vector_t>
constexpr WorkInfo tlapack::gelq2_worksize (const matrix_t &A, const vector_t &tauw)
 Worspace query of gelq2()
 
template<class T , TLAPACK_SMATRIX A_t, TLAPACK_SVECTOR tau_t>
constexpr WorkInfo tlapack::gelqf_worksize (const A_t &A, const tau_t &tau, const GelqfOpts &opts={})
 Worspace query of gelqf()
 
template<class T , TLAPACK_SMATRIX matrix_t>
constexpr WorkInfo tlapack::gelqt_worksize (const matrix_t &A, const matrix_t &TT)
 Worspace query of gelqt()
 
template<class T , TLAPACK_SMATRIX matrix_t, TLAPACK_VECTOR vector_t, TLAPACK_DIRECTION direction_t, TLAPACK_STOREV storage_t>
constexpr WorkInfo tlapack::gen_householder_q_worksize (direction_t direction, storage_t storeMode, const matrix_t &A, const vector_t &tau, const GenHouseholderQOpts &opts={})
 Worspace query of gen_householder_q()
 
template<class T , TLAPACK_SMATRIX matrix_t, TLAPACK_VECTOR vector_t>
constexpr WorkInfo tlapack::geql2_worksize (const matrix_t &A, const vector_t &tau)
 Worspace query of geql2()
 
template<class T , TLAPACK_SMATRIX A_t, TLAPACK_SVECTOR tau_t>
constexpr WorkInfo tlapack::geqlf_worksize (const A_t &A, const tau_t &tau, const GeqlfOpts &opts={})
 Worspace query of geqlf()
 
template<class T , TLAPACK_SMATRIX matrix_t, TLAPACK_VECTOR vector_t>
constexpr WorkInfo tlapack::geqr2_worksize (const matrix_t &A, const vector_t &tau)
 Worspace query of geqr2()
 
template<class T , TLAPACK_SMATRIX A_t, TLAPACK_SVECTOR tau_t>
constexpr WorkInfo tlapack::geqrf_worksize (const A_t &A, const tau_t &tau, const GeqrfOpts &opts={})
 Worspace query of geqrf()
 
template<class T , TLAPACK_SMATRIX matrix_t, TLAPACK_VECTOR vector_t>
constexpr WorkInfo tlapack::gerq2_worksize (const matrix_t &A, const vector_t &tau)
 Worspace query of gerq2()
 
template<class T , TLAPACK_SMATRIX A_t, TLAPACK_SVECTOR tau_t>
constexpr WorkInfo tlapack::gerqf_worksize (const A_t &A, const tau_t &tau, const GerqfOpts &opts={})
 Worspace query of gerqf()
 
template<class T , TLAPACK_SMATRIX matrix_t>
constexpr WorkInfo tlapack::getri_uxli_worksize (const matrix_t &A)
 Worspace query of getri()
 
template<class T , TLAPACK_SMATRIX matrix_t, TLAPACK_VECTOR piv_t>
constexpr WorkInfo tlapack::getri_worksize (const matrix_t &A, const piv_t &piv, const GetriOpts &opts={})
 Worspace query of getri()
 
template<class T , TLAPACK_SMATRIX matrix_t, TLAPACK_SVECTOR vector_t>
constexpr WorkInfo tlapack::hessenberg_worksize (size_type< matrix_t > ilo, size_type< matrix_t > ihi, const matrix_t &A, const vector_t &tau, const HessenbergOpts &opts={})
 Workspace query of hessenberg()
 
template<class T , TLAPACK_MATRIX matrix_t, TLAPACK_VECTOR vector_t>
constexpr WorkInfo tlapack::householder_lq_worksize (const matrix_t &A, const vector_t &tau, const HouseholderLQOpts &opts={})
 Worspace query of householder_lq()
 
template<class T , TLAPACK_SMATRIX matrixV_t, TLAPACK_SMATRIX matrixC_t, TLAPACK_SVECTOR vector_t, TLAPACK_SIDE side_t, TLAPACK_OP trans_t, TLAPACK_DIRECTION direction_t, TLAPACK_STOREV storage_t>
constexpr WorkInfo tlapack::householder_q_mul_worksize (side_t side, trans_t trans, direction_t direction, storage_t storeMode, const matrixV_t &V, const vector_t &tau, const matrixC_t &C, const HouseholderQMulOpts &opts={})
 Workspace query of householder_q_mul()
 
template<class T , TLAPACK_MATRIX matrix_t, TLAPACK_VECTOR vector_t>
constexpr WorkInfo tlapack::householder_ql_worksize (const matrix_t &A, const vector_t &tau, const HouseholderQLOpts &opts={})
 Worspace query of householder_ql()
 
template<class T , TLAPACK_MATRIX matrix_t, TLAPACK_VECTOR vector_t>
constexpr WorkInfo tlapack::householder_qr_worksize (const matrix_t &A, const vector_t &tau, const HouseholderQROpts &opts={})
 Worspace query of householder_qr()
 
template<class T , TLAPACK_MATRIX matrix_t, TLAPACK_VECTOR vector_t>
constexpr WorkInfo tlapack::householder_rq_worksize (const matrix_t &A, const vector_t &tau, const HouseholderRQOpts &opts={})
 Worspace query of householder_rq()
 
template<class T , TLAPACK_MATRIX matrix_t>
constexpr WorkInfo tlapack::infnorm_colmajor_worksize (const matrix_t &A)
 Worspace query of infnorm_colmajor()
 
template<class T , TLAPACK_UPLO uplo_t, TLAPACK_MATRIX matrix_t>
constexpr WorkInfo tlapack::infnorm_hermitian_colmajor_worksize (uplo_t uplo, const matrix_t &A)
 Worspace query of infnorm_hermitian_colmajor()
 
template<class T , TLAPACK_UPLO uplo_t, TLAPACK_MATRIX matrix_t>
constexpr WorkInfo tlapack::infnorm_symmetric_colmajor_worksize (uplo_t uplo, const matrix_t &A)
 Worspace query of infnorm_symmetric_colmajor()
 
template<class T , TLAPACK_UPLO uplo_t, TLAPACK_DIAG diag_t, TLAPACK_MATRIX matrix_t>
constexpr WorkInfo tlapack::infnorm_triangular_colmajor_worksize (uplo_t uplo, diag_t diag, const matrix_t &A)
 Worspace query of infnorm_triangular_colmajor()
 
template<class T , TLAPACK_SIDE side_t, TLAPACK_DIRECTION direction_t, TLAPACK_STOREV storage_t, TLAPACK_SVECTOR vector_t, TLAPACK_SCALAR tau_t, TLAPACK_SMATRIX matrix_t, enable_if_t< std::is_convertible_v< direction_t, Direction >, int > = 0>
constexpr WorkInfo tlapack::larf_worksize (side_t side, direction_t direction, storage_t storeMode, vector_t const &v, const tau_t &tau, const matrix_t &C)
 Worspace query of larf().
 
template<class T , TLAPACK_SIDE side_t, TLAPACK_STOREV storage_t, TLAPACK_VECTOR vector_t, TLAPACK_SCALAR tau_t, TLAPACK_VECTOR vectorC0_t, TLAPACK_MATRIX matrixC1_t, enable_if_t< std::is_convertible_v< storage_t, StoreV >, int > = 0>
constexpr WorkInfo tlapack::larf_worksize (side_t side, storage_t storeMode, vector_t const &x, const tau_t &tau, const vectorC0_t &C0, const matrixC1_t &C1)
 Worspace query of larf().
 
template<class T , TLAPACK_SMATRIX matrixV_t, TLAPACK_MATRIX matrixT_t, TLAPACK_SMATRIX matrixC_t, TLAPACK_SIDE side_t, TLAPACK_OP trans_t, TLAPACK_DIRECTION direction_t, TLAPACK_STOREV storage_t>
constexpr WorkInfo tlapack::larfb_worksize (side_t side, trans_t trans, direction_t direction, storage_t storeMode, const matrixV_t &V, const matrixT_t &Tmatrix, const matrixC_t &C)
 Worspace query of larfb()
 
template<class T , TLAPACK_SMATRIX matrix_t, TLAPACK_VECTOR vector_t, enable_if_t< is_complex< type_t< vector_t > >, bool > = true>
constexpr WorkInfo tlapack::multishift_QR_sweep_worksize (bool want_t, bool want_z, size_type< matrix_t > ilo, size_type< matrix_t > ihi, const matrix_t &A, const vector_t &s, const matrix_t &Z)
 Worspace query of multishift_QR_sweep()
 
template<class T , TLAPACK_SMATRIX matrix_t, TLAPACK_SVECTOR vector_t, enable_if_t< is_complex< type_t< vector_t > >, int > = 0>
WorkInfo tlapack::multishift_qr_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 FrancisOpts &opts)
 Worspace query of multishift_qr()
 
template<class T , TLAPACK_MATRIX matrix_t, TLAPACK_VECTOR vector_t, enable_if_t< is_complex< type_t< vector_t > >, int > = 0>
constexpr WorkInfo tlapack::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()
 
template<class T , TLAPACK_SMATRIX matrix_t, TLAPACK_VECTOR vector_t>
constexpr WorkInfo tlapack::ung2l_worksize (const matrix_t &A, const vector_t &tau)
 Worspace query of ung2l()
 
template<class T , TLAPACK_SMATRIX matrix_t, TLAPACK_VECTOR vector_t>
constexpr WorkInfo tlapack::ung2r_worksize (const matrix_t &A, const vector_t &tau)
 Worspace query of ung2r()
 
template<class T , TLAPACK_SMATRIX matrix_t, TLAPACK_SVECTOR vector_t>
constexpr WorkInfo tlapack::ungbr_p_worksize (const size_type< matrix_t > k, matrix_t &A, const vector_t &tau, const UngbrOpts &opts={})
 Worspace query of ungbr_p()
 
template<class T , TLAPACK_SMATRIX matrix_t, TLAPACK_SVECTOR vector_t>
constexpr WorkInfo tlapack::ungbr_q_worksize (const size_type< matrix_t > k, matrix_t &A, const vector_t &tau, const UngbrOpts &opts={})
 Worspace query of ungbr_q()
 
template<class T , TLAPACK_SMATRIX matrix_t, TLAPACK_SVECTOR vector_t>
constexpr WorkInfo tlapack::unghr_worksize (size_type< matrix_t > ilo, size_type< matrix_t > ihi, const matrix_t &A, const vector_t &tau)
 Worspace query of unghr()
 
template<class T , TLAPACK_SMATRIX matrix_t, TLAPACK_VECTOR vector_t>
constexpr WorkInfo tlapack::ungl2_worksize (const matrix_t &Q, const vector_t &tauw)
 Worspace query of ungl2()
 
template<class T , TLAPACK_SMATRIX matrix_t, TLAPACK_SVECTOR vector_t, TLAPACK_DIRECTION direction_t, TLAPACK_STOREV storage_t>
constexpr WorkInfo tlapack::ungq_level2_worksize (direction_t direction, storage_t storeMode, const matrix_t &A, const vector_t &tau)
 Worspace query of ungq_level2()
 
template<class T , TLAPACK_SMATRIX matrix_t, TLAPACK_SVECTOR vector_t, TLAPACK_DIRECTION direction_t, TLAPACK_STOREV storage_t>
constexpr WorkInfo tlapack::ungq_worksize (direction_t direction, storage_t storeMode, const matrix_t &A, const vector_t &tau, const UngqOpts &opts={})
 Worspace query of ungq()
 
template<class T , TLAPACK_SMATRIX matrix_t, TLAPACK_VECTOR vector_t>
constexpr WorkInfo tlapack::ungr2_worksize (const matrix_t &A, const vector_t &tau)
 Worspace query of ungr2()
 
template<class T , TLAPACK_SMATRIX matrixA_t, TLAPACK_SMATRIX matrixC_t, TLAPACK_VECTOR tau_t, TLAPACK_SIDE side_t, TLAPACK_OP trans_t>
constexpr WorkInfo tlapack::unm2l_worksize (side_t side, trans_t trans, const matrixA_t &A, const tau_t &tau, const matrixC_t &C)
 Worspace query of unm2l()
 
template<class T , TLAPACK_SMATRIX matrixA_t, TLAPACK_SMATRIX matrixC_t, TLAPACK_VECTOR tau_t, TLAPACK_SIDE side_t, TLAPACK_OP trans_t>
constexpr WorkInfo tlapack::unm2r_worksize (side_t side, trans_t trans, const matrixA_t &A, const tau_t &tau, const matrixC_t &C)
 Worspace query of unm2r()
 
template<class T , TLAPACK_SMATRIX matrix_t, TLAPACK_SVECTOR vector_t>
constexpr WorkInfo tlapack::unmhr_worksize (Side side, Op trans, size_type< matrix_t > ilo, size_type< matrix_t > ihi, const matrix_t &A, const vector_t &tau, const matrix_t &C)
 Worspace query of unmhr()
 
template<class T , TLAPACK_SMATRIX matrixA_t, TLAPACK_SMATRIX matrixC_t, TLAPACK_VECTOR tau_t, TLAPACK_SIDE side_t, TLAPACK_OP trans_t>
constexpr WorkInfo tlapack::unml2_worksize (side_t side, trans_t trans, const matrixA_t &A, const tau_t &tau, const matrixC_t &C)
 Worspace query of unml2()
 
template<class T , TLAPACK_SMATRIX matrixA_t, TLAPACK_SMATRIX matrixC_t, TLAPACK_SVECTOR tau_t, TLAPACK_SIDE side_t, TLAPACK_OP trans_t>
constexpr WorkInfo tlapack::unmlq_worksize (side_t side, trans_t trans, const matrixA_t &A, const tau_t &tau, const matrixC_t &C, const UnmlqOpts &opts={})
 Worspace query of unmlq()
 
template<class T , TLAPACK_SMATRIX matrixV_t, TLAPACK_SMATRIX matrixC_t, TLAPACK_VECTOR vector_t, TLAPACK_SIDE side_t, TLAPACK_OP trans_t, TLAPACK_DIRECTION direction_t, TLAPACK_STOREV storage_t>
constexpr WorkInfo tlapack::unmq_level2_worksize (side_t side, trans_t trans, direction_t direction, storage_t storeMode, const matrixV_t &V, const vector_t &tau, const matrixC_t &C)
 Worspace query of unmq_level2()
 
template<class T , TLAPACK_SMATRIX matrixV_t, TLAPACK_SMATRIX matrixC_t, TLAPACK_SVECTOR vector_t, TLAPACK_SIDE side_t, TLAPACK_OP trans_t, TLAPACK_DIRECTION direction_t, TLAPACK_STOREV storage_t>
constexpr WorkInfo tlapack::unmq_worksize (side_t side, trans_t trans, direction_t direction, storage_t storeMode, const matrixV_t &V, const vector_t &tau, const matrixC_t &C, const UnmqOpts &opts={})
 Worspace query of unmq()
 
template<class T , TLAPACK_SMATRIX matrixA_t, TLAPACK_SMATRIX matrixC_t, TLAPACK_SVECTOR tau_t, TLAPACK_SIDE side_t, TLAPACK_OP trans_t>
constexpr WorkInfo tlapack::unmql_worksize (side_t side, trans_t trans, const matrixA_t &A, const tau_t &tau, const matrixC_t &C, const UnmqlOpts &opts={})
 Applies unitary matrix Q from an QL factorization to a matrix C.
 
template<class T , TLAPACK_SMATRIX matrixA_t, TLAPACK_SMATRIX matrixC_t, TLAPACK_SVECTOR tau_t, TLAPACK_SIDE side_t, TLAPACK_OP trans_t>
constexpr WorkInfo tlapack::unmqr_worksize (side_t side, trans_t trans, const matrixA_t &A, const tau_t &tau, const matrixC_t &C, const UnmqrOpts &opts={})
 Worspace query of unmqr()
 
template<class T , TLAPACK_SMATRIX matrixA_t, TLAPACK_SMATRIX matrixC_t, TLAPACK_VECTOR tau_t, TLAPACK_SIDE side_t, TLAPACK_OP trans_t>
constexpr WorkInfo tlapack::unmr2_worksize (side_t side, trans_t trans, const matrixA_t &A, const tau_t &tau, const matrixC_t &C)
 Worspace query of unmr2()
 
template<class T , TLAPACK_SMATRIX matrixA_t, TLAPACK_SMATRIX matrixC_t, TLAPACK_SVECTOR tau_t, TLAPACK_SIDE side_t, TLAPACK_OP trans_t>
constexpr WorkInfo tlapack::unmrq_worksize (side_t side, trans_t trans, const matrixA_t &A, const tau_t &tau, const matrixC_t &C, const UnmrqOpts &opts={})
 Worspace query of unmrq()
 

Detailed Description

Workspace queries for routines that require a temporary workspace to perform their computations.

Mind that workspaces are optional. If not provided, the routine will allocate temporary memory internally.


Function Documentation

◆ aggressive_early_deflation_worksize()

template<class T , TLAPACK_SMATRIX matrix_t, TLAPACK_SVECTOR vector_t, enable_if_t< is_complex< type_t< vector_t > >, int > >
WorkInfo tlapack::aggressive_early_deflation_worksize ( bool  want_t,
bool  want_z,
size_type< matrix_t ilo,
size_type< matrix_t ihi,
size_type< matrix_t nw,
const matrix_t A,
const vector_t s,
const matrix_t Z,
const size_type< matrix_t > &  ns,
const size_type< matrix_t > &  nd,
const FrancisOpts opts 
)

Worspace query of aggressive_early_deflation().

Parameters
[in]want_tbool. If true, the full Schur factor T will be computed.
[in]want_zbool. If true, the Schur vectors Z will be computed.
[in]ilointeger. Either ilo=0 or A(ilo,ilo-1) = 0.
[in]ihiinteger. ilo and ihi determine an isolated block in A.
[in]nwinteger. Desired window size to perform aggressive early deflation on. If the matrix is not large enough to provide the scratch space or if the isolated block is small, a smaller value may be used.
[in]An by n matrix. Hessenberg matrix on which AED will be performed
sNot referenced.
[in]Zn by n matrix. On entry, the previously calculated Schur factors.
nsNot referenced.
ndNot referenced.
[in]optsOptions.
Returns
WorkInfo The amount workspace required.

◆ aggressive_early_deflation_worksize_gehrd()

template<class T , TLAPACK_SMATRIX matrix_t>
constexpr WorkInfo tlapack::internal::aggressive_early_deflation_worksize_gehrd ( size_type< matrix_t ilo,
size_type< matrix_t ihi,
size_type< matrix_t nw,
const matrix_t A 
)
constexpr

Workspace query for gehrd() in aggressive_early_deflation().

Parameters
[in]ilointeger. Either ilo=0 or A(ilo,ilo-1) = 0.
[in]ihiinteger. ilo and ihi determine an isolated block in A.
[in]nwinteger. Desired window size to perform aggressive early deflation on. If the matrix is not large enough to provide the scratch space or if the isolated block is small, a smaller value may be used.
[in]An by n matrix. Hessenberg matrix on which AED will be performed
Returns
WorkInfo The amount workspace required.

◆ bidiag_worksize()

template<class T , TLAPACK_SMATRIX matrix_t, TLAPACK_SVECTOR vector_t>
constexpr WorkInfo tlapack::bidiag_worksize ( const matrix_t A,
const vector_t tauv,
const vector_t tauw,
const BidiagOpts opts = {} 
)
constexpr

Worspace query of bidiag()

Parameters
[in]Am-by-n matrix.
[in]tauvvector of length min(m,n).
[in]tauwvector of length min(m,n).
[in]optsOptions.
  • opts.variant: Variant of the algorithm to use.
Returns
WorkInfo The amount workspace required.

◆ gebd2_worksize()

template<class T , TLAPACK_SMATRIX matrix_t, TLAPACK_VECTOR vector_t>
constexpr WorkInfo tlapack::gebd2_worksize ( const matrix_t A,
const vector_t tauv,
const vector_t tauw 
)
constexpr

Worspace query of gebd2().

Parameters
[in]Am-by-n matrix. On entry, the m by n general matrix to be reduced.
tauvNot referenced.
tauwNot referenced.
Returns
WorkInfo The amount workspace required.

◆ gebrd_worksize()

template<class T , TLAPACK_SMATRIX matrix_t, TLAPACK_SVECTOR vector_t>
constexpr WorkInfo tlapack::gebrd_worksize ( const matrix_t A,
const vector_t tauq,
const vector_t taup,
const GebrdOpts opts = {} 
)
constexpr

Worspace query of gebrd()

Parameters
[in,out]Am-by-n matrix.
[out]tauqvector of length min(m,n). The scalar factors of the elementary reflectors which represent the unitary matrix Q.
[out]taupvector of length min(m,n). The scalar factors of the elementary reflectors which represent the unitary matrix P.
Returns
WorkInfo The amount workspace required.
Parameters
[in]optsOptions.

◆ gehd2_worksize()

template<class T , TLAPACK_SMATRIX matrix_t, TLAPACK_VECTOR vector_t>
constexpr WorkInfo tlapack::gehd2_worksize ( size_type< matrix_t ilo,
size_type< matrix_t ihi,
const matrix_t A,
const vector_t tau 
)
constexpr

Worspace query of gehd2()

Parameters
[in]ilointeger
[in]ihiinteger It is assumed that A is already upper Hessenberg in columns 0:ilo and rows ihi:n and is already upper triangular in columns ihi+1:n and rows 0:ilo. 0 <= ilo <= ihi <= max(1,n).
[in]An-by-n matrix. On entry, the n by n general matrix to be reduced.
tauNot referenced.
Returns
WorkInfo The amount workspace required.

◆ gehrd_worksize()

template<class T , TLAPACK_SMATRIX matrix_t, TLAPACK_SVECTOR vector_t>
constexpr WorkInfo tlapack::gehrd_worksize ( size_type< matrix_t ilo,
size_type< matrix_t ihi,
const matrix_t A,
const vector_t tau,
const GehrdOpts opts = {} 
)
constexpr

Worspace query of gehrd()

Parameters
[in]ilointeger
[in]ihiinteger It is assumed that A is already upper Hessenberg in columns 0:ilo and rows ihi:n and is already upper triangular in columns ihi+1:n and rows 0:ilo. 0 <= ilo <= ihi <= max(1,n).
[in]An-by-n matrix. On entry, the n by n general matrix to be reduced.
tauVector of length n-1.
[in]optsOptions.
Returns
WorkInfo The amount workspace required.

◆ gelq2_worksize()

template<class T , TLAPACK_SMATRIX matrix_t, TLAPACK_VECTOR vector_t>
constexpr WorkInfo tlapack::gelq2_worksize ( const matrix_t A,
const vector_t tauw 
)
constexpr

Worspace query of gelq2()

Parameters
[in]Am-by-n matrix.
tauwNot referenced.
Returns
WorkInfo The amount workspace required.

◆ gelqf_worksize()

template<class T , TLAPACK_SMATRIX A_t, TLAPACK_SVECTOR tau_t>
constexpr WorkInfo tlapack::gelqf_worksize ( const A_t A,
const tau_t tau,
const GelqfOpts opts = {} 
)
constexpr

Worspace query of gelqf()

Parameters
[in]Am-by-n matrix.
taumin(n,m) vector.
[in]optsOptions.
Returns
WorkInfo The amount workspace required.

◆ gelqt_worksize()

template<class T , TLAPACK_SMATRIX matrix_t>
constexpr WorkInfo tlapack::gelqt_worksize ( const matrix_t A,
const matrix_t TT 
)
constexpr

Worspace query of gelqt()

Parameters
[in]Am-by-n matrix.
TTm-by-nb matrix.
Returns
WorkInfo The amount workspace required.

◆ gen_householder_q_worksize()

template<class T , TLAPACK_SMATRIX matrix_t, TLAPACK_VECTOR vector_t, TLAPACK_DIRECTION direction_t, TLAPACK_STOREV storage_t>
constexpr WorkInfo tlapack::gen_householder_q_worksize ( direction_t  direction,
storage_t  storeMode,
const matrix_t A,
const vector_t tau,
const GenHouseholderQOpts opts = {} 
)
constexpr

Worspace query of gen_householder_q()

Parameters
[in]directionDirection of the Householder reflectors.
[in]storeModeStorage mode of the Householder reflectors.
[in]Am-by-n matrix.
[in]tauvector of length k.
[in]optsOptions.
  • opts.variant: Variant of the algorithm to use.
Returns
WorkInfo The amount workspace required.

◆ geql2_worksize()

template<class T , TLAPACK_SMATRIX matrix_t, TLAPACK_VECTOR vector_t>
constexpr WorkInfo tlapack::geql2_worksize ( const matrix_t A,
const vector_t tau 
)
constexpr

Worspace query of geql2()

Parameters
[in]Am-by-n matrix.
tauNot referenced.
Returns
WorkInfo The amount workspace required.

◆ geqlf_worksize()

template<class T , TLAPACK_SMATRIX A_t, TLAPACK_SVECTOR tau_t>
constexpr WorkInfo tlapack::geqlf_worksize ( const A_t A,
const tau_t tau,
const GeqlfOpts opts = {} 
)
constexpr

Worspace query of geqlf()

Parameters
[in]Am-by-n matrix.
taumin(n,m) vector.
[in]optsOptions.
Returns
WorkInfo The amount workspace required.

◆ geqr2_worksize()

template<class T , TLAPACK_SMATRIX matrix_t, TLAPACK_VECTOR vector_t>
constexpr WorkInfo tlapack::geqr2_worksize ( const matrix_t A,
const vector_t tau 
)
constexpr

Worspace query of geqr2()

Parameters
[in]Am-by-n matrix.
tauNot referenced.
Returns
WorkInfo The amount workspace required.

◆ geqrf_worksize()

template<class T , TLAPACK_SMATRIX A_t, TLAPACK_SVECTOR tau_t>
constexpr WorkInfo tlapack::geqrf_worksize ( const A_t A,
const tau_t tau,
const GeqrfOpts opts = {} 
)
constexpr

Worspace query of geqrf()

Parameters
[in]Am-by-n matrix.
taumin(n,m) vector.
[in]optsOptions.
Returns
WorkInfo The amount workspace required.

◆ gerq2_worksize()

template<class T , TLAPACK_SMATRIX matrix_t, TLAPACK_VECTOR vector_t>
constexpr WorkInfo tlapack::gerq2_worksize ( const matrix_t A,
const vector_t tau 
)
constexpr

Worspace query of gerq2()

Parameters
[in]Am-by-n matrix.
tauNot referenced.
Returns
WorkInfo The amount workspace required.

◆ gerqf_worksize()

template<class T , TLAPACK_SMATRIX A_t, TLAPACK_SVECTOR tau_t>
constexpr WorkInfo tlapack::gerqf_worksize ( const A_t A,
const tau_t tau,
const GerqfOpts opts = {} 
)
constexpr

Worspace query of gerqf()

Parameters
[in]Am-by-n matrix.
taumin(n,m) vector.
[in]optsOptions.
Returns
WorkInfo The amount workspace required.

◆ getri_uxli_worksize()

template<class T , TLAPACK_SMATRIX matrix_t>
constexpr WorkInfo tlapack::getri_uxli_worksize ( const matrix_t A)
constexpr

Worspace query of getri()

Parameters
[in]An-by-n matrix.
Returns
WorkInfo The amount workspace required.

◆ getri_worksize()

template<class T , TLAPACK_SMATRIX matrix_t, TLAPACK_VECTOR piv_t>
constexpr WorkInfo tlapack::getri_worksize ( const matrix_t A,
const piv_t piv,
const GetriOpts opts = {} 
)
constexpr

Worspace query of getri()

Parameters
[in]An-by-n matrix.
[in]pivpivot vector of size at least n.
[in]optsOptions.
  • opts.variant:
    • UILI = 'D', ///< Method D from doi:10.1137/1.9780898718027
    • UXLI = 'C' ///< Method C from doi:10.1137/1.9780898718027
Returns
WorkInfo The amount workspace required.

◆ hessenberg_worksize()

template<class T , TLAPACK_SMATRIX matrix_t, TLAPACK_SVECTOR vector_t>
constexpr WorkInfo tlapack::hessenberg_worksize ( size_type< matrix_t ilo,
size_type< matrix_t ihi,
const matrix_t A,
const vector_t tau,
const HessenbergOpts opts = {} 
)
constexpr

Workspace query of hessenberg()

Parameters
[in]ilointeger
[in]ihiinteger
[in]An-by-n matrix.
[in]tauVector of length n-1.
[in]optsOptions.
  • opts.variant: Variant of the algorithm to use.
Returns
WorkInfo The amount workspace required.

◆ householder_lq_worksize()

template<class T , TLAPACK_MATRIX matrix_t, TLAPACK_VECTOR vector_t>
constexpr WorkInfo tlapack::householder_lq_worksize ( const matrix_t A,
const vector_t tau,
const HouseholderLQOpts opts = {} 
)
constexpr

Worspace query of householder_lq()

Parameters
[in]Am-by-n matrix.
[in]taumin(n,m) vector.
[in]optsOptions.
  • opts.variant: Variant of the algorithm to use.
Returns
WorkInfo The amount workspace required.

◆ householder_q_mul_worksize()

template<class T , TLAPACK_SMATRIX matrixV_t, TLAPACK_SMATRIX matrixC_t, TLAPACK_SVECTOR vector_t, TLAPACK_SIDE side_t, TLAPACK_OP trans_t, TLAPACK_DIRECTION direction_t, TLAPACK_STOREV storage_t>
constexpr WorkInfo tlapack::householder_q_mul_worksize ( side_t  side,
trans_t  trans,
direction_t  direction,
storage_t  storeMode,
const matrixV_t V,
const vector_t tau,
const matrixC_t C,
const HouseholderQMulOpts opts = {} 
)
constexpr

Workspace query of householder_q_mul()

Parameters
[in]sideSpecifies which side op(Q) is to be applied.
[in]transThe operation \(op(Q)\) to be used:
[in]directionIndicates how Q is formed from a product of elementary reflectors.
[in]storeModeIndicates how the vectors which define the elementary reflectors are stored:
[in]V
[in]tauVector of length k. Scalar factors of the elementary reflectors.
[in]Cm-by-n matrix.
[in]optsOptions.
  • opts.variant: Variant of the algorithm to use.
Returns
WorkInfo The amount workspace required.

◆ householder_ql_worksize()

template<class T , TLAPACK_MATRIX matrix_t, TLAPACK_VECTOR vector_t>
constexpr WorkInfo tlapack::householder_ql_worksize ( const matrix_t A,
const vector_t tau,
const HouseholderQLOpts opts = {} 
)
constexpr

Worspace query of householder_ql()

Parameters
[in]Am-by-n matrix.
[in]taumin(n,m) vector.
[in]optsOptions.
  • opts.variant: Variant of the algorithm to use.
Returns
WorkInfo The amount workspace required.

◆ householder_qr_worksize()

template<class T , TLAPACK_MATRIX matrix_t, TLAPACK_VECTOR vector_t>
constexpr WorkInfo tlapack::householder_qr_worksize ( const matrix_t A,
const vector_t tau,
const HouseholderQROpts opts = {} 
)
constexpr

Worspace query of householder_qr()

Parameters
[in]Am-by-n matrix.
[in]taumin(n,m) vector.
[in]optsOptions.
  • opts.variant: Variant of the algorithm to use.
Returns
WorkInfo The amount workspace required.

◆ householder_rq_worksize()

template<class T , TLAPACK_MATRIX matrix_t, TLAPACK_VECTOR vector_t>
constexpr WorkInfo tlapack::householder_rq_worksize ( const matrix_t A,
const vector_t tau,
const HouseholderRQOpts opts = {} 
)
constexpr

Worspace query of householder_rq()

Parameters
[in]Am-by-n matrix.
[in]taumin(n,m) vector.
[in]optsOptions.
  • opts.variant: Variant of the algorithm to use.
Returns
WorkInfo The amount workspace required.

◆ infnorm_colmajor_worksize()

template<class T , TLAPACK_MATRIX matrix_t>
constexpr WorkInfo tlapack::infnorm_colmajor_worksize ( const matrix_t A)
constexpr

Worspace query of infnorm_colmajor()

Parameters
[in]Am-by-n matrix.
Returns
WorkInfo The amount workspace required.

◆ infnorm_hermitian_colmajor_worksize()

template<class T , TLAPACK_UPLO uplo_t, TLAPACK_MATRIX matrix_t>
constexpr WorkInfo tlapack::infnorm_hermitian_colmajor_worksize ( uplo_t  uplo,
const matrix_t A 
)
constexpr

Worspace query of infnorm_hermitian_colmajor()

Parameters
[in]uplo
[in]An-by-n matrix.
Returns
WorkInfo The amount workspace required.

◆ infnorm_symmetric_colmajor_worksize()

template<class T , TLAPACK_UPLO uplo_t, TLAPACK_MATRIX matrix_t>
constexpr WorkInfo tlapack::infnorm_symmetric_colmajor_worksize ( uplo_t  uplo,
const matrix_t A 
)
constexpr

Worspace query of infnorm_symmetric_colmajor()

Parameters
[in]uplo
[in]An-by-n matrix.
Returns
WorkInfo The amount workspace required.

◆ infnorm_triangular_colmajor_worksize()

template<class T , TLAPACK_UPLO uplo_t, TLAPACK_DIAG diag_t, TLAPACK_MATRIX matrix_t>
constexpr WorkInfo tlapack::infnorm_triangular_colmajor_worksize ( uplo_t  uplo,
diag_t  diag,
const matrix_t A 
)
constexpr

Worspace query of infnorm_triangular_colmajor()

Parameters
[in]uplo
[in]diagWhether A has a unit or non-unit diagonal:
[in]Am-by-n matrix.
Returns
WorkInfo The amount workspace required.

◆ larf_worksize() [1/2]

template<class T , TLAPACK_SIDE side_t, TLAPACK_DIRECTION direction_t, TLAPACK_STOREV storage_t, TLAPACK_SVECTOR vector_t, TLAPACK_SCALAR tau_t, TLAPACK_SMATRIX matrix_t, enable_if_t< std::is_convertible_v< direction_t, Direction >, int > = 0>
constexpr WorkInfo tlapack::larf_worksize ( side_t  side,
direction_t  direction,
storage_t  storeMode,
vector_t const v,
const tau_t tau,
const matrix_t C 
)
constexpr

Worspace query of larf().

Parameters
[in]side
[in]directionv = [ 1 x ] if direction == Direction::Forward and v = [ x 1 ] if direction == Direction::Backward.
[in]storeModeIndicates how the vectors which define the elementary reflectors are stored:
[in]vVector of size m if side = Side::Left, or n if side = Side::Right.
[in]tauValue of tau in the representation of H.
[in]COn entry, the m-by-n matrix C.
Returns
WorkInfo The amount workspace required.

◆ larf_worksize() [2/2]

template<class T , TLAPACK_SIDE side_t, TLAPACK_STOREV storage_t, TLAPACK_VECTOR vector_t, TLAPACK_SCALAR tau_t, TLAPACK_VECTOR vectorC0_t, TLAPACK_MATRIX matrixC1_t, enable_if_t< std::is_convertible_v< storage_t, StoreV >, int > = 0>
constexpr WorkInfo tlapack::larf_worksize ( side_t  side,
storage_t  storeMode,
vector_t const x,
const tau_t tau,
const vectorC0_t C0,
const matrixC1_t C1 
)
constexpr

Worspace query of larf().

Parameters
[in]side
[in]storeModeIndicates how the vectors which define the elementary reflectors are stored:
[in]xVector of size m-1 if side = Side::Left, or n-1 if side = Side::Right.
[in]tauValue of tau in the representation of H.
[in]C0On entry, the m-by-n matrix C.
[in]C1On entry, the m-by-n matrix C.
Returns
WorkInfo The amount workspace required.

◆ larfb_worksize()

template<class T , TLAPACK_SMATRIX matrixV_t, TLAPACK_MATRIX matrixT_t, TLAPACK_SMATRIX matrixC_t, TLAPACK_SIDE side_t, TLAPACK_OP trans_t, TLAPACK_DIRECTION direction_t, TLAPACK_STOREV storage_t>
constexpr WorkInfo tlapack::larfb_worksize ( side_t  side,
trans_t  trans,
direction_t  direction,
storage_t  storeMode,
const matrixV_t V,
const matrixT_t Tmatrix,
const matrixC_t C 
)
constexpr

Worspace query of larfb()

Parameters
[in]side
[in]trans
  • Op::NoTrans: apply \(H \) (No transpose).
  • Op::Trans: apply \(H^T\) (Transpose, only allowed if the type of H is Real).
  • Op::ConjTrans: apply \(H^H\) (Conjugate transpose).
[in]directionIndicates how H is formed from a product of elementary reflectors.
[in]storeModeIndicates how the vectors which define the elementary reflectors are stored:
[in]V
[in]TmatrixThe k-by-k matrix T. The triangular k-by-k matrix T in the representation of the block reflector.
[in]COn entry, the m-by-n matrix C.
Returns
WorkInfo The amount workspace required.

◆ multishift_QR_sweep_worksize()

template<class T , TLAPACK_SMATRIX matrix_t, TLAPACK_VECTOR vector_t, enable_if_t< is_complex< type_t< vector_t > >, bool > = true>
constexpr WorkInfo tlapack::multishift_QR_sweep_worksize ( bool  want_t,
bool  want_z,
size_type< matrix_t ilo,
size_type< matrix_t ihi,
const matrix_t A,
const vector_t s,
const matrix_t Z 
)
constexpr

Worspace query of multishift_QR_sweep()

Parameters
[in]want_tbool. If true, the full Schur factor T will be computed.
[in]want_zbool. If true, the Schur vectors Z will be computed.
[in]ilointeger. Either ilo=0 or A(ilo,ilo-1) = 0.
[in]ihiinteger. ilo and ihi determine an isolated block in A.
[in]An by n matrix. Hessenberg matrix on which AED will be performed
[in]scomplex vector. Vector containing the shifts to be used during the sweep
[in]Zn by n matrix. On entry, the previously calculated Schur factors.
Returns
WorkInfo The amount workspace required.

◆ multishift_qr_worksize()

template<class T , TLAPACK_SMATRIX matrix_t, TLAPACK_SVECTOR vector_t, enable_if_t< is_complex< type_t< vector_t > >, int > = 0>
WorkInfo tlapack::multishift_qr_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 FrancisOpts opts 
)

Worspace query of multishift_qr()

Parameters
[in]want_tbool. If true, the full Schur factor T will be computed.
[in]want_zbool. If true, the Schur vectors Z will be computed.
[in]ilointeger. Either ilo=0 or A(ilo,ilo-1) = 0.
[in]ihiinteger. The matrix A is assumed to be already quasi-triangular in rows and columns ihi:n.
[in]An by n matrix.
wNot referenced.
[in]Zn by n matrix.
[in,out]optsOptions.
Returns
WorkInfo The amount workspace required.

◆ qr_iteration_worksize()

template<class T , TLAPACK_MATRIX matrix_t, TLAPACK_VECTOR vector_t, enable_if_t< is_complex< type_t< vector_t > >, int > = 0>
constexpr WorkInfo tlapack::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 = {} 
)
constexpr

Worspace query of qr_iteration()

Parameters
[in]want_tbool. If true, the full Schur factor T will be computed.
[in]want_zbool. If true, the Schur vectors Z will be computed.
[in]ilointeger. Either ilo=0 or A(ilo,ilo-1) = 0.
[in]ihiinteger. The matrix A is assumed to be already quasi-triangular in rows and columns ihi:n.
[in]An by n matrix.
[in]wn vector.
[in]Zn by n matrix.
[in]optsOptions.
  • opts.variant: Variant of the algorithm to use.
Returns
WorkInfo The amount workspace required.

◆ ung2l_worksize()

template<class T , TLAPACK_SMATRIX matrix_t, TLAPACK_VECTOR vector_t>
constexpr WorkInfo tlapack::ung2l_worksize ( const matrix_t A,
const vector_t tau 
)
constexpr

Worspace query of ung2l()

Parameters
[in]Am-by-n matrix.
[in]tauReal vector of length min(m,n). The scalar factors of the elementary reflectors.
Returns
WorkInfo The amount workspace required.

◆ ung2r_worksize()

template<class T , TLAPACK_SMATRIX matrix_t, TLAPACK_VECTOR vector_t>
constexpr WorkInfo tlapack::ung2r_worksize ( const matrix_t A,
const vector_t tau 
)
constexpr

Worspace query of ung2r()

Parameters
[in]Am-by-n matrix.
[in]tauReal vector of length min(m,n). The scalar factors of the elementary reflectors.
Returns
WorkInfo The amount workspace required.

◆ ungbr_p_worksize()

template<class T , TLAPACK_SMATRIX matrix_t, TLAPACK_SVECTOR vector_t>
constexpr WorkInfo tlapack::ungbr_p_worksize ( const size_type< matrix_t k,
matrix_t A,
const vector_t tau,
const UngbrOpts opts = {} 
)
constexpr

Worspace query of ungbr_p()

Parameters
[in]kinteger. k is the number of rows in the original k-by-n matrix reduced by gebrd.
[in,out]Am-by-n matrix.
[in]tauvector. tau is a vector of length min(k,n) tau(i) must contain the scalar factor of the elementary reflector G(i), which determines P**H, as returned by gebrd in its array argument taup.
Returns
WorkInfo The amount workspace required.
Parameters
[in]optsOptions.

◆ ungbr_q_worksize()

template<class T , TLAPACK_SMATRIX matrix_t, TLAPACK_SVECTOR vector_t>
constexpr WorkInfo tlapack::ungbr_q_worksize ( const size_type< matrix_t k,
matrix_t A,
const vector_t tau,
const UngbrOpts opts = {} 
)
constexpr

Worspace query of ungbr_q()

Parameters
[in]kinteger. k is the number of columns in the original m-by-k matrix reduced by gebrd.
[in,out]Am-by-n matrix.
[in]tauvector. tau is a vector of length min(m,k) tau(i) must contain the scalar factor of the elementary reflector H(i), which determines Q, as returned by gebrd in its array argument tauq.
Returns
WorkInfo The amount workspace required.
Parameters
[in]optsOptions.

◆ unghr_worksize()

template<class T , TLAPACK_SMATRIX matrix_t, TLAPACK_SVECTOR vector_t>
constexpr WorkInfo tlapack::unghr_worksize ( size_type< matrix_t ilo,
size_type< matrix_t ihi,
const matrix_t A,
const vector_t tau 
)
constexpr

Worspace query of unghr()

Parameters
[in]ilointeger
[in]ihiinteger ilo and ihi must have the same values as in the previous call to gehrd. Q is equal to the unit matrix except in the submatrix Q(ilo+1:ihi,ilo+1:ihi). 0 <= ilo <= ihi <= max(1,n).
[in]Am-by-n matrix.
[in]tauReal vector of length n-1. The scalar factors of the elementary reflectors.
Returns
WorkInfo The amount workspace required.

◆ ungl2_worksize()

template<class T , TLAPACK_SMATRIX matrix_t, TLAPACK_VECTOR vector_t>
constexpr WorkInfo tlapack::ungl2_worksize ( const matrix_t Q,
const vector_t tauw 
)
constexpr

Worspace query of ungl2()

Parameters
[in]Qk-by-n matrix.
[in]tauwComplex vector of length min(m,n). tauw(j) must contain the scalar factor of the elementary reflector H(j), as returned by gelq2.
Returns
WorkInfo The amount workspace required.

◆ ungq_level2_worksize()

template<class T , TLAPACK_SMATRIX matrix_t, TLAPACK_SVECTOR vector_t, TLAPACK_DIRECTION direction_t, TLAPACK_STOREV storage_t>
constexpr WorkInfo tlapack::ungq_level2_worksize ( direction_t  direction,
storage_t  storeMode,
const matrix_t A,
const vector_t tau 
)
constexpr

Worspace query of ungq_level2()

Parameters
[in]directionIndicates how Q is formed from a product of elementary reflectors.
[in]storeModeIndicates how the vectors which define the elementary reflectors are stored:
[in]Am-by-n matrix.
[in]tauVector of length k. Scalar factors of the elementary reflectors.
Returns
WorkInfo The amount workspace required.

◆ ungq_worksize()

template<class T , TLAPACK_SMATRIX matrix_t, TLAPACK_SVECTOR vector_t, TLAPACK_DIRECTION direction_t, TLAPACK_STOREV storage_t>
constexpr WorkInfo tlapack::ungq_worksize ( direction_t  direction,
storage_t  storeMode,
const matrix_t A,
const vector_t tau,
const UngqOpts opts = {} 
)
constexpr

Worspace query of ungq()

Parameters
[in]directionIndicates how Q is formed from a product of elementary reflectors.
[in]storeModeIndicates how the vectors which define the elementary reflectors are stored:
[in]Am-by-n matrix.
[in]tauVector of length k. Scalar factors of the elementary reflectors.
[in]optsOptions.
Returns
WorkInfo The amount workspace required.

◆ ungr2_worksize()

template<class T , TLAPACK_SMATRIX matrix_t, TLAPACK_VECTOR vector_t>
constexpr WorkInfo tlapack::ungr2_worksize ( const matrix_t A,
const vector_t tau 
)
constexpr

Worspace query of ungr2()

Parameters
[in]Am-by-n matrix.
[in]tauReal vector of length min(m,n). The scalar factors of the elementary reflectors.
Returns
WorkInfo The amount workspace required.

◆ unm2l_worksize()

template<class T , TLAPACK_SMATRIX matrixA_t, TLAPACK_SMATRIX matrixC_t, TLAPACK_VECTOR tau_t, TLAPACK_SIDE side_t, TLAPACK_OP trans_t>
constexpr WorkInfo tlapack::unm2l_worksize ( side_t  side,
trans_t  trans,
const matrixA_t A,
const tau_t tau,
const matrixC_t C 
)
constexpr

Worspace query of unm2l()

Parameters
[in]sideSpecifies which side op(Q) is to be applied.
[in]transThe operation \(op(Q)\) to be used:
[in]A
[in]tauVector of length k Contains the scalar factors of the elementary reflectors.
[in]Cm-by-n matrix.
Returns
WorkInfo The amount workspace required.

◆ unm2r_worksize()

template<class T , TLAPACK_SMATRIX matrixA_t, TLAPACK_SMATRIX matrixC_t, TLAPACK_VECTOR tau_t, TLAPACK_SIDE side_t, TLAPACK_OP trans_t>
constexpr WorkInfo tlapack::unm2r_worksize ( side_t  side,
trans_t  trans,
const matrixA_t A,
const tau_t tau,
const matrixC_t C 
)
constexpr

Worspace query of unm2r()

Parameters
[in]sideSpecifies which side op(Q) is to be applied.
[in]transThe operation \(op(Q)\) to be used:
[in]A
[in]tauVector of length k Contains the scalar factors of the elementary reflectors.
[in]Cm-by-n matrix.
Returns
WorkInfo The amount workspace required.

◆ unmhr_worksize()

template<class T , TLAPACK_SMATRIX matrix_t, TLAPACK_SVECTOR vector_t>
constexpr WorkInfo tlapack::unmhr_worksize ( Side  side,
Op  trans,
size_type< matrix_t ilo,
size_type< matrix_t ihi,
const matrix_t A,
const vector_t tau,
const matrix_t C 
)
constexpr

Worspace query of unmhr()

Parameters
[in]sideSpecifies which side op(Q) is to be applied.
[in]transThe operation \(op(Q)\) to be used:
[in]ilointeger
[in]ihiinteger ilo and ihi must have the same values as in the previous call to gehrd. Q is equal to the unit matrix except in the submatrix Q(ilo+1:ihi,ilo+1:ihi). 0 <= ilo <= ihi <= max(1,n).
[in]An-by-n matrix Matrix containing orthogonal vectors, as returned by gehrd
[in]tauVector of length n-1 Contains the scalar factors of the elementary reflectors.
[in]Cm-by-n matrix.
Returns
WorkInfo The amount workspace required.

◆ unml2_worksize()

template<class T , TLAPACK_SMATRIX matrixA_t, TLAPACK_SMATRIX matrixC_t, TLAPACK_VECTOR tau_t, TLAPACK_SIDE side_t, TLAPACK_OP trans_t>
constexpr WorkInfo tlapack::unml2_worksize ( side_t  side,
trans_t  trans,
const matrixA_t A,
const tau_t tau,
const matrixC_t C 
)
constexpr

Worspace query of unml2()

Parameters
[in]sideSpecifies which side op(Q) is to be applied.
[in]transThe operation \(op(Q)\) to be used:
[in]A
[in]tauVector of length k Contains the scalar factors of the elementary reflectors.
[in]Cm-by-n matrix.
Returns
WorkInfo The amount workspace required.

◆ unmlq_worksize()

template<class T , TLAPACK_SMATRIX matrixA_t, TLAPACK_SMATRIX matrixC_t, TLAPACK_SVECTOR tau_t, TLAPACK_SIDE side_t, TLAPACK_OP trans_t>
constexpr WorkInfo tlapack::unmlq_worksize ( side_t  side,
trans_t  trans,
const matrixA_t A,
const tau_t tau,
const matrixC_t C,
const UnmlqOpts opts = {} 
)
constexpr

Worspace query of unmlq()

Parameters
[in]sideSpecifies which side op(Q) is to be applied.
[in]transThe operation \(op(Q)\) to be used:
[in]A
  • side = Side::Left: k-by-m matrix;
  • side = Side::Right: k-by-n matrix. Contains the vectors that define the reflectors
[in]tauVector of length k Contains the scalar factors of the elementary reflectors.
[in]Cm-by-n matrix.
[in]optsOptions.
Returns
WorkInfo The amount workspace required.
See also
unmlq

◆ unmq_level2_worksize()

template<class T , TLAPACK_SMATRIX matrixV_t, TLAPACK_SMATRIX matrixC_t, TLAPACK_VECTOR vector_t, TLAPACK_SIDE side_t, TLAPACK_OP trans_t, TLAPACK_DIRECTION direction_t, TLAPACK_STOREV storage_t>
constexpr WorkInfo tlapack::unmq_level2_worksize ( side_t  side,
trans_t  trans,
direction_t  direction,
storage_t  storeMode,
const matrixV_t V,
const vector_t tau,
const matrixC_t C 
)
constexpr

Worspace query of unmq_level2()

Parameters
[in]sideSpecifies which side op(Q) is to be applied.
[in]transThe operation \(op(Q)\) to be used:
[in]directionIndicates how Q is formed from a product of elementary reflectors.
[in]storeModeIndicates how the vectors which define the elementary reflectors are stored:
[in]V
[in]tauVector of length k. Scalar factors of the elementary reflectors.
[in]Cm-by-n matrix.
Returns
WorkInfo The amount workspace required.

◆ unmq_worksize()

template<class T , TLAPACK_SMATRIX matrixV_t, TLAPACK_SMATRIX matrixC_t, TLAPACK_SVECTOR vector_t, TLAPACK_SIDE side_t, TLAPACK_OP trans_t, TLAPACK_DIRECTION direction_t, TLAPACK_STOREV storage_t>
constexpr WorkInfo tlapack::unmq_worksize ( side_t  side,
trans_t  trans,
direction_t  direction,
storage_t  storeMode,
const matrixV_t V,
const vector_t tau,
const matrixC_t C,
const UnmqOpts opts = {} 
)
constexpr

Worspace query of unmq()

Parameters
[in]sideSpecifies which side op(Q) is to be applied.
[in]transThe operation \(op(Q)\) to be used:
[in]directionIndicates how Q is formed from a product of elementary reflectors.
[in]storeModeIndicates how the vectors which define the elementary reflectors are stored:
[in]V
[in]tauVector of length k. Scalar factors of the elementary reflectors.
[in]Cm-by-n matrix.
[in]optsOptions.
Returns
WorkInfo The amount workspace required.

◆ unmql_worksize()

template<class T , TLAPACK_SMATRIX matrixA_t, TLAPACK_SMATRIX matrixC_t, TLAPACK_SVECTOR tau_t, TLAPACK_SIDE side_t, TLAPACK_OP trans_t>
constexpr WorkInfo tlapack::unmql_worksize ( side_t  side,
trans_t  trans,
const matrixA_t A,
const tau_t tau,
const matrixC_t C,
const UnmqlOpts opts = {} 
)
constexpr

Applies unitary matrix Q from an QL factorization to a matrix C.

The matrix Q is represented as a product of elementary reflectors as returned by geqlf

Template Parameters
side_tEither Side or any class that implements operator Side().
trans_tEither Op or any class that implements operator Op().
Parameters
[in]sideSpecifies which side op(Q) is to be applied.
[in]transThe operation \(op(Q)\) to be used:
[in]A
[in]tauVector of length k Contains the scalar factors of the elementary reflectors.
[in,out]Cm-by-n matrix. On exit, C is replaced by one of the following:
Returns
WorkInfo The amount workspace required.
Parameters
[in]optsOptions.

◆ unmqr_worksize()

template<class T , TLAPACK_SMATRIX matrixA_t, TLAPACK_SMATRIX matrixC_t, TLAPACK_SVECTOR tau_t, TLAPACK_SIDE side_t, TLAPACK_OP trans_t>
constexpr WorkInfo tlapack::unmqr_worksize ( side_t  side,
trans_t  trans,
const matrixA_t A,
const tau_t tau,
const matrixC_t C,
const UnmqrOpts opts = {} 
)
constexpr

Worspace query of unmqr()

Parameters
[in]sideSpecifies which side op(Q) is to be applied.
[in]transThe operation \(op(Q)\) to be used:
[in]A
  • side = Side::Left: m-by-k matrix;
  • side = Side::Right: n-by-k matrix. Contains the vectors that define the reflectors
[in]tauVector of length k Contains the scalar factors of the elementary reflectors.
[in]Cm-by-n matrix.
[in]optsOptions.
Returns
WorkInfo The amount workspace required.
See also
unmqr

◆ unmr2_worksize()

template<class T , TLAPACK_SMATRIX matrixA_t, TLAPACK_SMATRIX matrixC_t, TLAPACK_VECTOR tau_t, TLAPACK_SIDE side_t, TLAPACK_OP trans_t>
constexpr WorkInfo tlapack::unmr2_worksize ( side_t  side,
trans_t  trans,
const matrixA_t A,
const tau_t tau,
const matrixC_t C 
)
constexpr

Worspace query of unmr2()

Parameters
[in]sideSpecifies which side op(Q) is to be applied.
[in]transThe operation \(op(Q)\) to be used:
[in]A
[in]tauVector of length k Contains the scalar factors of the elementary reflectors.
[in]Cm-by-n matrix.
Returns
WorkInfo The amount workspace required.

◆ unmrq_worksize()

template<class T , TLAPACK_SMATRIX matrixA_t, TLAPACK_SMATRIX matrixC_t, TLAPACK_SVECTOR tau_t, TLAPACK_SIDE side_t, TLAPACK_OP trans_t>
constexpr WorkInfo tlapack::unmrq_worksize ( side_t  side,
trans_t  trans,
const matrixA_t A,
const tau_t tau,
const matrixC_t C,
const UnmrqOpts opts = {} 
)
constexpr

Worspace query of unmrq()

Parameters
[in]sideSpecifies which side op(Q) is to be applied.
[in]transThe operation \(op(Q)\) to be used:
[in]A
  • side = Side::Left: k-by-m matrix;
  • side = Side::Right: k-by-n matrix. Contains the vectors that define the reflectors
[in]tauVector of length k Contains the scalar factors of the elementary reflectors.
[in]Cm-by-n matrix.
[in]optsOptions.
Returns
WorkInfo The amount workspace required.
See also
unmrq