polylib: matrix.h Source File

- Main Page
- Classes
- Files

- File List
- File Members

# matrix.h

Go to the documentation of this file.

    00001 /*
    00002     This file is part of PolyLib.
    00003
    00004     PolyLib is free software: you can redistribute it and/or modify
    00005     it under the terms of the GNU General Public License as published by
    00006     the Free Software Foundation, either version 3 of the License, or
    00007     (at your option) any later version.
    00008
    00009     PolyLib is distributed in the hope that it will be useful,
    00010     but WITHOUT ANY WARRANTY; without even the implied warranty of
    00011     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    00012     GNU General Public License for more details.
    00013
    00014     You should have received a copy of the GNU General Public License
    00015     along with PolyLib.  If not, see <http://www.gnu.org/licenses/>.
    00016 */
    00017
    00018 #ifndef _matrix_H_
    00019 #define _matrix_H_
    00020
    00021 #if defined(__cplusplus)
    00022 extern "C" {
    00023 #endif
    00024
    00025 extern Matrix *Matrix_Alloc(unsigned NbRows, unsigned NbColumns);
    00026 extern void Matrix_Free(Matrix *Mat);
    00027 extern void Matrix_Extend(Matrix *Mat, unsigned NbRows);
    00028 extern void Matrix_Print(FILE * Dst, const char *Format, Matrix *Mat);
    00029 extern void Matrix_Read_Input(Matrix *Mat);
    00030 extern Matrix *Matrix_Read(void);
    00031 extern void right_hermite(Matrix *A,Matrix **Hp,Matrix **Up,Matrix
    00032                           **Qp);
    00033 extern void left_hermite(Matrix *A,Matrix **Hp,Matrix **Qp,Matrix
    00034                          **Up);
    00035 extern int MatInverse(Matrix *M,Matrix *MInv);
    00036 extern void rat_prodmat(Matrix *S,Matrix *X,Matrix *P);
    00037 extern void Matrix_Vector_Product(Matrix *mat,Value *p1,Value *p2);
    00038 extern void Vector_Matrix_Product(Value *p1,Matrix *mat,Value *p2);
    00039 extern void Matrix_Product(Matrix *mat1,Matrix *mat2,Matrix *mat3);
    00040 extern int Matrix_Inverse(Matrix *Mat,Matrix *MatInv);
    00041
    00042 #if defined(__cplusplus)
    00043 }
    00044 #endif
    00045
    00046 #endif /* _matrix_H_ */