matrix.h File Reference

Go to the source code of this file.

Data Structures

struct  matrix
void add_mat (matrix A, const matrix B)
void construct_mat (matrix *A, long n, long m)
void construct_mat_copy (matrix *A, const matrix B)
void construct_mat_multiply (matrix *out, const matrix A, const matrix B)
void construct_mat_transpose (matrix *out, const matrix in)
void destruct_mat (matrix *A)
void ludcmp (matrix out)
void lusolve (vector sol, const matrix out, const vector rhs)
void mat_transf (matrix out, long ia, long ib, long ic, double *_x, double *_y)
void mat_transfinv (matrix out, long ia, long ib, long ic, double *_x, double *_y)
void matrix_multiply_left (vector out, const vector v, const matrix A)
void matrix_multiply_mat (matrix *out, const matrix A, const matrix B)
void matrix_multiply_right (vector out, const matrix A, const vector v)
void matrix_reziduum (vector out, const matrix A, const vector v)
void multiply_mat (matrix M, const double beta)
void multiply_mat_rows (matrix A, const vector v)
void save_mat (const matrix which, char *filename)
void solve_mat (vector sol, const matrix A, const vector b)
void subtract_mat (matrix A, const matrix B)
void transpose_mat (matrix *out, const matrix in)
void upper_solve_mat (vector out, const matrix R, const vector b, long k)
void zeroize_mat (matrix A)


Function Documentation

void construct_mat matrix A,
long  n,
long  m
 

Construct matrix A of order n X m

void construct_mat_copy matrix A,
const matrix  B
 

Construct copy of matrix B and puts it into B

void construct_mat_transpose matrix out,
const matrix  in
 

Makes transport of in and puts it into out

void construct_mat_multiply matrix out,
const matrix  A,
const matrix  B
 

Construct Matrix Multiplication out:=A*B

void mat_transf matrix  out,
long  ia,
long  ib,
long  ic,
double *  _x,
double *  _y
 

Creates the transformation matrix from the element ABC onto the reference triangle.

Let $ A =(x_{i_a},y_{i_a}), B =(x_{i_b},y_{i_b}), C =(x_{i_c},y_{i_c}), $.

Let us denote it $\bf M$ the matrix of linear transformation

from the reference triangle $ \hat{T}$ onto triangle $ T=\triangle ABC$.

we can write it in the baricentric coordinates as

$ F_{T}(\lambda_1,\lambda_2,\lambda_3) = \bf b + \bf M \cdot (\lambda_1,\lambda_2,\lambda_3)^T $

The computed matrix out is then $ \bf M^{-1} $.

void mat_transfinv matrix  out,
long  ia,
long  ib,
long  ic,
double *  _x,
double *  _y
 

Creates the transformation matrix from the reference triangle onto the element ABC.

Let $ A =(x_{i_a},y_{i_a}), B =(x_{i_b},y_{i_b}), C =(x_{i_c},y_{i_c}), $, then the matrix out (let us denote it $\bf M$ the matrix of linear transformation from the reference triangle $ \hat{T}$ onto triangle $ T=\triangle ABC$, i.e. we can write it in the baricentric coordinates as

$ F_{T}(\lambda_1,\lambda_2,\lambda_3) = \bf b + \bf M \cdot (\lambda_1,\lambda_2,\lambda_3)^T $

The computed matrix is then $ \bf M $, i.e. $ M= \left( \begin{array}{rrr} 1 1 1 \\ x_{i_a} x_{i_b} x_{i_c} \\ y_{i_a} y_{i_b} y_{i_c} \end{array} \right)$

void destruct_mat matrix A  ) 
 

void save_mat const matrix  which,
char *  filename
 

void transpose_mat matrix out,
const matrix  in
 

void matrix_multiply_mat matrix out,
const matrix  A,
const matrix  B
 

void multiply_mat matrix  M,
const double  beta
 

void zeroize_mat matrix  A  ) 
 

void add_mat matrix  A,
const matrix  B
 

void subtract_mat matrix  A,
const matrix  B
 

void multiply_mat_rows matrix  A,
const vector  v
 

void matrix_reziduum vector  out,
const matrix  A,
const vector  v
 

void matrix_multiply_right vector  out,
const matrix  A,
const vector  v
 

void matrix_multiply_left vector  out,
const vector  v,
const matrix  A
 

void solve_mat vector  sol,
const matrix  A,
const vector  b
 

void upper_solve_mat vector  out,
const matrix  R,
const vector  b,
long  k
 

void ludcmp matrix  out  ) 
 

void lusolve vector  sol,
const matrix  out,
const vector  rhs
 


Generated on Sun May 27 11:59:43 2007 for FEMFLUID by  doxygen 1.4.6