Main Page   Compound List   File List   Compound Members   File Members  

matrix.c File Reference

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <ctype.h>
#include <polylib/polylib.h>

Go to the source code of this file.

Functions

MatrixMatrix_Alloc (unsigned NbRows, unsigned NbColumns)
void Matrix_Free (Matrix *Mat)
void Matrix_Print (FILE *Dst, char *Format, Matrix *Mat)
void Matrix_Read_Input (Matrix *Mat)
MatrixMatrix_Read (void)
int hermite (Matrix *H, Matrix *U, Matrix *Q)
void right_hermite (Matrix *A, Matrix **Hp, Matrix **Up, Matrix **Qp)
void left_hermite (Matrix *A, Matrix **Hp, Matrix **Qp, Matrix **Up)
int MatInverse (Matrix *Mat, Matrix *MatInv)
void rat_prodmat (Matrix *S, Matrix *X, Matrix *P)
void Matrix_Vector_Product (Matrix *Mat, Value *p1, Value *p2)
void Vector_Matrix_Product (Value *p1, Matrix *Mat, Value *p2)
void Matrix_Product (Matrix *Mat1, Matrix *Mat2, Matrix *Mat3)
int Matrix_Inverse (Matrix *Mat, Matrix *MatInv)


Function Documentation

int hermite Matrix   H,
Matrix   U,
Matrix   Q
[static]
 

Definition at line 191 of file matrix.c.

References errormsg1(), Matrix_Print(), matrix::NbColumns, matrix::NbRows, matrix::p, value_absolute, value_addto, value_assign, value_clear, value_decrement, value_division, value_init, value_lt, value_modulus, value_multiply, value_neg_p, value_notzero_p, value_oppose, value_substract, value_zero_p, and Vector_Exchange().

void left_hermite Matrix   A,
Matrix **    Hp,
Matrix **    Qp,
Matrix **    Up
 

Definition at line 470 of file matrix.c.

References errormsg1(), hermite(), Matrix_Alloc(), Matrix_Free(), matrix::NbColumns, matrix::NbRows, matrix::p, matrix::p_Init, value_assign, value_clear, value_init, value_set_si, and Vector_Set().

int MatInverse Matrix   Mat,
Matrix   MatInv
 

Definition at line 555 of file matrix.c.

References Gcd(), matrix::NbColumns, matrix::NbRows, matrix::p, value_assign, value_clear, value_division, value_init, value_multiply, value_notone_p, value_notzero_p, value_set_si, value_substract, value_zero_p, Vector_Gcd(), Vector_Normalize_Positive(), and Vector_Set().

Matrix* Matrix_Alloc unsigned    NbRows,
unsigned    NbColumns
 

Definition at line 28 of file matrix.c.

References errormsg1(), matrix::NbColumns, matrix::NbRows, matrix::p, matrix::p_Init, matrix::p_Init_size, and value_init.

void Matrix_Free Matrix   Mat
 

Definition at line 84 of file matrix.c.

References matrix::p, matrix::p_Init, matrix::p_Init_size, and value_clear.

int Matrix_Inverse Matrix   Mat,
Matrix   MatInv
 

Definition at line 872 of file matrix.c.

References Gcd(), matrix::NbColumns, matrix::NbRows, matrix::p, value_assign, value_clear, value_division, value_init, value_multiply, value_neg_p, value_notone_p, value_notzero_p, value_oppose, value_set_si, value_substract, value_zero_p, Vector_Gcd(), and Vector_Set().

void Matrix_Print FILE *    Dst,
char *    Format,
Matrix   Mat
 

Definition at line 108 of file matrix.c.

References matrix::NbColumns, matrix::NbRows, matrix::p, P_VALUE_FMT, and value_print.

void Matrix_Product Matrix   Mat1,
Matrix   Mat2,
Matrix   Mat3
 

Definition at line 824 of file matrix.c.

References matrix::NbColumns, matrix::NbRows, matrix::p, matrix::p_Init, value_addto, value_assign, value_clear, value_init, value_multiply, and value_set_si.

Matrix* Matrix_Read void   
 

Definition at line 169 of file matrix.c.

References errormsg1(), Matrix_Alloc(), and Matrix_Read_Input().

Referenced by main(), and Union_Read().

void Matrix_Read_Input Matrix   Mat
 

Definition at line 132 of file matrix.c.

References errormsg1(), matrix::NbColumns, matrix::NbRows, matrix::p_Init, and value_read.

void Matrix_Vector_Product Matrix   Mat,
Value   p1,
Value   p2
 

Definition at line 752 of file matrix.c.

References matrix::NbColumns, matrix::NbRows, matrix::p, value_addto, value_clear, value_init, value_multiply, and value_set_si.

void rat_prodmat Matrix   S,
Matrix   X,
Matrix   P
 

Definition at line 683 of file matrix.c.

References Gcd(), matrix::NbColumns, matrix::NbRows, matrix::p, value_addto, value_assign, value_clear, value_division, value_init, value_multiply, value_one_p, value_set_si, and Vector_Normalize_Positive().

void right_hermite Matrix   A,
Matrix **    Hp,
Matrix **    Up,
Matrix **    Qp
 

Definition at line 400 of file matrix.c.

References errormsg1(), hermite(), Matrix_Alloc(), matrix::NbColumns, matrix::NbRows, matrix::p, matrix::p_Init, value_assign, value_clear, value_init, value_set_si, Vector_Copy(), and Vector_Set().

void Vector_Matrix_Product Value   p1,
Matrix   Mat,
Value   p2
 

Definition at line 790 of file matrix.c.

References matrix::NbColumns, matrix::NbRows, matrix::p, value_addto, value_clear, value_init, value_multiply, and value_set_si.


Generated on Mon Mar 15 10:59:52 2004 for polylib by doxygen1.2.18