CMR  1.3.0
Functions
regular_series_parallel.c File Reference
#include "regular_internal.h"
#include <cmr/series_parallel.h>
#include "env_internal.h"
#include "dec_internal.h"

Functions

CMR_ERROR CMRregularDecomposeSeriesParallel (CMR *cmr, CMR_DEC **pdec, bool ternary, CMR_SUBMAT **psubmatrix, CMR_REGULAR_PARAMETERS *params, CMR_REGULAR_STATISTICS *stats, double timeLimit)
 Splits off series-parallel elements from the matrix of a decomposition node. More...
 

Function Documentation

◆ CMRregularDecomposeSeriesParallel()

CMR_ERROR CMRregularDecomposeSeriesParallel ( CMR cmr,
CMR_DEC **  pdec,
bool  ternary,
CMR_SUBMAT **  psubmatrix,
CMR_REGULAR_PARAMETERS params,
CMR_REGULAR_STATISTICS stats,
double  timeLimit 
)

Splits off series-parallel elements from the matrix of a decomposition node.

In case the matrix is Series-Parallel Matroids, then *pmatrix is set to NULL and *pdec is declared to be planar.

In case the matrix does not admit series-parallel reductions, then *pmatrix and *pdec remain unchanged, except The decomposition node *pdec and matrix *pmatrix are replaced by the SP-reduced ones, i.e., by the corresponding (grand-) children of the given decomposition and the corresponding matrix.

Parameters
cmrCMR environment.
pdecPointer to decomposition node.
ternaryWhether to consider the signs of the matrix.
psubmatrixPointer for storing a violator matrix.
paramsParameters for the computation.
statsStatistics for the computation (may be NULL).
timeLimitTime limit to impose.