Data Structures | Enumerations | Functions

src/coramf/matrix.h File Reference

Go to the source code of this file.

Data Structures

struct  MATRIX
struct  VECTOR

Enumerations

enum  MatrixType { REAL, COMPLEX }
enum  matrixOrder { ROW_MAJOR, COL_MAJOR }

Functions

MATRIX newMatrix (int r, int c)
MATRIX newMatrixI (int r, int c, double *Idata)
MATRIX newComplexMatrix (int r, int c)
void freeMatrix (MATRIX m)
VECTOR newVector (int n)
void freeVector (VECTOR v)
unsigned int setRandomSeedToTime ()
unsigned int setRandomSeed (unsigned int seed)
MATRIX newRandomMatrix (int r, int c)
VECTOR multiplyMV (MATRIX m, VECTOR v)
MATRIX multiplyMM2 (char TransA, char TransB, MATRIX A, MATRIX B)
MATRIX multiplyMM2NoForceC (char TransA, char TransB, MATRIX A, MATRIX B)
MATRIX multiplyMMFull (char TransA, char TransB, double alpha, double beta, MATRIX A, MATRIX B)
MATRIX multiplyMD (MATRIX m, VECTOR d)
MATRIX multiplyDM (VECTOR d, MATRIX m)
VECTOR multiplyDV (VECTOR d, VECTOR v)
MATRIX multiplyScalar (MATRIX m, double scalar)
MATRIX multiplyScalarZ (MATRIX m, double complex scalar)
MATRIX starMultiply (MATRIX P, MATRIX Q)
MATRIX multiplyMMplusC (MATRIX A, MATRIX B, double beta, MATRIX C)
MATRIX multiplyMMplusCZ (MATRIX A, MATRIX B, double beta, MATRIX C)
MATRIX multiplyABplusC (char TransA, char TransB, MATRIX A, MATRIX B, double beta, MATRIX C)
MATRIX multiplyAlphaABplusC (char TransA, char TransB, MATRIX A, MATRIX B, double alpha, double beta, MATRIX C)
MATRIX toMatrix (fits2d f)
VECTOR toVector (fits2d f)
fits2d toFitsObject (VECTOR v)
fits2d MatrixToFitsObject (MATRIX m)
fits3d MatrixToFits3dObject (MATRIX m)
double * toRowMajor (double *A, int R, int C)
double * toColumnMajor (double *A, int R, int C)
MATRIX toRowMajor2 (MATRIX m)
MATRIX toColumnMajor2 (MATRIX m)
MATRIX expandDiagonalMatrix (VECTOR v)
MATRIX transpose (MATRIX m)
MATRIX conjugate (MATRIX m)
MATRIX inverseD (MATRIX m)
MATRIX inverse (MATRIX m)
MATRIX Cholesky (MATRIX m)
MATRIX ConvertToReal (MATRIX m)
MATRIX ConvertToComplex (MATRIX m)
VECTOR MatrixToVector (MATRIX m)
MATRIX VectorToMatrix_Column (VECTOR v)
MATRIX reduceMatrix (MATRIX from, VECTOR depths, int areRows)
void insertVector (double *to, VECTOR from)
void APlusLambdaB (MATRIX A, double lambda, MATRIX B, MATRIX C)
double complex Norm2 (MATRIX m)
MATRIX BItimesV (MATRIX B, MATRIX V)
int matrix_equal (MATRIX a, MATRIX b)
void setToNaN (VECTOR v)
void setToNaNMatrix (MATRIX m)
MATRIX pad (MATRIX a, int newRow, int newCol, double value)
MATRIX embed (MATRIX a, int factor)
void splitMatrix (MATRIX m, MATRIX *real, MATRIX *imag)
void mergeMatrix (MATRIX *m, MATRIX real, MATRIX imag)
MATRIX zeroScatterer (MATRIX K, int scatterer, int Nz, int NBeta)
MATRIX scaleScatterer (MATRIX K, double factor, int scatterer, int Nz, int NBeta)
MATRIX scaleNonScatterer (MATRIX K, double factor, int scatterer, int Nz, int NBeta)
VECTOR readText (char *filename)
void print_matrix (char *desc, int m, int n, double *a, int lda, enum matrixOrder order)
void print_matrix2 (char *desc, MATRIX m, enum matrixOrder order)
void print_matrix2toFile (char *desc, MATRIX m, enum matrixOrder order)
int testTranspose ()

Function Documentation

MATRIX embed ( MATRIX  a,
int  factor 
)

embed a matrix within a larger matrix of zeros.

Parameters:
[in] a A matrix object.
[in] factor Increase rows and columns by this factor.
Returns:
The new embedded matrix.
int matrix_equal ( MATRIX  a,
MATRIX  b 
)

Compare two matrices for equality.

Parameters:
[in] a A matrix object.
[in] b A matrix object.
Returns:
TRUE if matrix values are equal.
MATRIX multiplyABplusC ( char  TransA,
char  TransB,
MATRIX  A,
MATRIX  B,
double  beta,
MATRIX  C 
)

ORIGINAL Attempt to generalize matrix multiplication and make this really a facade for the lapack library dgemm and zgemm

MATRIX multiplyAlphaABplusC ( char  TransA,
char  TransB,
MATRIX  A,
MATRIX  B,
double  alpha,
double  beta,
MATRIX  C 
)

Attempt to generalize matrix multiplication and make this really a facade for the lapack library dgemm and zgemm

MATRIX multiplyDM ( VECTOR  d,
MATRIX  m 
)
VECTOR multiplyDV ( VECTOR  d,
VECTOR  v 
)
MATRIX multiplyMD ( MATRIX  m,
VECTOR  d 
)

Multiply a matrix, m, by a diagonal matrix represented by its diagonal elements in vector, d

MATRIX multiplyMMplusC ( MATRIX  A,
MATRIX  B,
double  beta,
MATRIX  C 
)
MATRIX multiplyMMplusCZ ( MATRIX  A,
MATRIX  B,
double  beta,
MATRIX  C 
)
VECTOR multiplyMV ( MATRIX  m,
VECTOR  v 
)
MATRIX pad ( MATRIX  a,
int  newRow,
int  newCol,
double  value 
)

Pad a matrix with a scalar value, i.e. expand and fill the matrix with a specific value.

Parameters:
[in] a A matrix object.
[in] newRow Number of rows in expanded matrix.
[in] newCol Number of columns in expanded matrix.
[in] value Numeric value for empty elements.
Returns:
A new matrix with padded values.
MATRIX reduceMatrix ( MATRIX  from,
VECTOR  depths,
int  areRows 
)
MATRIX scaleNonScatterer ( MATRIX  K,
double  factor,
int  scatterer,
int  Nz,
int  NBeta 
)

Multiply all elements of non-scatterer by factor.

Parameters:
[in] K A MATRIX, usually K
[in] factor A scalar value
[in] scatterer The scatterer of interest. All elements (rows and columns) for this scatterer are untouched. All other elements are scaled by the factor.
[in] Nz the Nz dimension of the kernels
[in] NBeta the number of scatterers.
Returns:
A copy of the K matrix with elements for non-scatterers scaled by the factor.
MATRIX scaleScatterer ( MATRIX  K,
double  factor,
int  scatterer,
int  Nz,
int  NBeta 
)

Multiply all elements (maps and Nz's) of scatterer by a scale factor.

Parameters:
[in] K The MATRIX, to scale.
[in] factor A scalar value.
[in] scatterer The scatterer of interest. All elements (rows and columns) for this scatterer are scaled.
[in] Nz the Nz dimension of the kernels.
[in] NBeta the number of scatterers.
Returns:
A new matrix with scatterer elements of K scaled.
unsigned int setRandomSeed ( unsigned int  seed  ) 

Not used

unsigned int setRandomSeedToTime (  ) 

Set seed for random number generator to system time

Returns:
Seed value.
MATRIX starMultiply ( MATRIX  P,
MATRIX  Q 
)
int testTranspose (  ) 
MATRIX zeroScatterer ( MATRIX  K,
int  scatterer,
int  Nz,
int  NBeta 
)

Set all elements for scatterer to zero.

Parameters:
[in] K A MATRIX, usually Theta (a matrix defining the overlap).
[in] scatterer The scatterer of interest. All elements (rows and columns) for this scatterer are set to zero.
[in] Nz the Nz dimension of the kernels
[in] NBeta the number of scatterers.
Returns:
A copy of the Theta matrix with elements for scatterer set to zero.
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Defines