CMR
1.3.0
|
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... | |
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.
cmr | CMR environment. |
matrix | Matrix \( M \). |
transpose | Transpose \( M^{\mathsf{T}} \). |
change | Whether signs of matrix should be changed if necessary. |
pmodification | Pointer for storing which matrix was modified. |
psubmatrix | Pointer for storing a submatrix with a bad determinant (may be NULL ). |
timeLimit | Time limit to impose. |