11#ifndef TLAPACK_PBTRF_WITH_WORKSPACE_HH
12#define TLAPACK_PBTRF_WITH_WORKSPACE_HH
51template <
typename uplo_t,
typename matrix_t>
70 const idx_t nb =
opts.nb;
80 for (idx_t i = 0; i < n; i += nb) {
81 idx_t
ib = (n < nb + i) ? n - i : nb;
90 idx_t
i2 = (
kd + i < n) ?
kd -
ib : n - i -
ib;
92 idx_t
i3 = (n > i +
kd) ? min(
ib, n - i -
kd) : 0;
149 for (idx_t i = 0; i < n; i += nb) {
150 idx_t
ib = (nb + i < n) ?
ib = nb : n - i;
159 idx_t
i2 = (
kd + i < n) ?
kd -
ib : n - i -
ib;
161 idx_t
i3 = (n > i +
kd) ? min(
ib, n - i -
kd) : 0;
void laset(uplo_t uplo, const type_t< matrix_t > &alpha, const type_t< matrix_t > &beta, matrix_t &A)
Initializes a matrix to diagonal and off-diagonal values.
Definition laset.hpp:38
void pbtrf_with_workspace(uplo_t uplo, matrix_t &A, size_t kd, const BlockedBandedCholeskyOpts &opts={})
Cholesky factorization of a full, banded, n by n matrix.
Definition pbtrf_with_workspace.hpp:52
void herk(Uplo uplo, Op trans, const alpha_t &alpha, const matrixA_t &A, const beta_t &beta, matrixC_t &C)
Hermitian rank-k update:
Definition herk.hpp:68
void gemm(Op transA, Op transB, const alpha_t &alpha, const matrixA_t &A, const matrixB_t &B, const beta_t &beta, matrixC_t &C)
General matrix-matrix multiply:
Definition gemm.hpp:61
void trsm(Side side, Uplo uplo, Op trans, Diag diag, const alpha_t &alpha, const matrixA_t &A, matrixB_t &B)
Solve the triangular matrix-vector equation.
Definition trsm.hpp:76
int potf2(uplo_t uplo, matrix_t &A)
Computes the Cholesky factorization of a Hermitian positive definite matrix A using a level-2 algorit...
Definition potf2.hpp:58
#define tlapack_check(cond)
Throw an error if cond is false.
Definition exceptionHandling.hpp:98
int potrf(uplo_t uplo, matrix_t &A, const PotrfOpts &opts={})
Computes the Cholesky factorization of a Hermitian positive definite matrix A.
Definition potrf.hpp:78
Computes the Cholesky factorization of a Hermitian positive definite matrix A.
Sort the numbers in D in increasing order (if ID = 'I') or in decreasing order (if ID = 'D' ).
Definition arrayTraits.hpp:15
typename traits::real_type_traits< Types..., int >::type real_type
The common real type of the list of types.
Definition scalar_type_traits.hpp:113
@ NonUnit
The main diagonal is not assumed to consist of 1's.
@ ConjTrans
conjugate transpose
@ General
0 <= i <= m, 0 <= j <= n.
@ Upper
0 <= i <= j, 0 <= j <= n.
@ Lower
0 <= i <= m, 0 <= j <= i.
Options struct for pbtrf_with_workspace()
Definition pbtrf_with_workspace.hpp:22
Options for error checking.
Definition exceptionHandling.hpp:76