21void gemm(std::size_t m, std::size_t n, std::size_t k, mpreal
const& alpha, std::span<mpreal const> a,
22 std::span<mpreal const> b, mpreal
const&
beta, std::span<mpreal>
c, Precision
p);
24void gemm(std::size_t m, std::size_t n, std::size_t k, mpcomplex
const& alpha, std::span<mpcomplex const> a,
25 std::span<mpcomplex const> b, mpcomplex
const&
beta, std::span<mpcomplex>
c, Precision
p);
30std::size_t
getrf(std::size_t n, std::span<mpreal> a, std::vector<std::size_t>& pivots, Precision
p);
32std::size_t
getrf(std::size_t n, std::span<mpcomplex> a, std::vector<std::size_t>& pivots, Precision
p);
34void getrs(std::size_t n, std::size_t nrhs, std::span<mpreal const> a, std::span<std::size_t const> pivots,
35 std::span<mpreal> b, Precision
p);
37void getrs(std::size_t n, std::size_t nrhs, std::span<mpcomplex const> a, std::span<std::size_t const> pivots,
38 std::span<mpcomplex> b, Precision
p);
40void qr(std::size_t m, std::size_t n, std::span<mpreal> a, std::span<mpreal> q, std::span<mpreal> triangular,
44void lq(std::size_t m, std::size_t n, std::span<mpreal> a, std::span<mpreal> q, std::span<mpreal> triangular,
49void eigh(std::size_t n, std::span<mpreal> a, std::span<mpreal> values,
bool vectors,
char triangle, Precision
p);
55void svd(std::size_t m, std::size_t n, std::span<mpreal> a, std::span<mpreal> values, std::span<mpreal> u,
56 std::span<mpreal> vh,
char jobu,
char jobvt, Precision
p);
61void eigen(std::size_t n, std::span<mpreal> a, std::span<mpcomplex> values, std::span<mpcomplex> vectors,
62 bool compute_vectors, Precision
p);
65void qr(std::size_t m, std::size_t n, std::span<mpcomplex> a, std::span<mpcomplex> q, std::span<mpcomplex> triangular,
69void lq(std::size_t m, std::size_t n, std::span<mpcomplex> a, std::span<mpcomplex> q, std::span<mpcomplex> triangular,
73void eigh(std::size_t n, std::span<mpcomplex> a, std::span<mpreal> values,
bool vectors,
char triangle, Precision
p);
76void svd(std::size_t m, std::size_t n, std::span<mpcomplex> a, std::span<mpreal> values, std::span<mpcomplex> u,
77 std::span<mpcomplex> vh,
char jobu,
char jobvt, Precision
p);
80void eigen(std::size_t n, std::span<mpcomplex> a, std::span<mpcomplex> values, std::span<mpcomplex> vectors,
81 bool compute_vectors, Precision
p);
86std::size_t
gelss(std::size_t m, std::size_t n, std::size_t nrhs, std::span<mpreal> a, std::span<mpreal> b,
87 std::span<mpreal> values, mpreal
const& cutoff, std::size_t& rank, Precision
p);
90mpreal
gecon(std::size_t n, std::span<mpreal const> a, mpreal
const& anorm,
char norm, Precision
p);
94std::size_t
gelss(std::size_t m, std::size_t n, std::size_t nrhs, std::span<mpcomplex> a, std::span<mpcomplex> b,
95 std::span<mpreal> values, mpreal
const& cutoff, std::size_t& rank, Precision
p);
98mpreal
gecon(std::size_t n, std::span<mpcomplex const> a, mpreal
const& anorm,
char norm, Precision
p);
Definition binary80.cpp:16
void eigen(std::size_t n, std::span< float80 > a, std::span< complex160 > values, std::span< complex160 > vectors, bool compute_vectors, Precision p)
Compute unsorted complex eigenvalues and optional right eigenvectors, destroying a.
Definition binary80.cpp:248
void lq(std::size_t m, std::size_t n, std::span< float80 > a, std::span< float80 > q, std::span< float80 > triangular, Precision p)
Overwrite m-by-n input work and return Q (k-by-n) and L (m-by-k), k=min(m,n).
Definition binary80.cpp:231
std::size_t getrf(std::size_t n, std::span< float80 > a, std::vector< std::size_t > &pivots)
Factor a square binary80 matrix, returning zero or a one-based singular pivot.
Definition binary80.cpp:203
void eigh(std::size_t n, std::span< float80 > a, std::span< float80 > values, bool vectors, char triangle, Precision p)
Compute ascending eigenvalues and optionally overwrite a with eigenvector columns.
Definition binary80.cpp:237
std::size_t gelss(std::size_t m, std::size_t n, std::size_t nrhs, std::span< float80 > a, std::span< float80 > b, std::span< float80 > values, float80 const &cutoff, std::size_t &rank, Precision p)
Packed GELSS; B has max(m,n) rows, values has min(m,n) entries.
Definition binary80.cpp:285
void getrs(std::size_t n, std::size_t nrhs, std::span< float80 const > a, std::span< std::size_t const > pivots, std::span< float80 > b)
Solve from read-only binary80 LU factors and zero-based pivots.
Definition binary80.cpp:213
void gemm(std::size_t m, std::size_t n, std::size_t k, float80 const &alpha, std::span< float80 const > a, std::span< float80 const > b, float80 const &beta, std::span< float80 > c)
Packed column-major binary80 GEMM; provider representations stay private.
Definition binary80.cpp:193
void svd(std::size_t m, std::size_t n, std::span< float80 > a, std::span< float80 > values, std::span< float80 > u, std::span< float80 > vh, char jobu, char jobvt, Precision p)
Compute descending singular values and requested U/Vh factors, destroying a.
Definition binary80.cpp:242
float80 gecon(std::size_t n, std::span< float80 const > a, float80 const &anorm, char norm, Precision p)
Estimate reciprocal condition from packed successful LU and the original matrix norm.
Definition binary80.cpp:290
void qr(std::size_t m, std::size_t n, std::span< float80 > a, std::span< float80 > q, std::span< float80 > triangular, Precision p)
Overwrite m-by-n input work and return Q (m-by-k) and R (k-by-n), k=min(m,n).
Definition binary80.cpp:225
Definition data_table.cpp:8
mpreal norm(mpcomplex const &z)
Definition mpcomplex.hpp:494
mpreal beta(mpreal const &a, mpreal const &x)
Real Beta function; positive rational/integer pairs retain exact values.
Definition mpreal_special.hpp:164