CMR  1.3.0
Functions
regularity_series_parallel.c File Reference
#include "regularity_internal.h"
#include <cmr/series_parallel.h>
#include "env_internal.h"
#include "matroid_internal.h"
#include <time.h>

Functions

CMR_ERROR CMRregularityDecomposeSeriesParallel (CMR *cmr, DecompositionTask *task, DecompositionQueue *queue)
 Splits off series-parallel elements from the matrix of the decomposition node. More...
 

Function Documentation

◆ CMRregularityDecomposeSeriesParallel()

CMR_ERROR CMRregularityDecomposeSeriesParallel ( CMR cmr,
DecompositionTask task,
DecompositionQueue queue 
)

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

In case the matrix is Series-Parallel Matroids, then the node is declared to be planar.

In case the matrix does not admit series-parallel reductions, then the node remains remain unchanged. Otherwise, a child node is created whose matrix is the series-parallel-reduced one. For that child node, a 2-separation may be found, and corresponding children will be created.

Parameters
cmrCMR environment.
taskTask to be processed; already removed from the list of unprocessed tasks.
queueQueue of unprocessed nodes.