Main Page | Class List | File List | Class 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, Matrix_Print(), matrix::NbColumns, matrix::NbRows, matrix::p, Value, 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, Matrix_Alloc(), Matrix_Free(), matrix::NbColumns, matrix::NbRows, matrix::p, Value, 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, matrix::NbColumns, matrix::NbRows, matrix::p, Value, 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, matrix::NbColumns, matrix::NbRows, matrix::p, matrix::p_Init, matrix::p_Init_size, Value, and value_init.

void Matrix_Free Matrix Mat  ) 
 

Definition at line 84 of file matrix.c.

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

int Matrix_Inverse Matrix Mat,
Matrix MatInv
 

Definition at line 872 of file matrix.c.

References Gcd(), Matrix, matrix::NbColumns, matrix::NbRows, matrix::p, Value, 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, matrix::NbColumns, matrix::NbRows, matrix::p, P_VALUE_FMT, Value, and value_print.

void Matrix_Product Matrix Mat1,
Matrix Mat2,
Matrix Mat3
 

Definition at line 824 of file matrix.c.

References Matrix, matrix::NbColumns, matrix::NbRows, matrix::p, matrix::p_Init, s, Value, 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, Matrix_Alloc(), Matrix_Read_Input(), and s.

Referenced by main(), and Union_Read().

void Matrix_Read_Input Matrix Mat  ) 
 

Definition at line 132 of file matrix.c.

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

void Matrix_Vector_Product Matrix Mat,
Value p1,
Value p2
 

Definition at line 752 of file matrix.c.

References Matrix, matrix::NbColumns, matrix::NbRows, matrix::p, s, Value, 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, matrix::NbColumns, matrix::NbRows, matrix::p, Value, 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, Matrix_Alloc(), matrix::NbColumns, matrix::NbRows, matrix::p, matrix::p_Init, Value, 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, matrix::NbColumns, matrix::NbRows, matrix::p, s, Value, value_addto, value_clear, value_init, value_multiply, and value_set_si.


Generated on Mon Sep 12 14:48:30 2005 for polylib by doxygen 1.3.5