tesseract++ 0.0.1
N-dimensional tensor library for embedded systems
Loading...
Searching...
No Matches
Public Member Functions | Public Attributes | List of all members
matrix_algorithms::QRResult< T, M, N > Struct Template Reference

Result of Householder QR decomposition. More...

#include <qr.h>

Collaboration diagram for matrix_algorithms::QRResult< T, M, N >:
Collaboration graph
[legend]

Public Member Functions

FusedMatrix< T, M, M > Q () const
 Extract the full orthogonal factor Q (M×M).
 
FusedMatrix< T, M, N > R () const
 Extract the upper-triangular factor R (M×N).
 
FusedVector< T, M > apply_Qt (const FusedVector< T, M > &b) const
 Apply Qᵀ to a vector b without forming Q explicitly.
 

Public Attributes

FusedMatrix< T, M, N > QR
 Compact Householder + R storage.
 
FusedVector< T, N > tau
 Householder scaling factors.
 

Detailed Description

template<typename T, my_size_t M, my_size_t N>
struct matrix_algorithms::QRResult< T, M, N >

Result of Householder QR decomposition.

Compact storage: R in upper triangle, normalized Householder vectors (leading 1 implicit) below diagonal, tau vector of scaling factors.

Template Parameters
TScalar type.
MNumber of rows (M ≥ N).
NNumber of columns.

Member Function Documentation

◆ apply_Qt()

template<typename T , my_size_t M, my_size_t N>
FusedVector< T, M > matrix_algorithms::QRResult< T, M, N >::apply_Qt ( const FusedVector< T, M > &  b) const
inline

Apply Qᵀ to a vector b without forming Q explicitly.

Computes Qᵀ·b by applying Householder reflections in forward order. Used for least squares: solve R·x = Qᵀ·b.

Parameters
bInput vector of length M.
Returns
Qᵀ·b.

◆ Q()

template<typename T , my_size_t M, my_size_t N>
FusedMatrix< T, M, M > matrix_algorithms::QRResult< T, M, N >::Q ( ) const
inline

Extract the full orthogonal factor Q (M×M).

Accumulates Householder reflections in reverse order: Q = H₀ · H₁ · … · H_{N−1} where Hⱼ = I − τⱼ · vⱼ · vⱼᵀ.

Here is the call graph for this function:

◆ R()

template<typename T , my_size_t M, my_size_t N>
FusedMatrix< T, M, N > matrix_algorithms::QRResult< T, M, N >::R ( ) const
inline

Extract the upper-triangular factor R (M×N).

R(i,j) = QR(i,j) for i ≤ j, zero below diagonal.

Member Data Documentation

◆ QR

template<typename T , my_size_t M, my_size_t N>
FusedMatrix<T, M, N> matrix_algorithms::QRResult< T, M, N >::QR

Compact Householder + R storage.

◆ tau

template<typename T , my_size_t M, my_size_t N>
FusedVector<T, N> matrix_algorithms::QRResult< T, M, N >::tau

Householder scaling factors.


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