CMR  1.3.0
Functions
camion_internal.h File Reference
#include <cmr/env.h>
#include <cmr/matrix.h>

Go to the source code of this file.

Functions

CMR_ERROR CMRcamionComputeSignSequentiallyConnected (CMR *cmr, CMR_CHRMAT *matrix, CMR_CHRMAT *transpose, bool change, char *pmodification, CMR_SUBMAT **psubmatrix, double timeLimit)
 Ensures that sequentially connected matrix \( M \) is Camion-signed. More...
 

Function Documentation

◆ CMRcamionComputeSignSequentiallyConnected()

CMR_ERROR CMRcamionComputeSignSequentiallyConnected ( CMR cmr,
CMR_CHRMAT matrix,
CMR_CHRMAT transpose,
bool  change,
char *  pmodification,
CMR_SUBMAT **  psubmatrix,
double  timeLimit 
)

Ensures that sequentially connected matrix \( M \) is Camion-signed.

The matrix \( M \) is assumed to be ternary. If sign changes are necessary, only matrix is modified. In particular, transpose remains unchanged.

If submatrix is not NULL and sign changes are necessary, then a submatrix with determinant -2 or +2 is stored in *psubmatrix and the caller must use CMRsubmatFree() to free its memory. It is set to NULL if no sign changes are needed.

Parameters
cmrCMR environment.
matrixMatrix \( M \).
transposeTranspose \( M^{\mathsf{T}} \).
changeWhether signs of matrix should be changed if necessary.
pmodificationPointer for storing which matrix was modified.
psubmatrixPointer for storing a submatrix with a bad determinant (may be NULL).
timeLimitTime limit to impose.