Contents

class

SushiDSP::dk::DenseLu< 1 >

template <>

One-dimensional LU, which is a single division; the nonlinear diode fast path pays nothing for the general machinery.

Declared in
include/SushiDSP/math/dk/DenseLu.hpp

Static public attributes

static constexpr double kMinimumPivot = 1e-300

Smallest pivot magnitude accepted as non-singular.

Public member functions

bool factorise(const std::array< std::array< double, 1 >, 1 > &matrix)

Stores the single matrix entry as the pivot.

Parameters

matrix

The 1x1 system matrix.

Returns

False when the entry is numerically zero.

bool factorise(const std::array< std::array< double, 1 >, 1 > &matrix, std::size_t order)

Stores the single matrix entry, or succeeds trivially at order zero.

Parameters

matrix

The 1x1 system matrix.

order

Active dimension, either zero or one.

Returns

False when the entry is numerically zero at order one.

void solve(const std::array< double, 1 > &right_hand_side, std::array< double, 1 > &solution) const

Divides by the factorised entry.

Parameters

right_hand_side

b.

solution

x, overwritten.

void solve(const std::array< double, 1 > &right_hand_side, std::array< double, 1 > &solution, std::size_t order) const

Divides by the factorised entry, or leaves the solution alone at order zero.

Parameters

right_hand_side

b.

solution

x, overwritten at order one.

order

Active dimension, either zero or one.