CMR
1.3.0
|
#include "block_decomposition.h"
#include <assert.h>
#include <stdlib.h>
#include <math.h>
#include <limits.h>
#include "env_internal.h"
Classes | |
struct | GraphNode |
Typedefs | |
typedef struct GraphNode | GRAPH_NODE |
Functions | |
CMR_ERROR | CMRdecomposeBlocks (CMR *cmr, CMR_MATRIX *matrix, size_t matrixType, size_t targetType, size_t *pnumBlocks, CMR_BLOCK **pblocks, size_t *rowsToBlock, size_t *columnsToBlock, size_t *rowsToBlockRows, size_t *columnsToBlockColumns) |
Decomposes int matrix into 1-connected submatrices. More... | |
typedef struct GraphNode GRAPH_NODE |
CMR_ERROR CMRdecomposeBlocks | ( | CMR * | cmr, |
CMR_MATRIX * | matrix, | ||
size_t | matrixType, | ||
size_t | targetType, | ||
size_t * | pnumBlocks, | ||
CMR_BLOCK ** | pblocks, | ||
size_t * | rowsToBlock, | ||
size_t * | columnsToBlock, | ||
size_t * | rowsToBlockRows, | ||
size_t * | columnsToBlockColumns | ||
) |
Decomposes int matrix into 1-connected submatrices.
Allocates an array components
with an entry per 1-connected submatrix. The caller has to free this array and its members.
cmr | CMR environment |
matrix | Matrix |
matrixType | Size of base type of matrix. |
targetType | Size of base type of component matrices. |
pnumBlocks | Pointer for storing the number of components. |
pblocks | Pointer for storing the array with component information. |
rowsToBlock | Mapping of rows of matrix to components (may be NULL ). |
columnsToBlock | Mapping of columns of matrix to components (may be NULL ). |
rowsToBlockRows | Mapping of rows to rows of the component (may be NULL ). |
columnsToBlockColumns | Mapping of columns to columns of the component (may be NULL ). |