aboutsummaryrefslogtreecommitdiff
path: root/include/triangular_solve.hpp
blob: 632f225ba20a83fe8097c86f75ef86e45b4edea2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#pragma once

#include <cstddef>

#include "matrix.hpp"
#include "vector.hpp"

namespace linalg {

Vector forward_substitution(
    const Matrix& lower,
    const Vector& rhs,
    double singular_tolerance = 1e-12,
    bool unit_diagonal = false);

Vector backward_substitution(
    const Matrix& upper,
    const Vector& rhs,
    double singular_tolerance = 1e-12,
    bool unit_diagonal = false);

}  // namespace linalg