Top | ![]() |
![]() |
![]() |
![]() |
Functions
gint | ncm_lapack_dptsv () |
gint | ncm_lapack_dpotrf () |
gint | ncm_lapack_dpotri () |
GArray * | ncm_lapack_dggglm_alloc () |
gint | ncm_lapack_dggglm_run () |
void | ncm_lapack_dtrsv () |
#define | NCM_LAPACK_CHECK_INFO() |
Description
This object is dedicated to encapsulate functions from LAPACK choosing the most suitable backend.
Priority order: (1) LAPACKE, (2) CLAPACK, (3) LAPACK and (4) GSL.
The description of each function follows its respective LAPACK documentation.
Functions
ncm_lapack_dptsv ()
gint ncm_lapack_dptsv (gdouble *d
,gdouble *e
,gdouble *b
,gdouble *x
,guint size
);
This function computes the solution to a real system of linear equations
$A*X = B$ (B = b
), where $A$ is an N-by-N (N = size
) symmetric positive definite tridiagonal
matrix, and $X$ and $B$ are N-by-NRHS (NRHS = 1) matrices.
$A$ is factored as $A = L*D*L^T$, and the factored form of $A$ is then used to solve the system of equations.
ncm_lapack_dpotrf ()
gint ncm_lapack_dpotrf (gchar uplo
,guint size
,gdouble *a
,guint lda
);
This function computes the Cholesky factorization of a real symmetric
positive definite matrix a
.
The factorization has the form
$A = U^T * U$, if uplo
= 'U', or
$A = L * L^T$, if uplo
= 'L',
where A = a
, $U$ is an upper triangular matrix and $L$ is lower triangular.
ncm_lapack_dpotri ()
gint ncm_lapack_dpotri (gchar uplo
,guint size
,gdouble *a
,guint lda
);
This function computes the inverse of a real symmetric positive
definite matrix a
= A using the Cholesky factorization
$A = U^T*U$ or $A = L*L^T$ computed by ncm_lapack_dpotrf
.
ncm_lapack_dggglm_alloc ()
GArray * ncm_lapack_dggglm_alloc (NcmMatrix *L
,NcmMatrix *X
,NcmVector *p
,NcmVector *d
,NcmVector *y
);
Calculates and allocs memory to solve the system determined by the parameters.
This function is expect the matrix X
and L
to be row-major.
ncm_lapack_dggglm_run ()
gint ncm_lapack_dggglm_run (GArray *ws
,NcmMatrix *L
,NcmMatrix *X
,NcmVector *p
,NcmVector *d
,NcmVector *y
);
Runs the dggglm function using the workspace ws
.
This function is expect the matrix X
and L
to be row-major.
ncm_lapack_dtrsv ()
void ncm_lapack_dtrsv (gchar uplo
,gchar trans
,gchar diag
,NcmMatrix *A
,NcmVector *v
);
Runs the dtrsv function.