compute_diag.c

Computation functions.

Pierre Ramet : fev 2003 Mathieu Faverge Xavier Lacoste

Summary
compute_diag.cComputation functions.
Constants
MAXSIZEOFBLOCKSMaximum size of blocks given to blas in factorisation
API_CALL(FactorizationLDLT)
API_CALL(FactorizationLU)
API_CALL(DimTrans)
FactorizationLLTFactorisation LLt BLAS2 3 terms
FactorizationLLT_blockComputes the block LL^T factorisation of the matrix A.
FactorizationLDLTFactorisation LDLt BLAS2 3 terms
FactorizationLDLT_blockComputes the block LDL^T factorisation of the matrix A.
FactorizationLULU Factorisation of one (diagonal) block $A = LU$
FactorizationLU_blockBlock LU Factorisation of one (diagonal) big block
API_CALL(DimTrans)
API_CALL(factor_diag)

Constants

MAXSIZEOFBLOCKS

Maximum size of blocks given to blas in factorisation

API_CALL(FactorizationLDLT)

void API_CALL(
   FactorizationLDLT
) (FLOAT *A, INT n, INT stride, INT *nbpivot, double critere)

API_CALL(FactorizationLU)

void API_CALL(
   FactorizationLU
)(FLOAT *A, INT m, INT n, INT stride, INT *nbpivot, double critere)

API_CALL(DimTrans)

void API_CALL(DimTrans) (FLOAT *A, INT stride, INT size, FLOAT *B)

FactorizationLLT

void API_CALL(
   FactorizationLLT
)(FLOAT * A, INT n, INT stride, INT *nbpivot, double critere)

Factorisation LLt BLAS2 3 terms

A = LDL^T

Parameters

AMatrix to factorize
nSize of A
strideStide between 2 columns of the matrix
nbpivotIN/OUT pivot number.
criterePivoting threshold.

FactorizationLLT_block

void API_CALL(
   FactorizationLLT_block
)(FLOAT * A, INT n, INT stride, INT *nbpivot, double critere)

Computes the block LL^T factorisation of the matrix A.

A = LL^T

Parameters

AMatrix to factorize
nSize of A
strideStide between 2 columns of the matrix
nbpivotIN/OUT pivot number.
criterePivoting threshold.

FactorizationLDLT

void API_CALL(
   FactorizationLDLT
)(FLOAT * A, INT n, INT stride, INT *nbpivot, double critere)

Factorisation LDLt BLAS2 3 terms

A = LDL^T

Parameters

AMatrix to factorize
nSize of A
strideStide between 2 columns of the matrix
nbpivotIN/OUT pivot number.
criterePivoting threshold.

FactorizationLDLT_block

void API_CALL(
   FactorizationLDLT_block
)(FLOAT * A, INT n, INT stride, INT *nbpivot, double critere, FLOAT * tmp4)

Computes the block LDL^T factorisation of the matrix A.

A = LDL^T

Parameters

AMatrix to factorize
nSize of A
strideStide between 2 columns of the matrix
nbpivotIN/OUT pivot number.
criterePivoting threshold.

FactorizationLU

void API_CALL(
   FactorizationLU
)(FLOAT *A, INT m, INT n, INT stride, INT *nbpivot, double critere)

LU Factorisation of one (diagonal) block $A = LU$

For each column :

  • Divide the column by the diagonal element.
  • Substract the product of the subdiagonal part by the line after the diagonal element from the matrix under the diagonal element.

Parameters

AMatrix to factorize
mnumber of rows of the Matrix A
nnumber of cols of the Matrix A
strideStide between 2 columns of the matrix
nbpivotIN/OUT pivot number.
criterePivoting threshold.

FactorizationLU_block

void API_CALL(
   FactorizationLU_block
)(FLOAT *A, INT n, INT stride, INT *nbpivot, double critere)

Block LU Factorisation of one (diagonal) big block

A = LU

Parameters

AMatrix to factorize
nSize of A
strideStide between 2 columns of the matrix
nbpivotIN/OUT pivot number.
criterePivoting threshold.

API_CALL(DimTrans)

void API_CALL(DimTrans)(FLOAT *A, INT stride, INT size, FLOAT *B)

API_CALL(factor_diag)

void API_CALL(factor_diag)(Sopalin_Data_t *sopalin_data, INT me, INT c)
void API_CALL(
   FactorizationLDLT
) (FLOAT *A, INT n, INT stride, INT *nbpivot, double critere)
void API_CALL(
   FactorizationLU
)(FLOAT *A, INT m, INT n, INT stride, INT *nbpivot, double critere)
void API_CALL(DimTrans) (FLOAT *A, INT stride, INT size, FLOAT *B)
void API_CALL(
   FactorizationLLT
)(FLOAT * A, INT n, INT stride, INT *nbpivot, double critere)
Factorisation LLt BLAS2 3 terms
void API_CALL(
   FactorizationLLT_block
)(FLOAT * A, INT n, INT stride, INT *nbpivot, double critere)
Computes the block LL^T factorisation of the matrix A.
void API_CALL(
   FactorizationLDLT
)(FLOAT * A, INT n, INT stride, INT *nbpivot, double critere)
Factorisation LDLt BLAS2 3 terms
void API_CALL(
   FactorizationLDLT_block
)(FLOAT * A, INT n, INT stride, INT *nbpivot, double critere, FLOAT * tmp4)
Computes the block LDL^T factorisation of the matrix A.
void API_CALL(
   FactorizationLU
)(FLOAT *A, INT m, INT n, INT stride, INT *nbpivot, double critere)
LU Factorisation of one (diagonal) block $A = LU$
void API_CALL(
   FactorizationLU_block
)(FLOAT *A, INT n, INT stride, INT *nbpivot, double critere)
Block LU Factorisation of one (diagonal) big block
void API_CALL(factor_diag)(Sopalin_Data_t *sopalin_data, INT me, INT c)
Close