|
numerics 0.1.0
|
Functions | |
| void | ger (real alpha, const Vector &x, const Vector &y, Matrix &A, seq_t) noexcept |
| Sequential rank-1 update: calls raw::ger (routes to cblas_dger when BLAS available; otherwise vectorizable row-update loop). | |
| void | ger (real alpha, const Vector &x, const Vector &y, Matrix &A, par_t) |
| Parallel rank-1 update: OMP parallel-for over rows. Each row update A[i,:] += alpha*x[i]*y is independent. | |
| void | ger (real alpha, const Vector &x, const Vector &y, Matrix &A) |
| Default policy. | |
| void | trsv_lower (const Matrix &L, const Vector &b, Vector &x) |
| Forward substitution: solve Lx = b. | |
| void | trsv_upper (const Matrix &U, const Vector &b, Vector &x) |
| Back substitution: solve Ux = b. | |
Parallel rank-1 update: OMP parallel-for over rows. Each row update A[i,:] += alpha*x[i]*y is independent.
Definition at line 25 of file dense.cpp.
References num::Matrix::data(), num::BasicVector< T >::data(), ger(), and num::BasicVector< T >::size().
Forward substitution: solve Lx = b.
L must be square. x is allocated to L.rows() if x.size() != L.rows(). No policy parameter: the outer loop has a serial dependency. Dispatches to cblas_dtrsv via raw:: when NUMERICS_HAS_BLAS.
Definition at line 49 of file dense.cpp.
References num::Matrix::cols(), num::Matrix::data(), num::BasicVector< T >::data(), num::Matrix::rows(), num::BasicVector< T >::size(), and num::kernel::raw::trsv_lower().
Back substitution: solve Ux = b.
U must be square. x is allocated to U.rows() if x.size() != U.rows(). No policy parameter: serial outer dependency. Dispatches to cblas_dtrsv via raw:: when NUMERICS_HAS_BLAS.
Definition at line 64 of file dense.cpp.
References num::Matrix::cols(), num::Matrix::data(), num::BasicVector< T >::data(), num::Matrix::rows(), num::BasicVector< T >::size(), and num::kernel::raw::trsv_upper().