Uni20
Asynchronous tensor and runtime library.
Loading...
Searching...
No Matches
Public Member Functions | Public Attributes | List of all members
uni20::krylov::symmetric_tridiagonal_matrix< Real > Class Template Reference

Fixed-size owning real symmetric tridiagonal matrix. More...

#include <tridiagonal.hpp>

Public Member Functions

bool empty () const noexcept
 
symmetric_tridiagonal_matrix & operator= (symmetric_tridiagonal_matrix &&)=delete
 
symmetric_tridiagonal_matrix & operator= (symmetric_tridiagonal_matrix const &)=delete
 
Real operator[] (std::size_t row, std::size_t column) const
 
std::size_t size () const noexcept
 
 symmetric_tridiagonal_matrix (std::size_t size)
 
 symmetric_tridiagonal_matrix (symmetric_tridiagonal_matrix &&other) noexcept
 
 symmetric_tridiagonal_matrix (symmetric_tridiagonal_matrix const &other)
 
symmetric_tridiagonal_view< Real > view () const noexcept
 

Public Attributes

std::span< Real > const diagonal
 
std::span< Real > const offdiagonal
 

Detailed Description

template<uni20::Real Real>
class uni20::krylov::symmetric_tridiagonal_matrix< Real >

Fixed-size owning real symmetric tridiagonal matrix.

Template Parameters
RealReal floating-point scalar type.

The public spans are const handles into the owned storage: callers may mutate entries through diagonal[i] and offdiagonal[i], but cannot rebind the handles or resize the matrix. Use external vectors and symmetric_tridiagonal_view directly when resizable Lanczos state is needed.

Constructor & Destructor Documentation

◆ symmetric_tridiagonal_matrix() [1/3]

template<uni20::Real Real>
uni20::krylov::symmetric_tridiagonal_matrix< Real >::symmetric_tridiagonal_matrix ( std::size_t  size)
inlineexplicit

◆ symmetric_tridiagonal_matrix() [2/3]

template<uni20::Real Real>
uni20::krylov::symmetric_tridiagonal_matrix< Real >::symmetric_tridiagonal_matrix ( symmetric_tridiagonal_matrix< Real > const &  other)
inline

◆ symmetric_tridiagonal_matrix() [3/3]

template<uni20::Real Real>
uni20::krylov::symmetric_tridiagonal_matrix< Real >::symmetric_tridiagonal_matrix ( symmetric_tridiagonal_matrix< Real > &&  other)
inlinenoexcept

Member Function Documentation

◆ empty()

template<uni20::Real Real>
bool uni20::krylov::symmetric_tridiagonal_matrix< Real >::empty ( ) const
inlinenoexcept

◆ operator=() [1/2]

◆ operator=() [2/2]

◆ operator[]()

template<uni20::Real Real>
Real uni20::krylov::symmetric_tridiagonal_matrix< Real >::operator[] ( std::size_t  row,
std::size_t  column 
) const
inline

◆ size()

template<uni20::Real Real>
std::size_t uni20::krylov::symmetric_tridiagonal_matrix< Real >::size ( ) const
inlinenoexcept

◆ view()

Member Data Documentation

◆ diagonal

template<uni20::Real Real>
std::span<Real> const uni20::krylov::symmetric_tridiagonal_matrix< Real >::diagonal

◆ offdiagonal

template<uni20::Real Real>
std::span<Real> const uni20::krylov::symmetric_tridiagonal_matrix< Real >::offdiagonal

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