| 
| static CMR_ERROR  | computePivots (CMR *cmr, CMR_CHRMAT *matrix, size_t numPivots, size_t *pivotRows, size_t *pivotColumns, int characteristic, CMR_SUBMAT **pviolator, CMR_CHRMAT **presult) | 
|   | Carries out numPivots pivots on matrix and stores the result in *presult.  
  | 
|   | 
| CMR_ERROR  | CMRchrmatBinaryPivot (CMR *cmr, CMR_CHRMAT *matrix, size_t pivotRow, size_t pivotColumn, CMR_CHRMAT **presult) | 
|   | Apply a pivot to matrix and returns the resulting matrix in *presult.  
  | 
|   | 
| CMR_ERROR  | CMRchrmatTernaryPivot (CMR *cmr, CMR_CHRMAT *matrix, size_t pivotRow, size_t pivotColumn, CMR_CHRMAT **presult) | 
|   | Applies a pivot to matrix and returns the resulting matrix in *presult.  
  | 
|   | 
| CMR_ERROR  | CMRchrmatRegularPivot (CMR *cmr, CMR_CHRMAT *matrix, size_t pivotRow, size_t pivotColumn, CMR_SUBMAT **pviolator, CMR_CHRMAT **presult) | 
|   | Applies a pivot to matrix and returns the resulting matrix in *presult.  
  | 
|   | 
| CMR_ERROR  | CMRchrmatBinaryPivots (CMR *cmr, CMR_CHRMAT *matrix, size_t numPivots, size_t *pivotRows, size_t *pivotColumns, CMR_CHRMAT **presult) | 
|   | Applies a sequence of pivots to matrix and returns the resulting matrix in *presult.  
  | 
|   | 
| CMR_ERROR  | CMRchrmatTernaryPivots (CMR *cmr, CMR_CHRMAT *matrix, size_t numPivots, size_t *pivotRows, size_t *pivotColumns, CMR_CHRMAT **presult) | 
|   | Applies a sequence of pivots to matrix and returns the resulting matrix in *presult.  
  | 
|   | 
| CMR_ERROR  | CMRchrmatRegularPivots (CMR *cmr, CMR_CHRMAT *matrix, size_t numPivots, size_t *pivotRows, size_t *pivotColumns, CMR_SUBMAT **pviolator, CMR_CHRMAT **presult) | 
|   | Applies a sequence of pivots to matrix and returns the resulting matrix in *presult.  
  | 
|   | 
| CMR_ERROR  | CMRminorCreate (CMR *cmr, CMR_MINOR **pminor, size_t numPivots, CMR_SUBMAT *submatrix, CMR_MINOR_TYPE type) | 
|   | Creates a minor, allocating space for numPivots pivots and a remaining submatrix.  
  | 
|   | 
| CMR_ERROR  | CMRminorFree (CMR *cmr, CMR_MINOR **pminor) | 
|   | Frees the minor *pminor (if pminor is not NULL).  
  | 
|   | 
| CMR_MINOR_TYPE  | CMRminorType (CMR_MINOR *minor) | 
|   | Returns the type of minor.  
  | 
|   | 
| size_t  | CMRminorNumPivots (CMR_MINOR *minor) | 
|   | Returns the number of pivots needed to make a minor visible.  
  | 
|   | 
| size_t *  | CMRminorPivotRows (CMR_MINOR *minor) | 
|   | Returns the array with pivot rows to make a minor visible.  
  | 
|   | 
| size_t *  | CMRminorPivotColumns (CMR_MINOR *minor) | 
|   | Returns the array with pivot columns to make a minor visible.  
  | 
|   | 
| CMR_SUBMAT *  | CMRminorSubmatrix (CMR_MINOR *minor) | 
|   | Returns the submatrix to take (after applying pivots) to make a minor visible.  
  | 
|   | 
| CMR_ERROR  | CMRminorPrint (CMR *cmr, CMR_MINOR *minor, size_t numRows, size_t numColumns, FILE *stream) | 
|   | Writes the minor minor to stream by means of lists of row and column indices as well as pivot entries.  
  | 
|   | 
| CMR_ERROR  | CMRminorWriteToFile (CMR *cmr, CMR_MINOR *minor, size_t numRows, size_t numColumns, const char *fileName) | 
|   | Writes the minor minor to the file fileName by means of lists of row and column indices as well as pivot entries.  
  | 
|   | 
Carries out numPivots pivots on matrix and stores the result in *presult. 
Calculations are done modulo characteristic. If that value is negative then the pivots must be regular, i.e., over every field. If the result would differ over fields, *presult will be NULL and, if given, *pviolator will refer to the submatrix indexed by an affected entry as well as indices of all previous pivots. 
- Parameters
 - 
  
    | cmr | CMR environment .   | 
    | matrix | Input matrix.   | 
    | numPivots | Number of pivots.   | 
    | pivotRows | Row indices of pivots.   | 
    | pivotColumns | Column indices of pivots.   | 
    | characteristic | Characteristic of field.   | 
    | pviolator | Pointer for storing a violating (irregular) submatrix; may be NULL.   | 
    | presult | Pointer for storing the resulting matrix.  |