Overview

String conversions and shape helpers for the enumerations.

Functions

◆ to_string() [1/19]

std::string_view batchlas::to_string ( MatrixFormat v)
inlineconstexpr

Spelling of v as in source.

Definition at line 84 of file enums.hh.

◆ to_string() [2/19]

std::string_view batchlas::to_string ( Backend v)
inlineconstexpr

Spelling of v as in source.

Definition at line 125 of file enums.hh.

◆ to_string() [3/19]

std::string_view batchlas::to_string ( BackendLibrary v)
inlineconstexpr

Spelling of v as in source.

Definition at line 154 of file enums.hh.

◆ to_string() [4/19]

std::string_view batchlas::to_string ( Transpose v)
inlineconstexpr

Spelling of v as in source.

Definition at line 179 of file enums.hh.

◆ to_string() [5/19]

std::string_view batchlas::to_string ( JobType v)
inlineconstexpr

Spelling of v as in source.

Definition at line 196 of file enums.hh.

◆ to_string() [6/19]

std::string_view batchlas::to_string ( SvdVectors v)
inlineconstexpr

Spelling of v as in source.

Definition at line 228 of file enums.hh.

◆ svd_u_cols()

int64_t batchlas::svd_u_cols ( SvdVectors job,
int64_t m,
int64_t k )
inlineconstexpr

Number of columns of U that job writes.

Parameters
jobthe U job
mrows of the input
kmin(m, n)
Returns
m for All, k for Thin, 0 for None (nothing is written)

Definition at line 243 of file enums.hh.

◆ svd_vh_rows()

int64_t batchlas::svd_vh_rows ( SvdVectors job,
int64_t n,
int64_t k )
inlineconstexpr

Number of rows of V^H that job writes.

Parameters
jobthe V^H job
ncolumns of the input
kmin(m, n)
Returns
n for All, k for Thin, 0 for None (nothing is written)

Definition at line 253 of file enums.hh.

◆ canonical_jobu()

SvdVectors batchlas::canonical_jobu ( SvdVectors job,
int64_t m,
int64_t k )
inlineconstexpr

Rewrites a U job of Thin to All when both request the same shape (k == m).

A kernel that cannot produce a genuinely thin factor then still serves every Thin request that asks for nothing smaller.

Parameters
jobthe requested U job
mrows of the input
kmin(m, n)
Returns
All if job is Thin and k == m, otherwise job
Trap
Call once per entry point and pass the result on: a *_buffer_size and its run path must canonicalise identically, or the workspace is sized for a different computation than the one performed.

Definition at line 269 of file enums.hh.

◆ canonical_jobvh()

SvdVectors batchlas::canonical_jobvh ( SvdVectors job,
int64_t n,
int64_t k )
inlineconstexpr

Rewrites a V^H job of Thin to All when both request the same shape (k == n).

Parameters
jobthe requested V^H job
ncolumns of the input
kmin(m, n)
Returns
All if job is Thin and k == n, otherwise job
See also
canonical_jobu() for the calling rule.

Definition at line 280 of file enums.hh.

◆ to_string() [7/19]

std::string_view batchlas::to_string ( Uplo v)
inlineconstexpr

Spelling of v as in source.

Definition at line 294 of file enums.hh.

◆ to_string() [8/19]

std::string_view batchlas::to_string ( Diag v)
inlineconstexpr

Spelling of v as in source.

Definition at line 310 of file enums.hh.

◆ to_string() [9/19]

std::string_view batchlas::to_string ( Side v)
inlineconstexpr

Spelling of v as in source.

Definition at line 326 of file enums.hh.

◆ to_string() [10/19]

std::string_view batchlas::to_string ( SortOrder v)
inlineconstexpr

Spelling of v as in source.

Definition at line 342 of file enums.hh.

◆ to_string() [11/19]

std::string_view batchlas::to_string ( ApplyOrder v)
inlineconstexpr

Spelling of v as in source.

Definition at line 358 of file enums.hh.

◆ to_string() [12/19]

std::string_view batchlas::to_string ( SyevxAlgorithm v)
inlineconstexpr

Spelling of v as in source.

Definition at line 393 of file enums.hh.

◆ to_string() [13/19]

std::string_view batchlas::to_string ( SyevxSelect v)
inlineconstexpr

Spelling of v as in source.

Definition at line 422 of file enums.hh.

◆ to_string() [14/19]

std::string_view batchlas::to_string ( SyevxPreconditioner v)
inlineconstexpr

Spelling of v as in source.

Definition at line 459 of file enums.hh.

◆ to_string() [15/19]

std::string_view batchlas::to_string ( OrthoAlgorithm v)
inlineconstexpr

Spelling of v as in source.

Definition at line 484 of file enums.hh.

◆ to_string() [16/19]

std::string_view batchlas::to_string ( ComputePrecision v)
inlineconstexpr

Spelling of v as in source.

Definition at line 516 of file enums.hh.

◆ to_string() [17/19]

std::string_view batchlas::to_string ( VectorOrientation v)
inlineconstexpr

Spelling of v as in source.

Definition at line 536 of file enums.hh.

◆ to_string() [18/19]

std::string_view batchlas::to_string ( NormType v)
inlineconstexpr

Spelling of v as in source.

Definition at line 555 of file enums.hh.

◆ to_string() [19/19]

std::string_view batchlas::to_string ( Layout v)
inlineconstexpr

Spelling of v as in source.

Definition at line 577 of file enums.hh.

◆ operator<<()

template<typename CharT, typename Traits, typename E>
requires std::is_enum_v<E> && requires(E e) { to_string(e); }
std::basic_ostream< CharT, Traits > & batchlas::operator<< ( std::basic_ostream< CharT, Traits > & os,
E value )

Prints any BatchLAS enum as its enumerator spelling, via its to_string().

Found by ADL. The printed text can be pasted back into source.

Parameters
osoutput stream
valueenumerator to print
Returns
os

Definition at line 577 of file enums.hh.

Enumerations

◆ SyevxPreconditioner

enum class batchlas::SyevxPreconditioner
strong

Preconditioner of the LOBPCG path of syevx; the other algorithms ignore it.

Set per call through SyevxParams::preconditioner_type. Auto picks ILU(k) when a factor was supplied (or requested through SyevxParams::build_preconditioner), otherwise the default from BATCHLAS_SYEVX_PRECONDITIONER (auto|none|jacobi|jacobi_shifted|iluk), otherwise None. Unlike SyevxAlgorithm, the environment variable only supplies the default and never overrides an explicit request.

The two Jacobi forms are different operators. Jacobi approximates A^{-1}, so, like ILU(k), it is valid only for the smallest eigenpairs and find_largest is rejected with it; on a batch item whose diagonal is not uniformly positive it falls back to the identity. JacobiShifted shifts by the current Ritz value and is valid at either end. Auto never picks either.

See also
SYEVX for the measured iteration counts.
Enumerator
Auto 

ILU(k) if configured, else the environment default, else None.

None 

Unpreconditioned.

Jacobi 

diag(A)^{-1}; dense and CSR, smallest eigenpairs only.

JacobiShifted 

(diag(A) - lambda I)^{-1}; dense and CSR, either end.

ILUK 

Supplied or syevx-built ILU(k) factor; CSR, smallest eigenpairs only.

Definition at line 449 of file enums.hh.