#include <Ma27Solver.h>
Inheritance diagram for Ma27SolverBase:

| Public Methods | |
| Ma27SolverBase (int n, int nnz) | |
| double | thresholdPivoting () | 
| double | treatAsZero () | 
| virtual void | copyMatrixElements (double fact[], int lfact)=0 | 
| virtual void | getIndices (int irowM[], int jcolM[])=0 | 
| virtual void | diagonalChanged (int idiag, int extent) | 
| virtual void | matrixChanged () | 
| virtual void | basicSolve (double drhs[], int n) | 
| virtual void | solve (OoqpVector &rhs)=0 | 
| virtual | ~Ma27SolverBase () | 
| Protected Methods | |
| int | ierror () | 
| virtual void | firstCall () | 
| Protected Attributes | |
| double | precision | 
| int * | irowM | 
| int * | jcolM | 
| double * | fact | 
| int | n | 
| int | nnz | 
| int | la | 
| int * | ikeep | 
| int * | iw | 
| int | liw | 
| int * | iw1 | 
| int * | iw2 | 
| int | nsteps | 
| int | maxfrt | 
| double * | w | 
| double | ipessimism | 
| double | rpessimism | 
| 
 | ||||||||||||
| base class constructor. Allocates values for kTreatAsZero, kThresholdPivoting, kThresholdPivotingMax, kThresholdPivotingFactor, kPrecision, ipessimism,rpessimism | 
| 
 | 
| destructor | 
| 
 | ||||||||||||
| version of the main solve routine that takes argument as an array of doubles 
 | 
| 
 | ||||||||||||
| copy elements from matrix into the fact data structure, in preparation for factorization (or refactorization). Implemented in Ma27Solver. | 
| 
 | ||||||||||||
| called if the diagonal elements of the matrix have changed. Triggers a refactorization of the matrix, if necessary. 
 Implements DoubleLinearSolver. | 
| 
 | 
| called the very first time a matrix is factored. Allocates space for the factorization and performs ordering | 
| 
 | ||||||||||||
| change format for row/column index matrices, in preparation for call to MA27 FORTRAN routines 
 Implemented in Ma27Solver. | 
| 
 | 
| ierror, used by ma27 to send context-specific supplimental info to the user | 
| 
 | 
| called if some elements of the matrix have changed. Triggers a refactorization of the matrix, if necessary. Implements DoubleLinearSolver. | 
| 
 | 
| version of the main solve routine that takes argument as an OoqpVector 
 Implements DoubleLinearSolver. Implemented in Ma27Solver. | 
| 
 | 
| the Threshold Pivoting parameter, stored as U in the ma27dd common block. Takes values in the range [0,1]. Larger values enforce greater stability in the factorization as they insist on larger pivots. Smaller values preserve sparsity at the cost of using smaller pivots. | 
| 
 | 
| the "Treat As Zero" parameter, stored as pivtol in the common block ma27td. The factorization will not accept a pivot whose absolute value is less than this parameter as a 1x1 pivot or as the off-diagonal in a 2x2 pivot. | 
| 
 | 
| nonzero element of the factors | 
| 
 | 
| pivot sequence and temporary storage information | 
| 
 | 
| amounts by which to increase allocated factorization space when inadequate space is detected. ipessimism is for array "iw", rpessimism is for the array "fact". | 
| 
 | 
| index array for the factorization | 
| 
 | 
| pivot sequence and temporary storage information | 
| 
 | 
| pivot sequence and temporary storage information | 
| 
 | 
| pivot sequence and temporary storage information | 
| 
 | 
| index array for the factorization | 
| 
 | 
| length of the array containing factors; may be increased during the numerical factorization if the estimate obtained during the symbolic factorization proves to be inadequate. | 
| 
 | 
| pivot sequence and temporary storage information | 
| 
 | 
| pivot sequence and temporary storage information | 
| 
 | 
| dimension of the whole matrix | 
| 
 | 
| number of nonzeros in the matrix | 
| 
 | 
| pivot sequence and temporary storage information | 
| 
 | 
| precision we demand from the linear system solver. If it isn't attained on the first solve, we use iterative refinement and possibly refactorization with a higher value of kThresholdPivoting. | 
| 
 | 
| amounts by which to increase allocated factorization space when inadequate space is detected. ipessimism is for array "iw", rpessimism is for the array "fact". | 
| 
 | 
| temporary storage for the factorization | 
 1.2.18
1.2.18