Definition in file eg_dmatrix.h.
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <limits.h>
#include <math.h>
#include <float.h>
#include "eg_macros.h"
#include "eg_mem.h"
#include "eg_lpnum.h"
#include "eg_numutil.h"
Include dependency graph for eg_dmatrix.h:

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.
Data Structures | |
| struct | EGdMatrix_t |
| structure to hold a dense matrix, we choose a row representation of the matrix, and we allow row and column permutations. All actual values in the matrix are stored in EGdMatrix_t::matval, and the rows in EGdMatrix_t::matrow. More... | |
Defines | |
| #define | EGdMatrixAddColMultiple(dmatrix, dest, ori, num) |
| Given a number 'num' and a two rows 'ori', 'dest', set columns 'dest' to 'dest' + 'ori' * 'num'. Note that the number MUST_NOT be stored in column 'dest', and note that columns 'ori' and 'dest' should be different. This is needed because of the way GNU_MP interface works. | |
| #define | EGdMatrixAddRowMultiple(dmatrix, dest, ori, num) |
| Given a number 'num' and a two rows 'ori', 'dest', set rows 'dest' to 'dest' + 'ori' * 'num'. Note that the number MUST_NOT be stored in row 'dest', and note that rows 'ori' and 'dest' should be different. This is needed because of the way GNU_MP interface works. | |
| #define | EGdMatrixClear(dmatrix) |
| Clear a dense matrix structure, i.e. free all internally allocated data of the structure. Note that no further use of the structure can be made unless it is re-initialized and set to a suitable size. | |
| #define | EGdMatrixDisplay(dmatrix, nat_order, out_file) |
| Display a given EGdMatrix_t structure contents. | |
| #define | EGdMatrixInit(dmatrix) memset(dmatrix,0,sizeof(EGdMatrix_t)) |
| Initialize (as a dense matrix of dimension 0x0) an EGdMatrix_t structure. | |
| #define | EGdMatrixMultiplyCol(dmatrix, col_ind, multiple) |
| Given a number and a column, multiply the complete column by the given number. Note that the number MUST_NOT be stored in the column being multiplied, this is because of the way GNU_MP interface works. | |
| #define | EGdMatrixMultiplyRow(dmatrix, row_ind, multiple) |
| Given a number and a row, multiply the complete row by the given number. Note that the number MUST_NOT be stored in the row being multiplied, this is because of the way GNU_MP interface works. | |
| #define | EGdMatrixSetDimension(dmatrix, new_nrows, new_ncols) |
| Set new dimensions for a dense matrix structure. | |
| #define | EGdMatrixSubColMultiple(dmatrix, dest, ori, num) |
| Given a number 'num' and a two rows 'ori', 'dest', set columns 'dest' to 'dest' - 'ori' * 'num'. Note that the number MUST_NOT be stored in column 'dest', and note that columns 'ori' and 'dest' should be different. This is needed because of the way GNU_MP interface works. | |
| #define | EGdMatrixSubRowMultiple(dmatrix, dest, ori, num) |
| Given a number 'num' and a two rows 'ori', 'dest', set rows 'dest' to 'dest' - 'ori' * 'num'. Note that the number MUST_NOT be stored in row 'dest', and note that rows 'ori' and 'dest' should be different. This is needed because of the way GNU_MP interface works. | |
Typedefs | |
| typedef EGdMatrix_t | EGdMatrix_t |
| structure to hold a dense matrix, we choose a row representation of the matrix, and we allow row and column permutations. All actual values in the matrix are stored in EGdMatrix_t::matval, and the rows in EGdMatrix_t::matrow. | |
Functions | |
| int | EGdMatrixGaussianElimination (EGdMatrix_t *const dmatrix, const unsigned do_col_perm, const unsigned do_row_perm, unsigned *const rank, EGlpNum_t zero_tol, int *const status) |
| This function performs gaussian elimination to the given matrix, depending on the given options it may do row/columns permutations allong the way to improve numerical stabillity. | |
1.4.5