|
akreon-linalg
Fixed-size linear algebra and numerical methods in C++26.
|
forward declaration for symmetric operator More...
#include <symmetric_operator.hpp>
Public Types | |
| using | OperatorBase = Endomorphism< Mat, SymmetricOperator< Mat, Derived > > |
| alias to extract base types | |
Public Types inherited from linalg::Endomorphism< Mat, SymmetricOperator< Mat, Derived > > | |
| using | T = matrix_scalar_t< Mat > |
| alias helpers for types | |
| using | ScalarT = real_type_t< T > |
| using | ComplexT = std::complex< ScalarT > |
Public Member Functions | |
| constexpr | SymmetricOperator (const Mat &A) |
| CTOR. | |
| constexpr auto | operator() (std::size_t i, std::size_t j) const |
| get element at (i,j) index | |
| constexpr std::size_t | index (std::size_t i, std::size_t j) const |
| index from (row, col) | |
| constexpr bool | is_pd () const |
| is pd check | |
| constexpr bool | is_nd () const |
| is nd check | |
| constexpr bool | is_psd () const |
| is psd check | |
| constexpr bool | is_nsd () const |
| is nsd check | |
| constexpr bool | is_ind () const |
| is indefinite | |
| constexpr bool | is_valid () const |
| is valid | |
| template<typename DiagT > | |
| constexpr void | compute_definiteness (const Vector< DiagT, N > &diag, const ScalarT &tol) |
| compute definiteness | |
| constexpr const Derived & | self () const |
| self | |
Public Member Functions inherited from linalg::Endomorphism< Mat, SymmetricOperator< Mat, Derived > > | |
| constexpr const T & | operator() (std::size_t i, std::size_t j) const |
| get element at (i,j) index | |
| constexpr T & | operator() (std::size_t i, std::size_t j) |
| get element at (i,j) index | |
| constexpr SymmetricOperator< Mat, Derived > & | self () |
| self | |
| constexpr const SymmetricOperator< Mat, Derived > & | self () const |
| self | |
Public Attributes | |
| SymmetricOperatorType | type |
| member variables | |
| Vector< T, DIM > | svec |
Static Public Attributes | |
| static constexpr std::size_t | DIM = (N * (N + 1)) / 2 |
| helpers to get DIM from mat | |
Static Public Attributes inherited from linalg::Endomorphism< Mat, SymmetricOperator< Mat, Derived > > | |
| static constexpr std::size_t | N |
| helper to extract N | |
forward declaration for symmetric operator
Symmetric linear operator CRTP base.
Definition at line 18 of file symmetric_operator.hpp.
| using linalg::SymmetricOperator< Mat, Derived >::OperatorBase = Endomorphism<Mat, SymmetricOperator<Mat, Derived> > |
alias to extract base types
Definition at line 20 of file symmetric_operator.hpp.
|
inlineexplicitconstexpr |
|
inlineconstexpr |
compute definiteness
| vec | (diagonal of elements) |
Definition at line 123 of file symmetric_operator.hpp.
References linalg::IND, linalg::mat_rows_v, linalg::ND, linalg::NSD, linalg::PD, linalg::PSD, and linalg::SymmetricOperator< Mat, Derived >::type.
|
inlineconstexpr |
index from (row, col)
| std::size_t | i = row index |
| std::size_t | j = col index |
Definition at line 60 of file symmetric_operator.hpp.
References AK_ASSERT, linalg::mat_rows_v, and linalg::Endomorphism< Mat, SymmetricOperator< Mat, Derived > >::N.
Referenced by linalg::SymmetricOperator< Mat, Derived >::operator()().
|
inlineconstexpr |
is indefinite
Definition at line 106 of file symmetric_operator.hpp.
References linalg::IND, and linalg::SymmetricOperator< Mat, Derived >::type.
|
inlineconstexpr |
is nd check
Definition at line 79 of file symmetric_operator.hpp.
References linalg::ND, and linalg::SymmetricOperator< Mat, Derived >::type.
|
inlineconstexpr |
is nsd check
Definition at line 96 of file symmetric_operator.hpp.
References linalg::ND, linalg::NSD, and linalg::SymmetricOperator< Mat, Derived >::type.
|
inlineconstexpr |
is pd check
Definition at line 72 of file symmetric_operator.hpp.
References linalg::PD, and linalg::SymmetricOperator< Mat, Derived >::type.
|
inlineconstexpr |
is psd check
Definition at line 86 of file symmetric_operator.hpp.
References linalg::PD, linalg::PSD, and linalg::SymmetricOperator< Mat, Derived >::type.
|
inlineconstexpr |
is valid
Definition at line 113 of file symmetric_operator.hpp.
References linalg::INV, and linalg::SymmetricOperator< Mat, Derived >::type.
|
inlineconstexpr |
get element at (i,j) index
| row | index |
| col | index |
Definition at line 46 of file symmetric_operator.hpp.
References linalg::SymmetricOperator< Mat, Derived >::index(), linalg::mat_rows_v, and linalg::SymmetricOperator< Mat, Derived >::svec.
|
inlineconstexpr |
self
Definition at line 151 of file symmetric_operator.hpp.
References linalg::mat_rows_v.
|
staticconstexpr |
helpers to get DIM from mat
Definition at line 29 of file symmetric_operator.hpp.
| Vector<T, DIM> linalg::SymmetricOperator< Mat, Derived >::svec |
Definition at line 155 of file symmetric_operator.hpp.
Referenced by linalg::SymmetricOperator< Mat, Derived >::operator()().
| SymmetricOperatorType linalg::SymmetricOperator< Mat, Derived >::type |
member variables
Definition at line 154 of file symmetric_operator.hpp.
Referenced by linalg::SymmetricOperator< Mat, Derived >::compute_definiteness(), linalg::SymmetricOperator< Mat, Derived >::is_ind(), linalg::SymmetricOperator< Mat, Derived >::is_nd(), linalg::SymmetricOperator< Mat, Derived >::is_nsd(), linalg::SymmetricOperator< Mat, Derived >::is_pd(), linalg::SymmetricOperator< Mat, Derived >::is_psd(), and linalg::SymmetricOperator< Mat, Derived >::is_valid().