cyqlone develop
Fast, parallel and vectorized solver for linear systems with optimal control structure.
Loading...
Searching...
No Matches
cyqlone::PCRFactorTest< VL, T, DefaultOrder > Struct Template Reference

Detailed Description

template<index_t VL, class T, StorageOrder DefaultOrder>
struct cyqlone::PCRFactorTest< VL, T, DefaultOrder >
Examples
test/test-pcr.cpp.

Definition at line 29 of file test-pcr.cpp.

Public Types

using value_type = T
using vl_t = std::integral_constant<index_t, VL>
using align_t = std::integral_constant<index_t, VL * alignof(T)>
template<StorageOrder O = DefaultOrder>
using bmatrix = batmat::matrix::Matrix<value_type, index_t, vl_t, index_t, O, align_t>
template<StorageOrder O = DefaultOrder>
using matrix = batmat::matrix::Matrix<value_type, index_t, vl_t, vl_t, O, align_t>
template<StorageOrder O = DefaultOrder>
using mut_view = matrix<O>::view_type
template<StorageOrder O = DefaultOrder>
using view = matrix<O>::const_view_type

Public Member Functions

void factor_pcr (view<> M0, view<> K0)
template<index_t l>
void factor_pcr_level (view<> M0, view<> K0)
void solve_pcr (mut_view<> λ)
void solve_pcr (mut_view<> λ, mut_view<> work_pcr) const
template<index_t l>
void solve_pcr_level (mut_view<> λ, mut_view<> work_pcr) const

Public Attributes

index_t n
bmatrix pcr_L = [this] { return bmatrix<>{{.depth = v * (lv + 1), .rows = n, .cols = n}}; }()
bmatrix pcr_Y = [this] { return bmatrix<>{{.depth = v * lv, .rows = n, .cols = n}}; }()
bmatrix pcr_U = [this] { return bmatrix<>{{.depth = v * lv, .rows = n, .cols = n}}; }()
matrix pcr_M = [this] { return matrix<>{{.rows = n, .cols = n}}; }()
matrix work = [this] { return matrix<>{{.rows = n, .cols = 1}}; }()

Static Public Attributes

static constexpr index_t v = VL
static constexpr index_t lv = get_depth(v)

Member Typedef Documentation

◆ value_type

template<index_t VL, class T, StorageOrder DefaultOrder>
using cyqlone::PCRFactorTest< VL, T, DefaultOrder >::value_type = T
Examples
test/test-pcr.cpp.

Definition at line 30 of file test-pcr.cpp.

◆ vl_t

template<index_t VL, class T, StorageOrder DefaultOrder>
using cyqlone::PCRFactorTest< VL, T, DefaultOrder >::vl_t = std::integral_constant<index_t, VL>
Examples
test/test-pcr.cpp.

Definition at line 31 of file test-pcr.cpp.

◆ align_t

template<index_t VL, class T, StorageOrder DefaultOrder>
using cyqlone::PCRFactorTest< VL, T, DefaultOrder >::align_t = std::integral_constant<index_t, VL * alignof(T)>
Examples
test/test-pcr.cpp.

Definition at line 32 of file test-pcr.cpp.

◆ bmatrix

template<index_t VL, class T, StorageOrder DefaultOrder>
template<StorageOrder O = DefaultOrder>
using cyqlone::PCRFactorTest< VL, T, DefaultOrder >::bmatrix = batmat::matrix::Matrix<value_type, index_t, vl_t, index_t, O, align_t>
Examples
test/test-pcr.cpp.

Definition at line 37 of file test-pcr.cpp.

◆ matrix

template<index_t VL, class T, StorageOrder DefaultOrder>
template<StorageOrder O = DefaultOrder>
using cyqlone::PCRFactorTest< VL, T, DefaultOrder >::matrix = batmat::matrix::Matrix<value_type, index_t, vl_t, vl_t, O, align_t>

Definition at line 39 of file test-pcr.cpp.

◆ mut_view

template<index_t VL, class T, StorageOrder DefaultOrder>
template<StorageOrder O = DefaultOrder>
using cyqlone::PCRFactorTest< VL, T, DefaultOrder >::mut_view = matrix<O>::view_type
Examples
test/test-pcr.cpp.

Definition at line 41 of file test-pcr.cpp.

◆ view

template<index_t VL, class T, StorageOrder DefaultOrder>
template<StorageOrder O = DefaultOrder>
using cyqlone::PCRFactorTest< VL, T, DefaultOrder >::view = matrix<O>::const_view_type

Definition at line 43 of file test-pcr.cpp.

Member Function Documentation

◆ factor_pcr()

template<index_t VL, class T, StorageOrder DefaultOrder>
void cyqlone::PCRFactorTest< VL, T, DefaultOrder >::factor_pcr ( view<> M0,
view<> K0 )
inline
Examples
test/test-pcr.cpp.

Definition at line 53 of file test-pcr.cpp.

◆ factor_pcr_level()

template<index_t VL, class T, StorageOrder DefaultOrder>
template<index_t l>
void cyqlone::PCRFactorTest< VL, T, DefaultOrder >::factor_pcr_level ( view<> M0,
view<> K0 )
inline
Examples
test/test-pcr.cpp.

Definition at line 63 of file test-pcr.cpp.

◆ solve_pcr() [1/2]

template<index_t VL, class T, StorageOrder DefaultOrder>
void cyqlone::PCRFactorTest< VL, T, DefaultOrder >::solve_pcr ( mut_view<> λ)
inline
Examples
test/test-pcr.cpp.

Definition at line 84 of file test-pcr.cpp.

◆ solve_pcr() [2/2]

template<index_t VL, class T, StorageOrder DefaultOrder>
void cyqlone::PCRFactorTest< VL, T, DefaultOrder >::solve_pcr ( mut_view<> λ,
mut_view<> work_pcr ) const
inline

Definition at line 85 of file test-pcr.cpp.

◆ solve_pcr_level()

template<index_t VL, class T, StorageOrder DefaultOrder>
template<index_t l>
void cyqlone::PCRFactorTest< VL, T, DefaultOrder >::solve_pcr_level ( mut_view<> λ,
mut_view<> work_pcr ) const
inline
Examples
test/test-pcr.cpp.

Definition at line 94 of file test-pcr.cpp.

Member Data Documentation

◆ v

template<index_t VL, class T, StorageOrder DefaultOrder>
index_t cyqlone::PCRFactorTest< VL, T, DefaultOrder >::v = VL
staticconstexpr

Definition at line 33 of file test-pcr.cpp.

◆ lv

template<index_t VL, class T, StorageOrder DefaultOrder>
index_t cyqlone::PCRFactorTest< VL, T, DefaultOrder >::lv = get_depth(v)
staticconstexpr
Examples
test/test-pcr.cpp.

Definition at line 34 of file test-pcr.cpp.

◆ n

template<index_t VL, class T, StorageOrder DefaultOrder>
index_t cyqlone::PCRFactorTest< VL, T, DefaultOrder >::n
Examples
test/test-pcr.cpp.

Definition at line 45 of file test-pcr.cpp.

◆ pcr_L

template<index_t VL, class T, StorageOrder DefaultOrder>
bmatrix cyqlone::PCRFactorTest< VL, T, DefaultOrder >::pcr_L = [this] { return bmatrix<>{{.depth = v * (lv + 1), .rows = n, .cols = n}}; }()
Examples
test/test-pcr.cpp.

Definition at line 47 of file test-pcr.cpp.

◆ pcr_Y

template<index_t VL, class T, StorageOrder DefaultOrder>
bmatrix cyqlone::PCRFactorTest< VL, T, DefaultOrder >::pcr_Y = [this] { return bmatrix<>{{.depth = v * lv, .rows = n, .cols = n}}; }()
Examples
test/test-pcr.cpp.

Definition at line 48 of file test-pcr.cpp.

◆ pcr_U

template<index_t VL, class T, StorageOrder DefaultOrder>
bmatrix cyqlone::PCRFactorTest< VL, T, DefaultOrder >::pcr_U = [this] { return bmatrix<>{{.depth = v * lv, .rows = n, .cols = n}}; }()
Examples
test/test-pcr.cpp.

Definition at line 49 of file test-pcr.cpp.

◆ pcr_M

template<index_t VL, class T, StorageOrder DefaultOrder>
matrix cyqlone::PCRFactorTest< VL, T, DefaultOrder >::pcr_M = [this] { return matrix<>{{.rows = n, .cols = n}}; }()
Examples
test/test-pcr.cpp.

Definition at line 50 of file test-pcr.cpp.

◆ work

template<index_t VL, class T, StorageOrder DefaultOrder>
matrix cyqlone::PCRFactorTest< VL, T, DefaultOrder >::work = [this] { return matrix<>{{.rows = n, .cols = 1}}; }()
Examples
test/test-pcr.cpp.

Definition at line 51 of file test-pcr.cpp.


The documentation for this struct was generated from the following file: