|
Uni20
Asynchronous tensor and runtime library.
|
Checked LAPACK wrappers over provider-specific unchecked overloads. More...
#include <uni20/backend/lapack/common.hpp>#include <uni20/backend/lapack/lapack_error.hpp>#include <uni20/backend/lapack/lapack_error_presentation.hpp>#include <uni20/backend/lapack/reference/band.hpp>#include <uni20/backend/lapack/reference/general.hpp>#include <uni20/backend/lapack/reference/norms.hpp>#include <uni20/backend/lapack/reference/tridiagonal.hpp>#include <uni20/common/trace.hpp>#include <uni20/config.hpp>#include <uni20/core/scalar_concepts.hpp>#include <source_location>#include <stdexcept>Go to the source code of this file.
Namespaces | |
| namespace | uni20 |
| namespace | uni20::lapack |
Functions | |
| template<uni20::LapackReal Scalar> | |
| void | uni20::lapack::bdsdc (char uplo, char compq, blas_int n, Scalar *d, Scalar *e, Scalar *u, blas_int ldu, Scalar *vt, blas_int ldvt, Scalar *q, blas_int *iq, Scalar *work, blas_int *iwork) |
| Compute the singular value decomposition of a real bidiagonal matrix. | |
| template<uni20::LapackReal Scalar> | |
| void | uni20::lapack::bdsqr (char uplo, blas_int n, blas_int ncvt, blas_int nru, blas_int ncc, Scalar *d, Scalar *e, Scalar *vt, blas_int ldvt, Scalar *u, blas_int ldu, Scalar *c, blas_int ldc, Scalar *work) |
| Compute singular values of a real bidiagonal matrix. | |
| template<uni20::LapackReal Scalar> | |
| void | uni20::lapack::bdsvdx (char uplo, char jobz, char range, blas_int n, Scalar *d, Scalar *e, Scalar vl, Scalar vu, blas_int il, blas_int iu, blas_int &selected_count, Scalar *singular_values, Scalar *z, blas_int ldz, Scalar *work, blas_int *iwork) |
| Compute selected singular values/vectors of a real bidiagonal matrix. | |
| template<uni20::LapackReal Scalar> | |
| Scalar | uni20::lapack::gbcon (char norm, blas_int n, blas_int kl, blas_int ku, Scalar *ab, blas_int ldab, blas_int const *ipiv, Scalar anorm, Scalar *work, blas_int *iwork) |
| Estimate a real general-band reciprocal condition number. | |
| template<uni20::LapackReal Scalar> | |
| void | uni20::lapack::gbequ (bool power_of_two, blas_int m, blas_int n, blas_int kl, blas_int ku, Scalar *ab, blas_int ldab, Scalar *row_scale, Scalar *column_scale, Scalar &row_condition, Scalar &column_condition, Scalar &max_abs) |
| Compute real general-band row/column equilibration factors. | |
| template<uni20::LapackReal Scalar> | |
| void | uni20::lapack::gbrfs (char trans, blas_int n, blas_int kl, blas_int ku, blas_int nrhs, Scalar *ab, blas_int ldab, Scalar *afb, blas_int ldafb, blas_int const *ipiv, Scalar *b, blas_int ldb, Scalar *x, blas_int ldx, Scalar *forward_error, Scalar *backward_error, Scalar *work, blas_int *iwork) |
| Refine a real general-band linear-system solve and return LAPACK diagnostics. | |
| template<uni20::LapackReal Scalar> | |
| void | uni20::lapack::gbsv (blas_int n, blas_int kl, blas_int ku, blas_int nrhs, Scalar *ab, blas_int ldab, blas_int *ipiv, Scalar *b, blas_int ldb) |
| Solve a real general-band linear system through the configured LAPACK backend. | |
| template<uni20::LapackReal Scalar> | |
| bool | uni20::lapack::gbsvx (char fact, char trans, blas_int n, blas_int kl, blas_int ku, blas_int nrhs, Scalar *ab, blas_int ldab, Scalar *afb, blas_int ldafb, blas_int *ipiv, char &equed, Scalar *row_scale, Scalar *column_scale, Scalar *b, blas_int ldb, Scalar *x, blas_int ldx, Scalar &rcond, Scalar *forward_error, Scalar *backward_error, Scalar *work, blas_int *iwork) |
| Solve a real general-band linear system with LAPACK expert-driver diagnostics. | |
| template<uni20::LapackReal Scalar> | |
| void | uni20::lapack::gbtrf (blas_int m, blas_int n, blas_int kl, blas_int ku, Scalar *ab, blas_int ldab, blas_int *ipiv) |
| Compute a real general-band LU factorization through the configured LAPACK backend. | |
| template<uni20::LapackReal Scalar> | |
| void | uni20::lapack::gbtrs (char trans, blas_int n, blas_int kl, blas_int ku, blas_int nrhs, Scalar *ab, blas_int ldab, blas_int const *ipiv, Scalar *b, blas_int ldb) |
| Solve using an existing real general-band LU factorization. | |
| template<uni20::LapackReal Scalar> | |
| void | uni20::lapack::gebak (char job, char side, blas_int n, blas_int first, blas_int last, Scalar *scale, blas_int vector_count, Scalar *vectors, blas_int leading_dimension) |
| Back-transform real nonsymmetric eigenvectors after balancing. | |
| template<uni20::LapackReal Scalar> | |
| void | uni20::lapack::gebal (char job, blas_int n, Scalar *a, blas_int lda, blas_int &first, blas_int &last, Scalar *scale) |
| Balance a real nonsymmetric matrix before eigenanalysis. | |
| template<uni20::LapackReal Scalar> | |
| void | uni20::lapack::gebrd (blas_int m, blas_int n, Scalar *a, blas_int lda, Scalar *d, Scalar *e, Scalar *tauq, Scalar *taup, Scalar *work, blas_int lwork) |
| Reduce a real dense general matrix to bidiagonal form. | |
| template<uni20::LapackReal Scalar> | |
| Scalar | uni20::lapack::gecon (char norm, blas_int n, Scalar const *a, blas_int lda, Scalar anorm, Scalar *work, blas_int *iwork) |
| Estimate a real dense general reciprocal condition number. | |
| template<uni20::LapackComplexReal Real> | |
| Real | uni20::lapack::gecon (char norm, blas_int n, uni20::detail::standard_complex< Real > const *a, blas_int lda, Real anorm, uni20::detail::standard_complex< Real > *work, Real *rwork) |
| Estimate a complex dense general reciprocal condition number. | |
| template<uni20::LapackReal Scalar> | |
| void | uni20::lapack::geequ (blas_int m, blas_int n, Scalar *a, blas_int lda, Scalar *row_scale, Scalar *column_scale, Scalar &row_condition, Scalar &column_condition, Scalar &max_abs) |
| Compute real dense general row/column equilibration factors. | |
| template<uni20::LapackReal Scalar> | |
| void | uni20::lapack::gees (char jobvs, char sort, blas_int n, Scalar *a, blas_int lda, blas_int &selected_dimension, Scalar *wr, Scalar *wi, Scalar *vs, blas_int ldvs, Scalar *work, blas_int lwork, blas_int *bwork) |
| Compute the real Schur form of a real nonsymmetric matrix. | |
| template<uni20::LapackComplexReal Real> | |
| void | uni20::lapack::gees (char jobvs, char sort, blas_int n, uni20::detail::standard_complex< Real > *a, blas_int lda, blas_int &selected_dimension, uni20::detail::standard_complex< Real > *w, uni20::detail::standard_complex< Real > *vs, blas_int ldvs, uni20::detail::standard_complex< Real > *work, blas_int lwork, Real *rwork, blas_int *bwork) |
| Compute the complex Schur form of a complex nonsymmetric matrix. | |
| template<uni20::LapackReal Scalar> | |
| void | uni20::lapack::geev (char jobvl, char jobvr, blas_int n, Scalar *a, blas_int lda, Scalar *wr, Scalar *wi, Scalar *vl, blas_int ldvl, Scalar *vr, blas_int ldvr, Scalar *work, blas_int lwork) |
| Compute eigenvalues and optionally eigenvectors of a real nonsymmetric matrix. | |
| template<uni20::LapackComplexReal Real> | |
| void | uni20::lapack::geev (char jobvl, char jobvr, blas_int n, uni20::detail::standard_complex< Real > *a, blas_int lda, uni20::detail::standard_complex< Real > *w, uni20::detail::standard_complex< Real > *vl, blas_int ldvl, uni20::detail::standard_complex< Real > *vr, blas_int ldvr, uni20::detail::standard_complex< Real > *work, blas_int lwork, Real *rwork) |
| Compute eigenvalues and optionally eigenvectors of a complex nonsymmetric matrix. | |
| template<uni20::LapackReal Scalar> | |
| void | uni20::lapack::geevx (char balanc, char jobvl, char jobvr, char sense, blas_int n, Scalar *a, blas_int lda, Scalar *wr, Scalar *wi, Scalar *vl, blas_int ldvl, Scalar *vr, blas_int ldvr, blas_int &ilo, blas_int &ihi, Scalar *scale, Scalar &abnrm, Scalar *rconde, Scalar *rcondv, Scalar *work, blas_int lwork, blas_int *iwork) |
| Compute real nonsymmetric eigenpairs with balancing and condition estimates. | |
| template<uni20::LapackReal Scalar> | |
| void | uni20::lapack::gehrd (blas_int n, blas_int first, blas_int last, Scalar *a, blas_int lda, Scalar *tau, Scalar *work, blas_int lwork) |
| Reduce a real dense general matrix to upper Hessenberg form. | |
| template<uni20::LapackScalar Scalar> | |
| void | uni20::lapack::gelqf (blas_int m, blas_int n, Scalar *a, blas_int lda, Scalar *tau, Scalar *work, blas_int lwork) |
| Compute a real or complex dense LQ factorization through the configured LAPACK backend. | |
| template<uni20::LapackReal Scalar> | |
| void | uni20::lapack::gels (char trans, blas_int m, blas_int n, blas_int nrhs, Scalar *a, blas_int lda, Scalar *b, blas_int ldb, Scalar *work, blas_int lwork) |
| Solve a real dense general least-squares problem through the configured LAPACK backend. | |
| template<uni20::LapackReal Scalar> | |
| void | uni20::lapack::gelsd (blas_int m, blas_int n, blas_int nrhs, Scalar *a, blas_int lda, Scalar *b, blas_int ldb, Scalar *s, Scalar rcond, blas_int &rank, Scalar *work, blas_int lwork, blas_int *iwork) |
| Solve a real dense general least-squares problem by divide-and-conquer SVD. | |
| template<uni20::LapackReal Scalar> | |
| void | uni20::lapack::gelss (blas_int m, blas_int n, blas_int nrhs, Scalar *a, blas_int lda, Scalar *b, blas_int ldb, Scalar *s, Scalar rcond, blas_int &rank, Scalar *work, blas_int lwork) |
| Solve a real dense general least-squares problem by SVD. | |
| template<uni20::LapackReal Scalar> | |
| void | uni20::lapack::gelsy (blas_int m, blas_int n, blas_int nrhs, Scalar *a, blas_int lda, Scalar *b, blas_int ldb, blas_int *jpvt, Scalar rcond, blas_int &rank, Scalar *work, blas_int lwork) |
| Solve a real dense general least-squares problem by complete orthogonal factorization. | |
| template<uni20::LapackReal Scalar> | |
| void | uni20::lapack::geqlf (blas_int m, blas_int n, Scalar *a, blas_int lda, Scalar *tau, Scalar *work, blas_int lwork) |
| Compute a real dense QL factorization through the configured LAPACK backend. | |
| template<uni20::LapackReal Scalar> | |
| void | uni20::lapack::geqp3 (blas_int m, blas_int n, Scalar *a, blas_int lda, blas_int *jpvt, Scalar *tau, Scalar *work, blas_int lwork) |
| Compute a real dense pivoted QR factorization. | |
| template<uni20::LapackScalar Scalar> | |
| void | uni20::lapack::geqrf (blas_int m, blas_int n, Scalar *a, blas_int lda, Scalar *tau, Scalar *work, blas_int lwork) |
| Compute a real or complex dense QR factorization through the configured LAPACK backend. | |
| template<uni20::LapackReal Scalar> | |
| void | uni20::lapack::gerfs (char trans, blas_int n, blas_int nrhs, Scalar *a, blas_int lda, Scalar *factors, blas_int factor_lda, blas_int const *ipiv, Scalar *b, blas_int ldb, Scalar *x, blas_int ldx, Scalar *forward_error, Scalar *backward_error, Scalar *work, blas_int *iwork) |
| Refine a real dense general linear-system solve and return LAPACK diagnostics. | |
| template<uni20::LapackReal Scalar> | |
| void | uni20::lapack::gerqf (blas_int m, blas_int n, Scalar *a, blas_int lda, Scalar *tau, Scalar *work, blas_int lwork) |
| Compute a real dense RQ factorization through the configured LAPACK backend. | |
| template<uni20::LapackReal Scalar> | |
| void | uni20::lapack::gesdd (char jobz, blas_int m, blas_int n, Scalar *a, blas_int lda, Scalar *s, Scalar *u, blas_int ldu, Scalar *vt, blas_int ldvt, Scalar *work, blas_int lwork, blas_int *iwork) |
| Compute a real dense divide-and-conquer singular value decomposition. | |
| template<uni20::LapackComplexReal Real> | |
| void | uni20::lapack::gesdd (char jobz, blas_int m, blas_int n, uni20::detail::standard_complex< Real > *a, blas_int lda, Real *s, uni20::detail::standard_complex< Real > *u, blas_int ldu, uni20::detail::standard_complex< Real > *vt, blas_int ldvt, uni20::detail::standard_complex< Real > *work, blas_int lwork, Real *rwork, blas_int *iwork) |
| Compute a complex dense divide-and-conquer singular value decomposition. | |
| template<uni20::LapackReal Scalar> | |
| void | uni20::lapack::gesv (blas_int n, blas_int nrhs, Scalar *a, blas_int lda, blas_int *ipiv, Scalar *b, blas_int ldb) |
| Solve a real dense general linear system through the configured LAPACK backend. | |
| template<uni20::LapackComplexReal Real> | |
| void | uni20::lapack::gesv (blas_int n, blas_int nrhs, uni20::detail::standard_complex< Real > *a, blas_int lda, blas_int *ipiv, uni20::detail::standard_complex< Real > *b, blas_int ldb) |
| Solve a complex dense general linear system through the configured LAPACK backend. | |
| template<uni20::LapackReal Scalar> | |
| void | uni20::lapack::gesvd (char jobu, char jobvt, blas_int m, blas_int n, Scalar *a, blas_int lda, Scalar *s, Scalar *u, blas_int ldu, Scalar *vt, blas_int ldvt, Scalar *work, blas_int lwork) |
| Compute a real dense singular value decomposition. | |
| template<uni20::LapackComplexReal Real> | |
| void | uni20::lapack::gesvd (char jobu, char jobvt, blas_int m, blas_int n, uni20::detail::standard_complex< Real > *a, blas_int lda, Real *s, uni20::detail::standard_complex< Real > *u, blas_int ldu, uni20::detail::standard_complex< Real > *vt, blas_int ldvt, uni20::detail::standard_complex< Real > *work, blas_int lwork, Real *rwork) |
| Compute a complex dense singular value decomposition. | |
| template<uni20::LapackReal Scalar> | |
| void | uni20::lapack::gesvdx (char jobu, char jobvt, char range, blas_int m, blas_int n, Scalar *a, blas_int lda, Scalar vl, Scalar vu, blas_int il, blas_int iu, blas_int &selected_count, Scalar *singular_values, Scalar *u, blas_int ldu, Scalar *vt, blas_int ldvt, Scalar *work, blas_int lwork, blas_int *iwork) |
| Compute selected singular values/vectors of a real dense matrix. | |
| template<uni20::LapackComplexReal Real> | |
| void | uni20::lapack::gesvdx (char jobu, char jobvt, char range, blas_int m, blas_int n, uni20::detail::standard_complex< Real > *a, blas_int lda, Real vl, Real vu, blas_int il, blas_int iu, blas_int &selected_count, Real *singular_values, uni20::detail::standard_complex< Real > *u, blas_int ldu, uni20::detail::standard_complex< Real > *vt, blas_int ldvt, uni20::detail::standard_complex< Real > *work, blas_int lwork, Real *rwork, blas_int *iwork) |
| Compute selected singular values and vectors of a complex dense matrix. | |
| template<uni20::LapackReal Scalar> | |
| bool | uni20::lapack::gesvx (char fact, char trans, blas_int n, blas_int nrhs, Scalar *a, blas_int lda, Scalar *af, blas_int ldaf, blas_int *ipiv, char &equed, Scalar *row_scale, Scalar *column_scale, Scalar *b, blas_int ldb, Scalar *x, blas_int ldx, Scalar &rcond, Scalar *forward_error, Scalar *backward_error, Scalar *work, blas_int *iwork) |
| Solve a real dense general linear system with LAPACK expert-driver diagnostics. | |
| template<uni20::LapackReal Scalar> | |
| void | uni20::lapack::getrf (blas_int m, blas_int n, Scalar *a, blas_int lda, blas_int *ipiv) |
| Compute a real dense general LU factorization through the configured LAPACK backend. | |
| template<uni20::LapackComplexReal Real> | |
| void | uni20::lapack::getrf (blas_int m, blas_int n, uni20::detail::standard_complex< Real > *a, blas_int lda, blas_int *ipiv) |
| Compute a complex dense general LU factorization through the configured LAPACK backend. | |
| template<uni20::LapackReal Scalar> | |
| void | uni20::lapack::getri (blas_int n, Scalar *a, blas_int lda, blas_int *ipiv, Scalar *work, blas_int lwork) |
| Invert a real dense general matrix from an existing LU factorization. | |
| template<uni20::LapackComplexReal Real> | |
| void | uni20::lapack::getri (blas_int n, uni20::detail::standard_complex< Real > *a, blas_int lda, blas_int *ipiv, uni20::detail::standard_complex< Real > *work, blas_int lwork) |
| Invert a complex dense general matrix from an existing LU factorization. | |
| template<uni20::LapackReal Scalar> | |
| void | uni20::lapack::getrs (char trans, blas_int n, blas_int nrhs, Scalar *a, blas_int lda, blas_int const *ipiv, Scalar *b, blas_int ldb) |
| Solve using an existing real dense general LU factorization. | |
| template<uni20::LapackComplexReal Real> | |
| void | uni20::lapack::getrs (char trans, blas_int n, blas_int nrhs, uni20::detail::standard_complex< Real > *a, blas_int lda, blas_int const *ipiv, uni20::detail::standard_complex< Real > *b, blas_int ldb) |
| Solve using an existing complex dense general LU factorization. | |
| template<uni20::LapackReal Scalar> | |
| void | uni20::lapack::ggbak (char job, char side, blas_int n, blas_int first, blas_int last, Scalar *lscale, Scalar *rscale, blas_int vector_count, Scalar *vectors, blas_int leading_dimension) |
| Back-transform generalized nonsymmetric eigenvectors after pencil balancing. | |
| template<uni20::LapackReal Scalar> | |
| void | uni20::lapack::ggbal (char job, blas_int n, Scalar *a, blas_int lda, Scalar *b, blas_int ldb, blas_int &first, blas_int &last, Scalar *lscale, Scalar *rscale, Scalar *work) |
| Balance a real nonsymmetric matrix pencil before generalized eigenanalysis. | |
| template<uni20::LapackReal Scalar> | |
| void | uni20::lapack::gges (char jobvsl, char jobvsr, char sort, blas_int n, Scalar *a, blas_int lda, Scalar *b, blas_int ldb, blas_int &selected_dimension, Scalar *alphar, Scalar *alphai, Scalar *beta, Scalar *vsl, blas_int ldvsl, Scalar *vsr, blas_int ldvsr, Scalar *work, blas_int lwork, blas_int *bwork) |
| Compute a generalized real Schur form of a real nonsymmetric matrix pencil. | |
| template<uni20::LapackReal Scalar> | |
| void | uni20::lapack::ggev (char jobvl, char jobvr, blas_int n, Scalar *a, blas_int lda, Scalar *b, blas_int ldb, Scalar *alphar, Scalar *alphai, Scalar *beta, Scalar *vl, blas_int ldvl, Scalar *vr, blas_int ldvr, Scalar *work, blas_int lwork) |
| Compute generalized eigenvalues and optionally eigenvectors of a real nonsymmetric matrix pencil. | |
| template<uni20::LapackReal Scalar> | |
| void | uni20::lapack::ggevx (char balanc, char jobvl, char jobvr, char sense, blas_int n, Scalar *a, blas_int lda, Scalar *b, blas_int ldb, Scalar *alphar, Scalar *alphai, Scalar *beta, Scalar *vl, blas_int ldvl, Scalar *vr, blas_int ldvr, blas_int &ilo, blas_int &ihi, Scalar *lscale, Scalar *rscale, Scalar &abnrm, Scalar &bbnrm, Scalar *rconde, Scalar *rcondv, Scalar *work, blas_int lwork, blas_int *iwork, blas_int *bwork) |
| Compute generalized real nonsymmetric eigenpairs with balancing and condition estimates. | |
| template<uni20::LapackReal Scalar> | |
| void | uni20::lapack::gghrd (char compq, char compz, blas_int n, blas_int first, blas_int last, Scalar *a, blas_int lda, Scalar *b, blas_int ldb, Scalar *q, blas_int ldq, Scalar *z, blas_int ldz) |
| Reduce a real matrix pencil to generalized Hessenberg form. | |
| template<uni20::LapackReal Scalar> | |
| Scalar | uni20::lapack::gtcon (char norm, blas_int n, Scalar *dl, Scalar *d, Scalar *du, Scalar *du2, blas_int const *ipiv, Scalar matrix_norm, Scalar *work, blas_int *iwork) |
| Estimate a real tridiagonal reciprocal condition number. | |
| template<uni20::LapackReal Scalar> | |
| void | uni20::lapack::gtrfs (char trans, blas_int n, blas_int nrhs, Scalar *dl, Scalar *d, Scalar *du, Scalar *dlf, Scalar *df, Scalar *duf, Scalar *du2, blas_int const *ipiv, Scalar *b, blas_int ldb, Scalar *x, blas_int ldx, Scalar *forward_error, Scalar *backward_error, Scalar *work, blas_int *iwork) |
| Refine a real tridiagonal linear-system solve and return LAPACK diagnostics. | |
| template<uni20::LapackReal Scalar> | |
| void | uni20::lapack::gtsv (blas_int n, blas_int nrhs, Scalar *dl, Scalar *d, Scalar *du, Scalar *b, blas_int ldb) |
| Solve a real tridiagonal linear system through the configured LAPACK backend. | |
| template<uni20::LapackReal Scalar> | |
| bool | uni20::lapack::gtsvx (char fact, char trans, blas_int n, blas_int nrhs, Scalar *dl, Scalar *d, Scalar *du, Scalar *dlf, Scalar *df, Scalar *duf, Scalar *du2, blas_int *ipiv, Scalar *b, blas_int ldb, Scalar *x, blas_int ldx, Scalar &rcond, Scalar *forward_error, Scalar *backward_error, Scalar *work, blas_int *iwork) |
| Solve a real tridiagonal linear system with LAPACK expert-driver diagnostics. | |
| template<uni20::LapackReal Scalar> | |
| void | uni20::lapack::gttrf (blas_int n, Scalar *dl, Scalar *d, Scalar *du, Scalar *du2, blas_int *ipiv) |
| Compute a real tridiagonal LU factorization through the configured LAPACK backend. | |
| template<uni20::LapackReal Scalar> | |
| void | uni20::lapack::gttrs (char trans, blas_int n, blas_int nrhs, Scalar *dl, Scalar *d, Scalar *du, Scalar *du2, blas_int const *ipiv, Scalar *b, blas_int ldb) |
| Solve using an existing real tridiagonal LU factorization. | |
| template<uni20::LapackComplexReal Real> | |
| void | uni20::lapack::heev (char jobz, char uplo, blas_int n, uni20::detail::standard_complex< Real > *a, blas_int lda, Real *w, uni20::detail::standard_complex< Real > *work, blas_int lwork, Real *rwork) |
| Compute eigenvalues and optionally eigenvectors of a complex Hermitian matrix. | |
| template<uni20::LapackComplexReal Real> | |
| void | uni20::lapack::heevd (char jobz, char uplo, blas_int n, uni20::detail::standard_complex< Real > *a, blas_int lda, Real *w, uni20::detail::standard_complex< Real > *work, blas_int lwork, Real *rwork, blas_int lrwork, blas_int *iwork, blas_int liwork) |
| Compute eigenvalues and optionally eigenvectors of a complex Hermitian matrix by divide and conquer. | |
| template<uni20::LapackComplexReal Real> | |
| void | uni20::lapack::heevr (char jobz, char range, char uplo, blas_int n, uni20::detail::standard_complex< Real > *a, blas_int lda, Real vl, Real vu, blas_int il, blas_int iu, Real abstol, blas_int &selected_count, Real *w, uni20::detail::standard_complex< Real > *z, blas_int ldz, blas_int *isuppz, uni20::detail::standard_complex< Real > *work, blas_int lwork, Real *rwork, blas_int lrwork, blas_int *iwork, blas_int liwork) |
| Compute selected eigenvalues and optionally eigenvectors of a complex Hermitian matrix. | |
| template<uni20::LapackComplexReal Real> | |
| void | uni20::lapack::hegv (blas_int itype, char jobz, char uplo, blas_int n, uni20::detail::standard_complex< Real > *a, blas_int lda, uni20::detail::standard_complex< Real > *b, blas_int ldb, Real *w, uni20::detail::standard_complex< Real > *work, blas_int lwork, Real *rwork) |
| Compute eigenvalues and optionally eigenvectors of a complex generalized Hermitian-definite problem. | |
| template<uni20::LapackComplexReal Real> | |
| void | uni20::lapack::hegvd (blas_int itype, char jobz, char uplo, blas_int n, uni20::detail::standard_complex< Real > *a, blas_int lda, uni20::detail::standard_complex< Real > *b, blas_int ldb, Real *w, uni20::detail::standard_complex< Real > *work, blas_int lwork, Real *rwork, blas_int lrwork, blas_int *iwork, blas_int liwork) |
| Compute eigenvalues and optionally eigenvectors of a complex generalized Hermitian-definite problem by divide and conquer. | |
| template<uni20::LapackComplexReal Real> | |
| void | uni20::lapack::hegvx (blas_int itype, char jobz, char range, char uplo, blas_int n, uni20::detail::standard_complex< Real > *a, blas_int lda, uni20::detail::standard_complex< Real > *b, blas_int ldb, Real vl, Real vu, blas_int il, blas_int iu, Real abstol, blas_int &selected_count, Real *w, uni20::detail::standard_complex< Real > *z, blas_int ldz, uni20::detail::standard_complex< Real > *work, blas_int lwork, Real *rwork, blas_int *iwork, blas_int *ifail) |
| Compute selected eigenvalues and optionally eigenvectors of a complex generalized Hermitian-definite problem. | |
| template<uni20::LapackReal Scalar> | |
| void | uni20::lapack::hgeqz (char job, char compq, char compz, blas_int n, blas_int first, blas_int last, Scalar *h, blas_int ldh, Scalar *t, blas_int ldt, Scalar *alphar, Scalar *alphai, Scalar *beta, Scalar *q, blas_int ldq, Scalar *z, blas_int ldz, Scalar *work, blas_int lwork) |
| Compute a generalized Schur form from a real Hessenberg-triangular pencil. | |
| template<uni20::LapackReal Scalar> | |
| void | uni20::lapack::hseqr (char job, char compz, blas_int n, blas_int first, blas_int last, Scalar *h, blas_int ldh, Scalar *wr, Scalar *wi, Scalar *z, blas_int ldz, Scalar *work, blas_int lwork) |
| Compute a Schur form of a real upper Hessenberg matrix. | |
| template<uni20::LapackReal Scalar> | |
| Scalar | uni20::lapack::langb (char norm, blas_int n, blas_int kl, blas_int ku, Scalar *ab, blas_int ldab, Scalar *work) |
| Compute a real general-band matrix norm through the configured LAPACK backend. | |
| template<uni20::LapackReal Scalar> | |
| Scalar | uni20::lapack::lange (char norm, blas_int m, blas_int n, Scalar *a, blas_int lda, Scalar *work) |
| Compute a dense real matrix norm through the configured LAPACK backend. | |
| template<uni20::LapackComplexReal Real> | |
| Real | uni20::lapack::lange (char norm, blas_int m, blas_int n, uni20::detail::standard_complex< Real > *a, blas_int lda, Real *work) |
| Compute a dense complex matrix norm through the configured LAPACK backend. | |
| template<uni20::LapackComplexReal Real> | |
| Real | uni20::lapack::lanhe (char norm, char uplo, blas_int n, uni20::detail::standard_complex< Real > *a, blas_int lda, Real *work) |
| Compute a dense complex Hermitian matrix norm through the configured LAPACK backend. | |
| template<uni20::LapackReal Scalar> | |
| Scalar | uni20::lapack::lansy (char norm, char uplo, blas_int n, Scalar *a, blas_int lda, Scalar *work) |
| Compute a dense real symmetric matrix norm through the configured LAPACK backend. | |
| template<uni20::LapackReal Scalar> | |
| Scalar | uni20::lapack::lantr (char norm, char uplo, char diag, blas_int m, blas_int n, Scalar *a, blas_int lda, Scalar *work) |
| Compute a dense real triangular or trapezoidal matrix norm through the configured LAPACK backend. | |
| template<uni20::LapackComplexReal Real> | |
| Real | uni20::lapack::lantr (char norm, char uplo, char diag, blas_int m, blas_int n, uni20::detail::standard_complex< Real > *a, blas_int lda, Real *work) |
| Compute a dense complex triangular or trapezoidal matrix norm through the configured LAPACK backend. | |
| template<uni20::LapackReal Scalar> | |
| void | uni20::lapack::orgbr (char vect, blas_int m, blas_int n, blas_int k, Scalar *a, blas_int lda, Scalar *tau, Scalar *work, blas_int lwork) |
| Generate an explicit real orthogonal factor from bidiagonal reduction. | |
| template<uni20::LapackReal Scalar> | |
| void | uni20::lapack::orghr (blas_int n, blas_int first, blas_int last, Scalar *a, blas_int lda, Scalar const *tau, Scalar *work, blas_int lwork) |
| Generate an explicit real orthogonal factor from Hessenberg reduction. | |
| template<uni20::LapackScalar Scalar> | |
| void | uni20::lapack::orglq (blas_int m, blas_int n, blas_int k, Scalar *a, blas_int lda, Scalar *tau, Scalar *work, blas_int lwork) |
| Generate an explicit orthogonal or unitary Q factor from an LQ factorization. | |
| template<uni20::LapackReal Scalar> | |
| void | uni20::lapack::orgql (blas_int m, blas_int n, blas_int k, Scalar *a, blas_int lda, Scalar *tau, Scalar *work, blas_int lwork) |
| Generate an explicit real Q factor from a QL factorization. | |
| template<uni20::LapackScalar Scalar> | |
| void | uni20::lapack::orgqr (blas_int m, blas_int n, blas_int k, Scalar *a, blas_int lda, Scalar *tau, Scalar *work, blas_int lwork) |
| Generate an explicit orthogonal or unitary Q factor from a QR factorization. | |
| template<uni20::LapackReal Scalar> | |
| void | uni20::lapack::orgrq (blas_int m, blas_int n, blas_int k, Scalar *a, blas_int lda, Scalar *tau, Scalar *work, blas_int lwork) |
| Generate an explicit real Q factor from an RQ factorization. | |
| template<uni20::LapackReal Scalar> | |
| void | uni20::lapack::orgtr (char uplo, blas_int n, Scalar *a, blas_int lda, Scalar const *tau, Scalar *work, blas_int lwork) |
| Generate an explicit real orthogonal factor from symmetric tridiagonal reduction. | |
| template<uni20::LapackReal Scalar> | |
| void | uni20::lapack::ormbr (char vect, char side, char trans, blas_int m, blas_int n, blas_int k, Scalar *a, blas_int lda, Scalar *tau, Scalar *c, blas_int ldc, Scalar *work, blas_int lwork) |
| Multiply by an implicit real orthogonal factor from bidiagonal reduction. | |
| template<uni20::LapackReal Scalar> | |
| void | uni20::lapack::ormhr (char side, char trans, blas_int m, blas_int n, blas_int first, blas_int last, Scalar *a, blas_int lda, Scalar const *tau, Scalar *c, blas_int ldc, Scalar *work, blas_int lwork) |
| Multiply by an implicit real orthogonal factor from Hessenberg reduction. | |
| template<uni20::LapackReal Scalar> | |
| void | uni20::lapack::ormlq (char side, char trans, blas_int m, blas_int n, blas_int k, Scalar *a, blas_int lda, Scalar *tau, Scalar *c, blas_int ldc, Scalar *work, blas_int lwork) |
| Multiply by the implicit real Q factor from an LQ factorization. | |
| template<uni20::LapackReal Scalar> | |
| void | uni20::lapack::ormql (char side, char trans, blas_int m, blas_int n, blas_int k, Scalar *a, blas_int lda, Scalar *tau, Scalar *c, blas_int ldc, Scalar *work, blas_int lwork) |
| Multiply by the implicit real Q factor from a QL factorization. | |
| template<uni20::LapackReal Scalar> | |
| void | uni20::lapack::ormqr (char side, char trans, blas_int m, blas_int n, blas_int k, Scalar *a, blas_int lda, Scalar *tau, Scalar *c, blas_int ldc, Scalar *work, blas_int lwork) |
| Multiply by the implicit real Q factor from a QR factorization. | |
| template<uni20::LapackReal Scalar> | |
| void | uni20::lapack::ormrq (char side, char trans, blas_int m, blas_int n, blas_int k, Scalar *a, blas_int lda, Scalar *tau, Scalar *c, blas_int ldc, Scalar *work, blas_int lwork) |
| Multiply by the implicit real Q factor from an RQ factorization. | |
| template<uni20::LapackReal Scalar> | |
| void | uni20::lapack::ormtr (char side, char uplo, char trans, blas_int m, blas_int n, Scalar *a, blas_int lda, Scalar const *tau, Scalar *c, blas_int ldc, Scalar *work, blas_int lwork) |
| Multiply by an implicit real orthogonal factor from symmetric tridiagonal reduction. | |
| template<uni20::LapackReal Scalar> | |
| Scalar | uni20::lapack::pbcon (char uplo, blas_int n, blas_int kd, Scalar *ab, blas_int ldab, Scalar anorm, Scalar *work, blas_int *iwork) |
| Estimate a real symmetric positive-definite band reciprocal condition number. | |
| template<uni20::LapackReal Scalar> | |
| void | uni20::lapack::pbrfs (char uplo, blas_int n, blas_int kd, blas_int nrhs, Scalar *ab, blas_int ldab, Scalar *afb, blas_int ldafb, Scalar *b, blas_int ldb, Scalar *x, blas_int ldx, Scalar *forward_error, Scalar *backward_error, Scalar *work, blas_int *iwork) |
| Refine a real symmetric positive-definite band solve and return LAPACK diagnostics. | |
| template<uni20::LapackReal Scalar> | |
| void | uni20::lapack::pbsv (char uplo, blas_int n, blas_int kd, blas_int nrhs, Scalar *ab, blas_int ldab, Scalar *b, blas_int ldb) |
| Solve a real symmetric positive-definite band linear system. | |
| template<uni20::LapackReal Scalar> | |
| bool | uni20::lapack::pbsvx (char fact, char uplo, blas_int n, blas_int kd, blas_int nrhs, Scalar *ab, blas_int ldab, Scalar *afb, blas_int ldafb, char &equed, Scalar *scale, Scalar *b, blas_int ldb, Scalar *x, blas_int ldx, Scalar &rcond, Scalar *forward_error, Scalar *backward_error, Scalar *work, blas_int *iwork) |
| Solve a real symmetric positive-definite band system with LAPACK expert-driver diagnostics. | |
| template<uni20::LapackReal Scalar> | |
| void | uni20::lapack::pbtrf (char uplo, blas_int n, blas_int kd, Scalar *ab, blas_int ldab) |
| Compute a real symmetric positive-definite band Cholesky factorization. | |
| template<uni20::LapackReal Scalar> | |
| void | uni20::lapack::pbtrs (char uplo, blas_int n, blas_int kd, blas_int nrhs, Scalar *ab, blas_int ldab, Scalar *b, blas_int ldb) |
| Solve using an existing real symmetric positive-definite band Cholesky factorization. | |
| template<uni20::LapackReal Scalar> | |
| Scalar | uni20::lapack::pocon (char uplo, blas_int n, Scalar *a, blas_int lda, Scalar matrix_one_norm, Scalar *work, blas_int *iwork) |
| Estimate a real dense SPD reciprocal condition number. | |
| template<uni20::LapackReal Scalar> | |
| void | uni20::lapack::poequ (blas_int n, Scalar *a, blas_int lda, Scalar *scale, Scalar &scale_condition, Scalar &max_abs) |
| Compute real dense SPD equilibration factors. | |
| template<uni20::LapackReal Scalar> | |
| void | uni20::lapack::porfs (char uplo, blas_int n, blas_int nrhs, Scalar *a, blas_int lda, Scalar *factors, blas_int factor_lda, Scalar *b, blas_int ldb, Scalar *x, blas_int ldx, Scalar *forward_error, Scalar *backward_error, Scalar *work, blas_int *iwork) |
| Refine a real dense SPD linear-system solve and return LAPACK diagnostics. | |
| template<uni20::LapackReal Scalar> | |
| bool | uni20::lapack::posvx (char fact, char uplo, blas_int n, blas_int nrhs, Scalar *a, blas_int lda, Scalar *af, blas_int ldaf, char &equed, Scalar *scale, Scalar *b, blas_int ldb, Scalar *x, blas_int ldx, Scalar &rcond, Scalar *forward_error, Scalar *backward_error, Scalar *work, blas_int *iwork) |
| Solve a real dense SPD linear system with LAPACK expert-driver diagnostics. | |
| template<uni20::LapackReal Scalar> | |
| void | uni20::lapack::potrf (char uplo, blas_int n, Scalar *a, blas_int lda) |
| Compute a real dense Cholesky factorization. | |
| template<uni20::LapackReal Scalar> | |
| void | uni20::lapack::potri (char uplo, blas_int n, Scalar *a, blas_int lda) |
| Invert a real dense matrix from an existing Cholesky factorization. | |
| template<uni20::LapackReal Scalar> | |
| void | uni20::lapack::potrs (char uplo, blas_int n, blas_int nrhs, Scalar *a, blas_int lda, Scalar *b, blas_int ldb) |
| Solve using an existing real dense Cholesky factorization. | |
| template<uni20::LapackReal Scalar> | |
| bool | uni20::lapack::pstrf (char uplo, blas_int n, Scalar *a, blas_int lda, blas_int *pivots, blas_int &rank, Scalar tolerance, Scalar *work) |
| Compute a real dense pivoted Cholesky factorization. | |
| template<uni20::LapackReal Scalar> | |
| Scalar | uni20::lapack::ptcon (blas_int n, Scalar *d, Scalar *e, Scalar matrix_norm, Scalar *work) |
| Estimate a real symmetric positive-definite tridiagonal reciprocal condition number. | |
| template<uni20::LapackReal Scalar> | |
| void | uni20::lapack::ptrfs (blas_int n, blas_int nrhs, Scalar *d, Scalar *e, Scalar *df, Scalar *ef, Scalar *b, blas_int ldb, Scalar *x, blas_int ldx, Scalar *forward_error, Scalar *backward_error, Scalar *work) |
| Refine a real symmetric positive-definite tridiagonal solve and return LAPACK diagnostics. | |
| template<uni20::LapackReal Scalar> | |
| void | uni20::lapack::ptsv (blas_int n, blas_int nrhs, Scalar *d, Scalar *e, Scalar *b, blas_int ldb) |
| Solve a real symmetric positive-definite tridiagonal linear system. | |
| template<uni20::LapackReal Scalar> | |
| bool | uni20::lapack::ptsvx (char fact, blas_int n, blas_int nrhs, Scalar *d, Scalar *e, Scalar *df, Scalar *ef, Scalar *b, blas_int ldb, Scalar *x, blas_int ldx, Scalar &rcond, Scalar *forward_error, Scalar *backward_error, Scalar *work) |
| Solve a real symmetric positive-definite tridiagonal system with LAPACK expert-driver diagnostics. | |
| template<uni20::LapackReal Scalar> | |
| void | uni20::lapack::pttrf (blas_int n, Scalar *d, Scalar *e) |
| Compute a real symmetric positive-definite tridiagonal factorization. | |
| template<uni20::LapackReal Scalar> | |
| void | uni20::lapack::pttrs (blas_int n, blas_int nrhs, Scalar *d, Scalar *e, Scalar *b, blas_int ldb) |
| Solve using an existing real symmetric positive-definite tridiagonal factorization. | |
| template<uni20::LapackReal Scalar> | |
| void | uni20::lapack::steqr (char compz, blas_int n, Scalar *d, Scalar *e, Scalar *z, blas_int ldz, Scalar *work) |
| Compute a real symmetric tridiagonal eigensystem by QR iteration. | |
| template<uni20::LapackReal Scalar> | |
| void | uni20::lapack::sterf (blas_int n, Scalar *d, Scalar *e) |
| Compute eigenvalues of a real symmetric tridiagonal matrix. | |
| template<uni20::LapackReal Scalar> | |
| void | uni20::lapack::stevd (char jobz, blas_int n, Scalar *d, Scalar *e, Scalar *z, blas_int ldz, Scalar *work, blas_int lwork, blas_int *iwork, blas_int liwork) |
| Compute a real symmetric tridiagonal eigensystem by divide-and-conquer. | |
| template<uni20::LapackReal Scalar> | |
| void | uni20::lapack::stevr (char jobz, char range, blas_int n, Scalar *d, Scalar *e, Scalar vl, Scalar vu, blas_int il, blas_int iu, Scalar abstol, blas_int &selected_count, Scalar *w, Scalar *z, blas_int ldz, blas_int *isuppz, Scalar *work, blas_int lwork, blas_int *iwork, blas_int liwork) |
| Compute selected eigenvalues/eigenvectors of a real symmetric tridiagonal matrix. | |
| template<uni20::LapackReal Scalar> | |
| Scalar | uni20::lapack::sycon (char uplo, blas_int n, Scalar *a, blas_int lda, blas_int const *ipiv, Scalar matrix_one_norm, Scalar *work, blas_int *iwork) |
| Estimate a dense real symmetric-indefinite reciprocal condition number. | |
| template<uni20::LapackReal Scalar> | |
| void | uni20::lapack::syev (char jobz, char uplo, blas_int n, Scalar *a, blas_int lda, Scalar *w, Scalar *work, blas_int lwork) |
| Compute eigenvalues and optionally eigenvectors of a real symmetric matrix. | |
| template<uni20::LapackReal Scalar> | |
| void | uni20::lapack::syevd (char jobz, char uplo, blas_int n, Scalar *a, blas_int lda, Scalar *w, Scalar *work, blas_int lwork, blas_int *iwork, blas_int liwork) |
| Compute eigenvalues and optionally eigenvectors of a real symmetric matrix by divide and conquer. | |
| template<uni20::LapackReal Scalar> | |
| void | uni20::lapack::syevr (char jobz, char range, char uplo, blas_int n, Scalar *a, blas_int lda, Scalar vl, Scalar vu, blas_int il, blas_int iu, Scalar abstol, blas_int &selected_count, Scalar *w, Scalar *z, blas_int ldz, blas_int *isuppz, Scalar *work, blas_int lwork, blas_int *iwork, blas_int liwork) |
| Compute selected eigenvalues and optionally eigenvectors of a real symmetric matrix. | |
| template<uni20::LapackReal Scalar> | |
| void | uni20::lapack::sygv (blas_int itype, char jobz, char uplo, blas_int n, Scalar *a, blas_int lda, Scalar *b, blas_int ldb, Scalar *w, Scalar *work, blas_int lwork) |
| Compute eigenvalues and optionally eigenvectors of a real generalized symmetric-definite problem. | |
| template<uni20::LapackReal Scalar> | |
| void | uni20::lapack::sygvd (blas_int itype, char jobz, char uplo, blas_int n, Scalar *a, blas_int lda, Scalar *b, blas_int ldb, Scalar *w, Scalar *work, blas_int lwork, blas_int *iwork, blas_int liwork) |
| Compute eigenvalues and optionally eigenvectors of a real generalized symmetric-definite problem by divide and conquer. | |
| template<uni20::LapackReal Scalar> | |
| void | uni20::lapack::sygvx (blas_int itype, char jobz, char range, char uplo, blas_int n, Scalar *a, blas_int lda, Scalar *b, blas_int ldb, Scalar vl, Scalar vu, blas_int il, blas_int iu, Scalar abstol, blas_int &selected_count, Scalar *w, Scalar *z, blas_int ldz, Scalar *work, blas_int lwork, blas_int *iwork, blas_int *ifail) |
| Compute selected eigenvalues and optionally eigenvectors of a real generalized symmetric-definite problem. | |
| template<uni20::LapackReal Scalar> | |
| void | uni20::lapack::syrfs (char uplo, blas_int n, blas_int nrhs, Scalar *a, blas_int lda, Scalar *factors, blas_int factor_lda, blas_int const *ipiv, Scalar *b, blas_int ldb, Scalar *x, blas_int ldx, Scalar *forward_error, Scalar *backward_error, Scalar *work, blas_int *iwork) |
| Refine a dense real symmetric-indefinite solve and return LAPACK diagnostics. | |
| template<uni20::LapackReal Scalar> | |
| bool | uni20::lapack::sysvx (char fact, char uplo, blas_int n, blas_int nrhs, Scalar *a, blas_int lda, Scalar *af, blas_int ldaf, blas_int *ipiv, Scalar *b, blas_int ldb, Scalar *x, blas_int ldx, Scalar &rcond, Scalar *forward_error, Scalar *backward_error, Scalar *work, blas_int lwork, blas_int *iwork) |
| Solve a dense real symmetric-indefinite system with LAPACK expert-driver diagnostics. | |
| template<uni20::LapackReal Scalar> | |
| void | uni20::lapack::sytrd (char uplo, blas_int n, Scalar *a, blas_int lda, Scalar *d, Scalar *e, Scalar *tau, Scalar *work, blas_int lwork) |
| Reduce a real dense symmetric matrix to tridiagonal form. | |
| template<uni20::LapackReal Scalar> | |
| void | uni20::lapack::sytrf (char uplo, blas_int n, Scalar *a, blas_int lda, blas_int *ipiv, Scalar *work, blas_int lwork) |
| Compute a dense real symmetric-indefinite Bunch-Kaufman factorization. | |
| template<uni20::LapackReal Scalar> | |
| void | uni20::lapack::sytri (char uplo, blas_int n, Scalar *a, blas_int lda, blas_int const *ipiv, Scalar *work) |
| Invert a dense real symmetric-indefinite matrix from its factorization. | |
| template<uni20::LapackReal Scalar> | |
| void | uni20::lapack::sytrs (char uplo, blas_int n, blas_int nrhs, Scalar *a, blas_int lda, blas_int const *ipiv, Scalar *b, blas_int ldb) |
| Solve using an existing dense real symmetric-indefinite factorization. | |
| template<uni20::LapackReal Scalar> | |
| void | uni20::lapack::tgevc (char side, char howmny, blas_int *select, blas_int n, Scalar *s, blas_int lds, Scalar *p, blas_int ldp, Scalar *vl, blas_int ldvl, Scalar *vr, blas_int ldvr, blas_int mm, blas_int &computed_vectors, Scalar *work) |
| Compute eigenvectors of a generalized real Schur form. | |
| template<uni20::LapackReal Scalar> | |
| void | uni20::lapack::tgexc (bool wantq, bool wantz, blas_int n, Scalar *a, blas_int lda, Scalar *b, blas_int ldb, Scalar *q, blas_int ldq, Scalar *z, blas_int ldz, blas_int &first, blas_int &last, Scalar *work, blas_int lwork) |
| Reorder adjacent blocks in a generalized real Schur form. | |
| template<uni20::LapackReal Scalar> | |
| void | uni20::lapack::tgsen (blas_int ijob, bool wantq, bool wantz, blas_int *select, blas_int n, Scalar *a, blas_int lda, Scalar *b, blas_int ldb, Scalar *alphar, Scalar *alphai, Scalar *beta, Scalar *q, blas_int ldq, Scalar *z, blas_int ldz, blas_int &selected_dimension, Scalar &pl, Scalar &pr, Scalar *dif, Scalar *work, blas_int lwork, blas_int *iwork, blas_int liwork) |
| Reorder selected blocks in a generalized real Schur form and estimate conditioning. | |
| template<uni20::LapackReal Scalar> | |
| void | uni20::lapack::tgsna (char job, char howmny, blas_int *select, blas_int n, Scalar *a, blas_int lda, Scalar *b, blas_int ldb, Scalar *vl, blas_int ldvl, Scalar *vr, blas_int ldvr, Scalar *reciprocal_eigenvalue_condition_numbers, Scalar *reciprocal_eigenvector_condition_numbers, blas_int mm, blas_int &computed_estimates, Scalar *work, blas_int lwork, blas_int *iwork) |
| Estimate reciprocal condition numbers for generalized real Schur eigenpairs. | |
| template<uni20::LapackReal Scalar> | |
| Scalar | uni20::lapack::trcon (char norm, char uplo, char diag, blas_int n, Scalar *a, blas_int lda, Scalar *work, blas_int *iwork) |
| Estimate a dense real triangular reciprocal condition number. | |
| template<uni20::LapackReal Scalar> | |
| void | uni20::lapack::trevc (char side, char howmny, blas_int *select, blas_int n, Scalar *t, blas_int ldt, Scalar *vl, blas_int ldvl, Scalar *vr, blas_int ldvr, blas_int mm, blas_int &computed_vectors, Scalar *work) |
| Compute eigenvectors of a real upper quasi-triangular Schur form. | |
| template<uni20::LapackReal Scalar> | |
| void | uni20::lapack::trexc (char compq, blas_int n, Scalar *t, blas_int ldt, Scalar *q, blas_int ldq, blas_int &first, blas_int &last, Scalar *work) |
| Reorder adjacent blocks in a real Schur form. | |
| template<uni20::LapackComplexReal Real> | |
| void | uni20::lapack::trexc (char compq, blas_int n, uni20::detail::standard_complex< Real > *t, blas_int ldt, uni20::detail::standard_complex< Real > *q, blas_int ldq, blas_int &first, blas_int &last) |
| Reorder adjacent entries in a complex Schur form. | |
| template<uni20::LapackReal Scalar> | |
| void | uni20::lapack::trrfs (char uplo, char trans, char diag, blas_int n, blas_int nrhs, Scalar *a, blas_int lda, Scalar *b, blas_int ldb, Scalar *x, blas_int ldx, Scalar *forward_error, Scalar *backward_error, Scalar *work, blas_int *iwork) |
| Refine a dense real triangular solve and return LAPACK diagnostics. | |
| template<uni20::LapackReal Scalar> | |
| void | uni20::lapack::trsen (char job, char compq, blas_int *select, blas_int n, Scalar *t, blas_int ldt, Scalar *q, blas_int ldq, Scalar *wr, Scalar *wi, blas_int &selected_dimension, Scalar &reciprocal_eigenvalue_cluster_condition, Scalar &reciprocal_invariant_subspace_condition, Scalar *work, blas_int lwork, blas_int *iwork, blas_int liwork) |
| Reorder selected blocks in a real Schur form and estimate invariant subspace conditioning. | |
| template<uni20::LapackReal Scalar> | |
| void | uni20::lapack::trsna (char job, char howmny, blas_int *select, blas_int n, Scalar *t, blas_int ldt, Scalar *vl, blas_int ldvl, Scalar *vr, blas_int ldvr, Scalar *reciprocal_eigenvalue_condition_numbers, Scalar *reciprocal_eigenvector_condition_numbers, blas_int mm, blas_int &computed_estimates, Scalar *work, blas_int ldwork, blas_int *iwork) |
| Estimate reciprocal condition numbers for real Schur eigenpairs. | |
| template<uni20::LapackReal Scalar> | |
| bool | uni20::lapack::trsyl (char trans_a, char trans_b, blas_int sign, blas_int m, blas_int n, Scalar *a, blas_int lda, Scalar *b, blas_int ldb, Scalar *c, blas_int ldc, Scalar &scale) |
| Solve a dense real Sylvester equation. | |
| template<uni20::LapackReal Scalar> | |
| void | uni20::lapack::trtri (char uplo, char diag, blas_int n, Scalar *a, blas_int lda) |
| Invert a dense real triangular matrix. | |
| template<uni20::LapackReal Scalar> | |
| void | uni20::lapack::trtrs (char uplo, char trans, char diag, blas_int n, blas_int nrhs, Scalar *a, blas_int lda, Scalar *b, blas_int ldb) |
| Solve a dense real triangular system. | |
Checked LAPACK wrappers over provider-specific unchecked overloads.