Uni20
Asynchronous tensor and runtime library.
Loading...
Searching...
No Matches
Public Types | Public Member Functions | List of all members
uni20::linalg::LuFactorization< S > Class Template Reference

Immutable owning packed factors satisfying P A = L U. More...

#include <lu.hpp>

Public Types

using value_type = S
 

Public Member Functions

std::optional< LuNorms< make_real_t< S > > > const & norms () const &noexcept
 Original norms at factor precision, absent only when capture was disabled.
 
std::size_t order () const noexcept
 Matrix order, including zero for a successfully factored empty matrix.
 
DenseMatrix< S > const & packed () const &noexcept
 Read-only packed L/U matrix, valid while this object retains its storage.
 
std::span< std::size_t const > pivots () const &noexcept
 Zero-based swap sequence; at step k exchange rows k and pivots[k].
 
Precision precision () const
 Finite working precision used for these factors and subsequent solves.
 

Detailed Description

template<RealOrComplex S>
class uni20::linalg::LuFactorization< S >

Immutable owning packed factors satisfying P A = L U.

Created only by successful factorization. P applies the stored row swaps in elimination order; the unit diagonal of L is implicit. Copies own their data. A moved-from object supports destruction and reassignment; other operations require an intact factorization. Factor storage cannot overlap a solve's writable RHS.

Member Typedef Documentation

◆ value_type

template<RealOrComplex S>
using uni20::linalg::LuFactorization< S >::value_type = S

Member Function Documentation

◆ norms()

template<RealOrComplex S>
std::optional< LuNorms< make_real_t< S > > > const & uni20::linalg::LuFactorization< S >::norms ( ) const &
inlinenoexcept

Original norms at factor precision, absent only when capture was disabled.

◆ order()

template<RealOrComplex S>
std::size_t uni20::linalg::LuFactorization< S >::order ( ) const
inlinenoexcept

Matrix order, including zero for a successfully factored empty matrix.

◆ packed()

template<RealOrComplex S>
DenseMatrix< S > const & uni20::linalg::LuFactorization< S >::packed ( ) const &
inlinenoexcept

Read-only packed L/U matrix, valid while this object retains its storage.

◆ pivots()

template<RealOrComplex S>
std::span< std::size_t const > uni20::linalg::LuFactorization< S >::pivots ( ) const &
inlinenoexcept

Zero-based swap sequence; at step k exchange rows k and pivots[k].

◆ precision()

template<RealOrComplex S>
Precision uni20::linalg::LuFactorization< S >::precision ( ) const
inline

Finite working precision used for these factors and subsequent solves.


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