batmat develop
Batched linear algebra routines
Loading...
Searching...
No Matches
batmat::linalg::micro_kernels::sytrd Namespace Reference

Classes

struct  KernelConfig

Functions

template<class T, class Abi, KernelConfig Conf, index_t R, StorageOrder OD>
void sytrd_diag_microkernel (index_t k, triangular_accessor< T, Abi, SizeR< T, Abi > > W, uview< T, Abi, OD > D, uview< T, Abi, StorageOrder::ColMajor > Y) noexcept
template<class T, class Abi, StorageOrder OD>
constexpr std::pair< index_t, index_tsytrd_W_size (view< T, Abi, OD > D)
template<class T, class Abi, StorageOrder OD>
constexpr std::pair< index_t, index_tsytrd_Y_size (view< T, Abi, OD > D)
template<class T, class Abi, KernelConfig Conf = {}, StorageOrder OD = StorageOrder::ColMajor>
void sytrd_register (const view< T, Abi, OD > D, const view< T, Abi > W, const view< T, Abi > Y) noexcept
 Symmetric block tridiagonalization.

Variables

template<class T, class Abi>
constexpr index_t SizeR = gemm::RowsReg<T, Abi>
template<class T, class Abi, KernelConfig Conf, StorageOrder OD>
const constinit auto microkernel_diag_lut

Class Documentation

◆ batmat::linalg::micro_kernels::sytrd::KernelConfig

struct batmat::linalg::micro_kernels::sytrd::KernelConfig

Function Documentation

◆ sytrd_diag_microkernel()

template<class T, class Abi, KernelConfig Conf, index_t R, StorageOrder OD>
void batmat::linalg::micro_kernels::sytrd::sytrd_diag_microkernel ( index_t k,
triangular_accessor< T, Abi, SizeR< T, Abi > > W,
uview< T, Abi, OD > D,
uview< T, Abi, StorageOrder::ColMajor > Y )
noexcept

Definition at line 24 of file sytrd.tpp.

◆ sytrd_W_size()

template<class T, class Abi, StorageOrder OD>
std::pair< index_t, index_t > batmat::linalg::micro_kernels::sytrd::sytrd_W_size ( view< T, Abi, OD > D)
constexpr

Definition at line 24 of file sytrd.hpp.

◆ sytrd_Y_size()

template<class T, class Abi, StorageOrder OD>
std::pair< index_t, index_t > batmat::linalg::micro_kernels::sytrd::sytrd_Y_size ( view< T, Abi, OD > D)
constexpr

Definition at line 32 of file sytrd.hpp.

◆ sytrd_register()

template<class T, class Abi, KernelConfig Conf = {}, StorageOrder OD = StorageOrder::ColMajor>
void batmat::linalg::micro_kernels::sytrd::sytrd_register ( view< T, Abi, OD > D,
view< T, Abi > W,
view< T, Abi > Y )
noexcept

Symmetric block tridiagonalization.

Definition at line 204 of file sytrd.tpp.

Variable Documentation

◆ SizeR

template<class T, class Abi>
index_t batmat::linalg::micro_kernels::sytrd::SizeR = gemm::RowsReg<T, Abi>
inlineconstexpr

Definition at line 15 of file sytrd.hpp.

◆ microkernel_diag_lut

template<class T, class Abi, KernelConfig Conf, StorageOrder OD>
const constinit auto batmat::linalg::micro_kernels::sytrd::microkernel_diag_lut
inlineconstinit
Initial value:
=
})
consteval auto make_1d_lut(F f)
Returns an array of the form:
Definition lut.hpp:39
void sytrd_diag_microkernel(index_t k, triangular_accessor< T, Abi, SizeR< T, Abi > > W, uview< T, Abi, OD > D, uview< T, Abi, StorageOrder::ColMajor > Y) noexcept
Definition sytrd.tpp:24
std::integral_constant< index_t, I > index_constant
Definition lut.hpp:10
int index_t
Definition config.hpp:13

Definition at line 17 of file sytrd.tpp.