|
| template<uni20::MutableRankedStridedMdspanLike< 2 > MatrixMdspan, class EigenScalar , uni20::MutableRankedStridedMdspanLike< 2 > SchurVectorMdspan> |
| consteval auto | hessenberg_schur_acceptance () |
| | Report compile-time eligibility for resolved real upper-Hessenberg Schur decomposition.
|
| |
| char | lapack_matrix_norm (MatrixNorm kind, bool transposed) |
| |
| char | lapack_triangle (MatrixTriangle triangle) |
| |
| template<class CoefficientMdspan , class RhsMdspan > |
| consteval auto | linear_solve_acceptance () |
| |
| template<class LMdspan , class QMdspan , class MatrixMdspan > |
| consteval auto | lq_acceptance () |
| |
| template<class Output , class MatrixMdspan > |
| consteval auto | matrix_norm_acceptance () |
| |
| template<uni20::MutableRankedStridedMdspanLike< 2 > MatrixMdspan, class EigenScalar , uni20::MutableRankedMdspanLike< 2 > RightEigenvectorMdspan> |
| consteval auto | nonsymmetric_eigen_acceptance () |
| | Report compile-time eligibility for resolved LAPACK nonsymmetric eigenanalysis.
|
| |
| template<class QMdspan , class RMdspan , class MatrixMdspan > |
| consteval auto | qr_acceptance () |
| |
| template<uni20::LapackScalar Scalar, class MatrixHandle , class ValueHandle > |
| KernelAttempt | run_gesvd (char jobu, char jobvt, std::size_t rank, uni20::linalg::blas::BlasWritableMatrix< Scalar, MatrixHandle > const &matrix, uni20::linalg::blas::BlasWritableVector< uni20::make_real_t< Scalar >, ValueHandle > const &values, Scalar *left, blas_int left_leading_dimension, Scalar *right, blas_int right_leading_dimension) |
| |
| template<uni20::MutableRankedStridedMdspanLike< 2 > MatrixMdspan, class EigenScalar , uni20::MutableRankedStridedMdspanLike< 2 > SchurVectorMdspan> |
| consteval auto | schur_acceptance () |
| | Report compile-time eligibility for resolved LAPACK Schur decomposition.
|
| |
| template<uni20::MutableRankedStridedMdspanLike< 2 > SchurFormMdspan, uni20::MutableRankedStridedMdspanLike< 2 > SchurVectorMdspan> |
| consteval auto | schur_reorder_acceptance () |
| | Report compile-time eligibility for resolved LAPACK Schur reordering.
|
| |
| template<uni20::MutableRankedStridedMdspanLike< 1 > EigenvalueMdspan, uni20::MutableRankedStridedMdspanLike< 2 > MatrixMdspan> |
| consteval auto | self_adjoint_eigh_acceptance () |
| | Report compile-time eligibility for resolved LAPACK self-adjoint eigenanalysis.
|
| |
| template<class MatrixMdspan > |
| void | set_identity (MatrixMdspan &&matrix) |
| |
| template<uni20::MutableRankedStridedMdspanLike< 1 > SingularValueMdspan, uni20::MutableRankedStridedMdspanLike< 2 > MatrixMdspan> |
| consteval auto | svd_acceptance (singular_values_op const &, std::type_identity< SingularValueMdspan >, std::type_identity< MatrixMdspan >) |
| | Report compile-time eligibility for resolved LAPACK singular values.
|
| |
| template<uni20::MutableRankedStridedMdspanLike< 1 > SingularValueMdspan, uni20::MutableRankedStridedMdspanLike< 2 > LeftMdspan, uni20::MutableRankedStridedMdspanLike< 2 > MatrixMdspan> |
| consteval auto | svd_acceptance (svd_left_op const &, std::type_identity< SingularValueMdspan >, std::type_identity< LeftMdspan >, std::type_identity< MatrixMdspan >) |
| | Report compile-time eligibility for resolved LAPACK left singular vectors.
|
| |
| template<uni20::MutableRankedStridedMdspanLike< 1 > SingularValueMdspan, uni20::MutableRankedStridedMdspanLike< 2 > MatrixMdspan> |
| consteval auto | svd_acceptance (svd_left_op const &, std::type_identity< SingularValueMdspan >, std::type_identity< MatrixMdspan >) |
| | Report compile-time eligibility for resolved input-overwriting LAPACK left singular vectors.
|
| |
| template<uni20::MutableRankedStridedMdspanLike< 1 > SingularValueMdspan, uni20::MutableRankedStridedMdspanLike< 2 > LeftMdspan, uni20::MutableRankedStridedMdspanLike< 2 > RightAdjointMdspan, uni20::MutableRankedStridedMdspanLike< 2 > MatrixMdspan> |
| consteval auto | svd_acceptance (svd_op const &, std::type_identity< SingularValueMdspan >, std::type_identity< LeftMdspan >, std::type_identity< RightAdjointMdspan >, std::type_identity< MatrixMdspan >) |
| | Report compile-time eligibility for resolved LAPACK exact SVD.
|
| |
| template<uni20::MutableRankedStridedMdspanLike< 1 > SingularValueMdspan, uni20::MutableRankedStridedMdspanLike< 2 > OtherFactorMdspan, uni20::MutableRankedStridedMdspanLike< 2 > MatrixMdspan> |
| consteval auto | svd_acceptance (svd_op const &, std::type_identity< SingularValueMdspan >, std::type_identity< OtherFactorMdspan >, std::type_identity< MatrixMdspan >) |
| | Report compile-time eligibility for a resolved input-overwriting LAPACK exact SVD.
|
| |
| template<uni20::MutableRankedStridedMdspanLike< 1 > SingularValueMdspan, uni20::MutableRankedStridedMdspanLike< 2 > MatrixMdspan> |
| consteval auto | svd_acceptance (svd_right_op const &, std::type_identity< SingularValueMdspan >, std::type_identity< MatrixMdspan >) |
| | Report compile-time eligibility for resolved input-overwriting LAPACK right singular vectors.
|
| |
| template<uni20::MutableRankedStridedMdspanLike< 1 > SingularValueMdspan, uni20::MutableRankedStridedMdspanLike< 2 > RightAdjointMdspan, uni20::MutableRankedStridedMdspanLike< 2 > MatrixMdspan> |
| consteval auto | svd_acceptance (svd_right_op const &, std::type_identity< SingularValueMdspan >, std::type_identity< RightAdjointMdspan >, std::type_identity< MatrixMdspan >) |
| | Report compile-time eligibility for resolved LAPACK right singular vectors.
|
| |
| template<class SingularValueMdspan , class MatrixMdspan > |
| consteval bool | svd_base_types_supported () |
| |
| template<class FactorMdspan , class MatrixMdspan > |
| consteval bool | svd_factor_types_supported () |
| |
| char | svd_job (SvdVectorExtent extent) |
| |
| template<uni20::LapackReal Scalar, uni20::MutableRankedStridedMdspanLike< 2 > EigenvectorMdspan> |
| consteval auto | tridiagonal_eigen_acceptance () |
| | Report compile-time eligibility for resolved LAPACK tridiagonal eigensystem dispatch.
|
| |
| template<uni20::MutableRankedStridedMdspanLike< 2 > MatrixMdspan, class EigenScalar , uni20::MutableRankedStridedMdspanLike< 2 > SchurVectorMdspan> |
| KernelAttempt | try_hessenberg_schur (hessenberg_schur_op const &op, MatrixMdspan &hessenberg, std::span< EigenScalar > eigenvalues, SchurVectorMdspan &schur_vectors) |
| | Compute a real upper-Hessenberg Schur form through LAPACK hseqr.
|
| |
| template<uni20::MutableRankedStridedMdspanLike< 2 > CoefficientMdspan, uni20::MutableRankedStridedMdspanLike< 2 > RhsMdspan> |
| KernelAttempt | try_linear_solve (CoefficientMdspan &coefficients, RhsMdspan &right_hand_sides, SolveInfo &info, SolveOptions< uni20::make_real_t< typename CoefficientMdspan::value_type > > const &options) |
| |
| template<uni20::MutableRankedMdspanLike< 2 > LMdspan, uni20::MutableRankedMdspanLike< 2 > QMdspan, uni20::MutableRankedStridedMdspanLike< 2 > MatrixMdspan> |
| KernelAttempt | try_lq (LMdspan &l, QMdspan &q, MatrixMdspan &matrix_work) |
| |
| template<class Output , uni20::RankedStridedMdspanLike< 2 > MatrixMdspan> |
| KernelAttempt | try_matrix_norm (matrix_norm_op const &operation, Output &output, MatrixMdspan &matrix) |
| |
| template<uni20::MutableRankedStridedMdspanLike< 2 > MatrixMdspan, class EigenScalar , uni20::MutableRankedMdspanLike< 2 > RightEigenvectorMdspan> |
| KernelAttempt | try_nonsymmetric_eigen (nonsymmetric_eigen_op const &op, MatrixMdspan &matrix_work, std::span< EigenScalar > eigenvalues, RightEigenvectorMdspan &right_eigenvectors) |
| | Compute eigenvalues and optional right eigenvectors through LAPACK geev.
|
| |
| template<uni20::MutableRankedMdspanLike< 2 > QMdspan, uni20::MutableRankedMdspanLike< 2 > RMdspan, uni20::MutableRankedStridedMdspanLike< 2 > MatrixMdspan> |
| KernelAttempt | try_qr (QMdspan &q, RMdspan &r, MatrixMdspan &matrix_work) |
| |
| template<uni20::MutableRankedStridedMdspanLike< 2 > MatrixMdspan, class EigenScalar , uni20::MutableRankedStridedMdspanLike< 2 > SchurVectorMdspan> |
| KernelAttempt | try_schur (schur_op const &op, MatrixMdspan &matrix_work, std::span< EigenScalar > eigenvalues, SchurVectorMdspan &schur_vectors) |
| | Compute a dense Schur form through LAPACK gees.
|
| |
| template<uni20::MutableRankedStridedMdspanLike< 2 > SchurFormMdspan, uni20::MutableRankedStridedMdspanLike< 2 > SchurVectorMdspan> |
| KernelAttempt | try_schur_reorder (schur_reorder_op const &op, SchurFormMdspan &schur_form, SchurVectorMdspan &schur_vectors) |
| | Move one real Schur block or complex Schur entry through LAPACK trexc.
|
| |
| template<uni20::MutableRankedStridedMdspanLike< 1 > EigenvalueMdspan, uni20::MutableRankedStridedMdspanLike< 2 > MatrixMdspan> |
| KernelAttempt | try_self_adjoint_eigh (self_adjoint_eigh_op const &op, EigenvalueMdspan &eigenvalues, MatrixMdspan &matrix_work) |
| | Compute an in-place symmetric or Hermitian eigensystem through syev or heev.
|
| |
| template<class SingularValueMdspan , class MatrixMdspan > |
| KernelAttempt | try_singular_values_kernel (char jobu, char jobvt, SingularValueMdspan &&singular_values, MatrixMdspan &&matrix_work) |
| |
| constexpr std::optional< std::size_t > | try_size_product (std::size_t left, std::size_t right) noexcept |
| | Multiply allocation extents without wrapping std::size_t.
|
| |
| template<uni20::MutableRankedStridedMdspanLike< 1 > SingularValueMdspan, uni20::MutableRankedStridedMdspanLike< 2 > MatrixMdspan> |
| KernelAttempt | try_svd (singular_values_op const &, SingularValueMdspan &singular_values, MatrixMdspan &matrix_work) |
| | Compute exact singular values through LAPACK gesvd.
|
| |
| template<uni20::MutableRankedStridedMdspanLike< 1 > SingularValueMdspan, uni20::MutableRankedStridedMdspanLike< 2 > LeftMdspan, uni20::MutableRankedStridedMdspanLike< 2 > MatrixMdspan> |
| KernelAttempt | try_svd (svd_left_op const &op, SingularValueMdspan &singular_values, LeftMdspan &left_singular_vectors, MatrixMdspan &matrix_work) |
| | Compute singular values and left singular vectors through LAPACK gesvd.
|
| |
| template<uni20::MutableRankedStridedMdspanLike< 1 > SingularValueMdspan, uni20::MutableRankedStridedMdspanLike< 2 > MatrixMdspan> |
| KernelAttempt | try_svd (svd_left_op const &op, SingularValueMdspan &singular_values, MatrixMdspan &matrix_work) |
| | Compute reduced left singular vectors in the matrix input allocation.
|
| |
| template<uni20::MutableRankedStridedMdspanLike< 1 > SingularValueMdspan, uni20::MutableRankedStridedMdspanLike< 2 > LeftMdspan, uni20::MutableRankedStridedMdspanLike< 2 > RightAdjointMdspan, uni20::MutableRankedStridedMdspanLike< 2 > MatrixMdspan> |
| KernelAttempt | try_svd (svd_op const &op, SingularValueMdspan &singular_values, LeftMdspan &left_singular_vectors, RightAdjointMdspan &right_singular_vectors_adjoint, MatrixMdspan &matrix_work) |
| | Compute an exact dense SVD through LAPACK gesvd.
|
| |
| template<uni20::MutableRankedStridedMdspanLike< 1 > SingularValueMdspan, uni20::MutableRankedStridedMdspanLike< 2 > OtherFactorMdspan, uni20::MutableRankedStridedMdspanLike< 2 > MatrixMdspan> |
| KernelAttempt | try_svd (svd_op const &op, SingularValueMdspan &singular_values, OtherFactorMdspan &other_factor, MatrixMdspan &matrix_work) |
| | Compute an exact dense SVD with one reduced factor overwriting the input allocation.
|
| |
| template<uni20::MutableRankedStridedMdspanLike< 1 > SingularValueMdspan, uni20::MutableRankedStridedMdspanLike< 2 > MatrixMdspan> |
| KernelAttempt | try_svd (svd_right_op const &op, SingularValueMdspan &singular_values, MatrixMdspan &matrix_work) |
| | Compute reduced right singular vectors in the matrix input allocation.
|
| |
| template<uni20::MutableRankedStridedMdspanLike< 1 > SingularValueMdspan, uni20::MutableRankedStridedMdspanLike< 2 > RightAdjointMdspan, uni20::MutableRankedStridedMdspanLike< 2 > MatrixMdspan> |
| KernelAttempt | try_svd (svd_right_op const &op, SingularValueMdspan &singular_values, RightAdjointMdspan &right_singular_vectors_adjoint, MatrixMdspan &matrix_work) |
| | Compute singular values and right singular vectors through LAPACK gesvd.
|
| |
| template<class Scalar , uni20::MutableRankedStridedMdspanLike< 2 > EigenvectorMdspan> |
| KernelAttempt | try_tridiagonal_eigen (symmetric_tridiagonal_eigen_op const &op, std::span< Scalar > diagonal, std::span< Scalar > subdiagonal, EigenvectorMdspan &eigenvectors) |
| | Compute a real symmetric tridiagonal eigensystem through sterf or steqr.
|
| |
template<class Function , uni20::HostWritableMdspec... Mdspecs>
requires std::same_as<std::invoke_result_t<Function&&, uni20::host_write_mdspan_t<Mdspecs>&...>, KernelAttempt> |
| KernelAttempt | with_host_write_mdspans (Function &&function, Mdspecs &... mdspecs) |
| | Invoke a LAPACK attempt with host-writable mdspans under simultaneous leases.
|
| |
| template<class Scalar > |
| blas_int | workspace_size (Scalar const &query) |
| | Convert a provider workspace query result to the configured LAPACK integer type.
|
| |