aimsdata 6.0.0
Neuroimaging data handling
gausslu.h File Reference
Include dependency graph for gausslu.h:

Go to the source code of this file.

Namespaces

namespace  carto
 

Functions

LU decomposition of matrix.

The source matrix is a.

As output, a is the LU decomposition. indx is an output vector that records the row permutation effected by the partial pivoting. d is output as +1 or -1 depending wether the number of row interchanges was even or odd.

float AimsDecompositionLU (carto::VolumeRef< float > &a, carto::VolumeRef< int32_t > &indx)
 
LU forward and backward substitution.

Solves the set of N linear equations A.X=B.

Here a is input but in LU form. indx is input as the permutation vector returned by LU decomposition. b is input as the right-hand side vector B, and returns with the solution vector X.

void AimsBackSubstitutionLU (const carto::VolumeRef< float > &a, const carto::VolumeRef< int32_t > &indx, carto::VolumeRef< float > &b)
 
Inverse of a matrix.
carto::VolumeRef< float > AimsInversionLU (const carto::VolumeRef< float > &matrix)
 Inverse of a float matrix.
 
carto::VolumeRef< cfloatAimsInversionLU (const carto::VolumeRef< cfloat > &matrix)
 Inverse of a complex float matrix.
 
Resolution of the linear equation A.X = B.
carto::VolumeRef< float > AimsLinearResolutionLU (const carto::VolumeRef< float > &matrix, const carto::VolumeRef< float > &b)
 Resolution in float.
 
carto::VolumeRef< cfloatAimsLinearResolutionLU (const carto::VolumeRef< cfloat > &matrix, const carto::VolumeRef< cfloat > &b)
 Resolution in complex float.
 
Determinant of a matrix.
float AimsDeterminantLU (const carto::VolumeRef< float > &matrix)
 
Linear resolution of Toeplitz like system.
void AimsToeplitz (const carto::VolumeRef< float > &r, const carto::VolumeRef< float > &y, carto::VolumeRef< float > &x)
 Resolution of system R.x = y where R is a toeplitz matrix decomposed in r=[r(-(N-1)), ...., r(-1), r(0), r(1), ..., r(N-1)].
 

Function Documentation

◆ AimsBackSubstitutionLU()

void AimsBackSubstitutionLU ( const carto::VolumeRef< float > & a,
const carto::VolumeRef< int32_t > & indx,
carto::VolumeRef< float > & b )

◆ AimsDecompositionLU()

float AimsDecompositionLU ( carto::VolumeRef< float > & a,
carto::VolumeRef< int32_t > & indx )

◆ AimsDeterminantLU()

float AimsDeterminantLU ( const carto::VolumeRef< float > & matrix)

◆ AimsInversionLU() [1/2]

carto::VolumeRef< cfloat > AimsInversionLU ( const carto::VolumeRef< cfloat > & matrix)

Inverse of a complex float matrix.

◆ AimsInversionLU() [2/2]

carto::VolumeRef< float > AimsInversionLU ( const carto::VolumeRef< float > & matrix)

Inverse of a float matrix.

◆ AimsLinearResolutionLU() [1/2]

carto::VolumeRef< cfloat > AimsLinearResolutionLU ( const carto::VolumeRef< cfloat > & matrix,
const carto::VolumeRef< cfloat > & b )

Resolution in complex float.

◆ AimsLinearResolutionLU() [2/2]

carto::VolumeRef< float > AimsLinearResolutionLU ( const carto::VolumeRef< float > & matrix,
const carto::VolumeRef< float > & b )

Resolution in float.

◆ AimsToeplitz()

void AimsToeplitz ( const carto::VolumeRef< float > & r,
const carto::VolumeRef< float > & y,
carto::VolumeRef< float > & x )

Resolution of system R.x = y where R is a toeplitz matrix decomposed in r=[r(-(N-1)), ...., r(-1), r(0), r(1), ..., r(N-1)].

The result is given in x