Celeritas 0.6.0-dev.115+3b60a5fd
|
Solve a tridiagonal system of equations using the Thomas algorithm. More...
#include <TridiagonalSolver.hh>
Public Types | |
Type aliases | |
using | Real3 = Array< real_type, 3 > |
using | Coeffs = std::vector< Real3 > |
using | SpanConstReal = Span< real_type const > |
using | SpanReal = Span< real_type > |
Public Member Functions | |
TridiagonalSolver (Coeffs &&tridiag) | |
Contruct with the tridiagonal matrix coefficients. | |
void | operator() (SpanConstReal rhs, SpanReal x) const |
Solve the tridiagonal system. | |
Solve a tridiagonal system of equations using the Thomas algorithm.
This is a simplified form of Gaussian elimination that can solve a tridiagonal system \( \mathbf{T} \mathbf{x} = \mathbf{b} \) in O(n) time.