Mat3 class

3x3 dense matrix object More...


Files

file  vec3.h
 Classes Vec3,Mat3: 3x1 vector and 3x3 dense matrix objects.

Typedefs

typedef double Mat3 [3][3]
 Mat3 definition. 3x3 dense matrix object.

Functions

double Mat3_nrm1 (Mat3 A)
 1-norm of a 3-matrix.
double Mat3_nrm2 (Mat3 A)
 2-norm of a 3-matrix.
double Mat3_nrm8 (Mat3 A)
 oo-norm of a 3-matrix.
double Mat3_dif1 (Mat3 A, Mat3 B)
 1-norm of difference of two 3-matrices.
double Mat3_dif2 (Mat3 A, Mat3 B)
 2-norm of difference of two 3-matrices.
double Mat3_dif8 (Mat3 A, Mat3 B)
 oo-norm of difference of two 3-matrices.
double Mat3_nrm8Low (Mat3 A)
 oo-norm of lower-triangle of a 3-matrix.
void Mat3_eye (Mat3 A)
 identity 3-matrix.
void Mat3_init (Mat3 A, double val)
 initialize a 3-matrix.
void Mat3_scal (Mat3 A, double val)
 normalize a 3-matrix.
void Mat3_copy (Mat3 A, Mat3 B)
 copy a 3-matrix.
void Mat3_axpy (Mat3 A, Mat3 B, double val)
 Saxpy for 3-matrices.
void Mat3_mult (Mat3 C, Mat3 A, Mat3 B)
 multiply 3-matrices.
void Mat3_putCol (Mat3 A, Vec3 u, int col)
 put a 3-vector column in a 3-matrix.
void Mat3_putRow (Mat3 A, Vec3 u, int row)
 put a 3-vector row in a 3-matrix.
void Mat3_print (Mat3 A, const char *name)
 print a 3-matrix.
double Mat3_qri (Mat3 V, Mat3 D, Mat3 A)
 QR iteration for 3-matrices.
void Mat3_gramSch (Mat3 Q, Mat3 R, Mat3 A)
 QR factorization of 3-matrix (via modified Graham-Schmidt).
void Mat3_qr (Mat3 Q, Mat3 R, Mat3 A)
 a single QR iteration for a 3-matrix.
double Mat3_det (Mat3 A)
 determinant of a 3-matrix.
void Mat3_inverse (Mat3 A, Mat3 Ainv)
 inverse of a 3-matrix.

Detailed Description

3x3 dense matrix object


Typedef Documentation

typedef double Mat3[3][3]

Mat3 definition. 3x3 dense matrix object.

Author:
Michael Holst


Function Documentation

void Mat3_axpy ( Mat3  A,
Mat3  B,
double  val 
)

Saxpy for 3-matrices.

Author:
Michael Holst
Note:
Class Vec3,Mat3: Non-inlineable methods (vec3.c)
Returns:
None
Parameters:
A the output 3-matrix
B the source 3-matrix
val the coeficient of the 3-matrix B components

void Mat3_copy ( Mat3  A,
Mat3  B 
)

copy a 3-matrix.

Author:
Michael Holst
Note:
Class Vec3,Mat3: Non-inlineable methods (vec3.c)
Returns:
None
Parameters:
A the output 3-matrix
B the source 3-matrix

double Mat3_det ( Mat3  A  ) 

determinant of a 3-matrix.

Author:
Michael Holst
Note:
Class Vec3,Mat3: Non-inlineable methods (vec3.c)
Returns:
determinant of a 3-matrix
Parameters:
A the 3-matrix

double Mat3_dif1 ( Mat3  A,
Mat3  B 
)

1-norm of difference of two 3-matrices.

Author:
Michael Holst
Note:
Class Vec3,Mat3: Non-inlineable methods (vec3.c)
Returns:
1-norm of difference of two 3-matrices
Parameters:
A the 3-matrix A
B the 3-matrix B

double Mat3_dif2 ( Mat3  A,
Mat3  B 
)

2-norm of difference of two 3-matrices.

Author:
Michael Holst
Note:
Class Vec3,Mat3: Non-inlineable methods (vec3.c)
Returns:
2-norm of difference of two 3-matrices
Parameters:
A the 3-matrix A
B the 3-matrix B

double Mat3_dif8 ( Mat3  A,
Mat3  B 
)

oo-norm of difference of two 3-matrices.

Author:
Michael Holst
Note:
Class Vec3,Mat3: Non-inlineable methods (vec3.c)
Returns:
oo-norm of difference of two 3-matrices
Parameters:
A the 3-matrix A
B the 3-matrix B

void Mat3_eye ( Mat3  A  ) 

identity 3-matrix.

Author:
Michael Holst
Note:
Class Vec3,Mat3: Non-inlineable methods (vec3.c)
Returns:
None
Parameters:
A the 3-matrix

void Mat3_gramSch ( Mat3  Q,
Mat3  R,
Mat3  A 
)

QR factorization of 3-matrix (via modified Graham-Schmidt).

Author:
Michael Holst
Note:
Class Vec3,Mat3: Non-inlineable methods (vec3.c)
Returns:
None
Parameters:
Q the Q 3-matrix
R the R 3-matrix
A the source 3-matrix

void Mat3_init ( Mat3  A,
double  val 
)

initialize a 3-matrix.

Author:
Michael Holst
Note:
Class Vec3,Mat3: Non-inlineable methods (vec3.c)
Returns:
None
Parameters:
A the 3-matrix
val initialized value of the 3-matrix component

void Mat3_inverse ( Mat3  A,
Mat3  Ainv 
)

inverse of a 3-matrix.

Author:
Michael Holst
Note:
Class Vec3,Mat3: Non-inlineable methods (vec3.c)
Returns:
None
Parameters:
A the 3-matrix
Ainv inverse of a 3-matrix A

void Mat3_mult ( Mat3  C,
Mat3  A,
Mat3  B 
)

multiply 3-matrices.

Author:
Michael Holst
Note:
Class Vec3,Mat3: Non-inlineable methods (vec3.c)
Returns:
None
Parameters:
C the output 3-matrix
A the source 3-matrix A
B the source 3-matrix B

double Mat3_nrm1 ( Mat3  A  ) 

1-norm of a 3-matrix.

Author:
Michael Holst
Note:
Class Vec3,Mat3: Non-inlineable methods (vec3.c)
Returns:
1-norm of a 3-matrix
Parameters:
A the 3-matrix

double Mat3_nrm2 ( Mat3  A  ) 

2-norm of a 3-matrix.

Author:
Michael Holst
Note:
Class Vec3,Mat3: Non-inlineable methods (vec3.c)
Returns:
2-norm of a 3-matrix
Parameters:
A the 3-matrix

double Mat3_nrm8 ( Mat3  A  ) 

oo-norm of a 3-matrix.

Author:
Michael Holst
Note:
Class Vec3,Mat3: Non-inlineable methods (vec3.c)
Returns:
oo-norm of a 3-matrix
Parameters:
A the 3-matrix

double Mat3_nrm8Low ( Mat3  A  ) 

oo-norm of lower-triangle of a 3-matrix.

Author:
Michael Holst
Note:
Class Vec3,Mat3: Non-inlineable methods (vec3.c)
Returns:
oo-norm of lower-triangle of a 3-matrix
Parameters:
A the 3-matrix

void Mat3_print ( Mat3  A,
const char *  name 
)

print a 3-matrix.

Author:
Michael Holst
Note:
Class Vec3,Mat3: Non-inlineable methods (vec3.c)
Returns:
None
Parameters:
A the 3-matrix
name the output name of the 3-matrix

void Mat3_putCol ( Mat3  A,
Vec3  u,
int  col 
)

put a 3-vector column in a 3-matrix.

Author:
Michael Holst
Note:
Class Vec3,Mat3: Non-inlineable methods (vec3.c)
Returns:
None
Parameters:
A the 3-matrix
u the 3-vector
col the index of the 3-vector column in a 3-matrix

void Mat3_putRow ( Mat3  A,
Vec3  u,
int  row 
)

put a 3-vector row in a 3-matrix.

Author:
Michael Holst
Note:
Class Vec3,Mat3: Non-inlineable methods (vec3.c)
Returns:
None
Parameters:
A the 3-matrix
u the 3-vector
row the index of the 3-vector row in a 3-matrix

void Mat3_qr ( Mat3  Q,
Mat3  R,
Mat3  A 
)

a single QR iteration for a 3-matrix.

Author:
Michael Holst
Note:
Class Vec3,Mat3: Non-inlineable methods (vec3.c)
Returns:
None
Parameters:
Q the Q 3-matrix
R the R 3-matrix
A the source 3-matrix

double Mat3_qri ( Mat3  V,
Mat3  D,
Mat3  A 
)

QR iteration for 3-matrices.

Author:
Michael Holst
Note:
Class Vec3,Mat3: Non-inlineable methods (vec3.c)
Returns:
QR iteration for 3-matrices
Parameters:
V the output 3-matrix
D the diagonal 3-matrix
A the source 3-matrix

void Mat3_scal ( Mat3  A,
double  val 
)

normalize a 3-matrix.

Author:
Michael Holst
Note:
Class Vec3,Mat3: Non-inlineable methods (vec3.c)
Returns:
None
Parameters:
A the 3-matrix
val the coeficient of the 3-matrix components


Generated on Mon Aug 9 11:13:45 2010 for MC by  doxygen 1.5.6