tesseract++ 0.0.1
N-dimensional tensor library for embedded systems
Loading...
Searching...
No Matches
Namespaces | Functions
cholesky_solve.h File Reference

Solve Ax = b for symmetric positive-definite A via Cholesky decomposition. More...

#include "config.h"
#include "utilities/expected.h"
#include "matrix_traits.h"
#include "simple_type_traits.h"
#include "algorithms/decomposition/cholesky.h"
#include "algorithms/solvers/triangular_solve.h"
Include dependency graph for cholesky_solve.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace  matrix_algorithms
 

Functions

template<typename T , my_size_t N>
Expected< FusedVector< T, N >, MatrixStatus > matrix_algorithms::cholesky_solve (const FusedMatrix< T, N, N > &A, const FusedVector< T, N > &b)
 Solve Ax = b for symmetric positive-definite A via Cholesky decomposition.
 

Detailed Description

Solve Ax = b for symmetric positive-definite A via Cholesky decomposition.

Chains cholesky() → forward_substitute() → transposed back substitution to solve Ax = b without forming the inverse. Zero dynamic allocation.


ALGORITHM

Cholesky solve (Ax = b, A symmetric positive-definite):

1. Decompose A = LLᵀ via cholesky(A)
2. Solve Ly = b via forward substitution
3. Solve Lᵀx = y via back substitution (accessing L transposed in-place)
constexpr T && forward(remove_reference_t< T > &t) noexcept
Perfect-forward an lvalue (replacement for std::forward).
Definition simple_type_traits.h:189

Complexity: O(N³/3 + N²) — dominated by Cholesky for large N.


FAILURE MODES

Forwards all errors from cholesky():

From forward_substitute():