NumericAL
A header-only C++20 lexer built on REAL
Loading...
Searching...
No Matches
Public Attributes | List of all members
numerical::detail::bidiagonal_node Struct Reference

One block of bidiagonal_divide's tree: the bidiagonal it decomposes (its own copies scaled by a power of two, or its parent's), the two halves it splits into, and its decomposition once solved. More...

Public Attributes

const double * d {}
 The diagonal it is solved on.
 
const double * e {}
 The superdiagonal it is solved on.
 
std::size_t n {}
 Its rows.
 
std::size_t extra {}
 Its columns past its rows, 0 or 1.
 
int exponent {0}
 The power of two it is scaled down by.
 
buffer< double > scaled_d {}
 The scaled diagonal, when exponent is not 0.
 
buffer< double > scaled_e {}
 The scaled superdiagonal, when exponent is not 0.
 
std::size_t k {0}
 The row it splits at; 0 for a leaf.
 
std::size_t first {}
 The block above row k.
 
std::size_t second {}
 The block below row k.
 
std::size_t depth {}
 Its distance from the root.
 
buffer< double > sigma {}
 Its singular values, ascending.
 
buffer< double > u {}
 Its left singular vectors, as columns.
 
buffer< double > v {}
 Its right singular vectors, as columns.
 

Detailed Description

One block of bidiagonal_divide's tree: the bidiagonal it decomposes (its own copies scaled by a power of two, or its parent's), the two halves it splits into, and its decomposition once solved.

Definition at line 5663 of file decomposition.hpp.

Member Data Documentation

◆ d

const double* numerical::detail::bidiagonal_node::d {}

The diagonal it is solved on.

Definition at line 5665 of file decomposition.hpp.

◆ depth

std::size_t numerical::detail::bidiagonal_node::depth {}

Its distance from the root.

Definition at line 5675 of file decomposition.hpp.

◆ e

const double* numerical::detail::bidiagonal_node::e {}

The superdiagonal it is solved on.

Definition at line 5666 of file decomposition.hpp.

◆ exponent

int numerical::detail::bidiagonal_node::exponent {0}

The power of two it is scaled down by.

Definition at line 5669 of file decomposition.hpp.

◆ extra

std::size_t numerical::detail::bidiagonal_node::extra {}

Its columns past its rows, 0 or 1.

Definition at line 5668 of file decomposition.hpp.

◆ first

std::size_t numerical::detail::bidiagonal_node::first {}

The block above row k.

Definition at line 5673 of file decomposition.hpp.

◆ k

std::size_t numerical::detail::bidiagonal_node::k {0}

The row it splits at; 0 for a leaf.

Definition at line 5672 of file decomposition.hpp.

◆ n

std::size_t numerical::detail::bidiagonal_node::n {}

Its rows.

Definition at line 5667 of file decomposition.hpp.

◆ scaled_d

buffer<double> numerical::detail::bidiagonal_node::scaled_d {}

The scaled diagonal, when exponent is not 0.

Definition at line 5670 of file decomposition.hpp.

◆ scaled_e

buffer<double> numerical::detail::bidiagonal_node::scaled_e {}

The scaled superdiagonal, when exponent is not 0.

Definition at line 5671 of file decomposition.hpp.

◆ second

std::size_t numerical::detail::bidiagonal_node::second {}

The block below row k.

Definition at line 5674 of file decomposition.hpp.

◆ sigma

buffer<double> numerical::detail::bidiagonal_node::sigma {}

Its singular values, ascending.

Definition at line 5676 of file decomposition.hpp.

◆ u

buffer<double> numerical::detail::bidiagonal_node::u {}

Its left singular vectors, as columns.

Definition at line 5677 of file decomposition.hpp.

◆ v

buffer<double> numerical::detail::bidiagonal_node::v {}

Its right singular vectors, as columns.

Definition at line 5678 of file decomposition.hpp.


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