![]() |
ArmadilloSolver
The GeMA Armadillo Numeric Solver Plugin
|
The syntax for creating a Numeric Solver object follows the basic syntax used for creating every plugin based object. The only additional option provided by the Armadillo solver is the sparse field that enables the user to choose between using sparse matrices (the default) or not.
| Field | Description | Type | Required |
|---|---|---|---|
| id | The numeric solver name. | String | Yes |
| typeName | The plugin name. Should be equal to "ArmadilloSolver". | String | Yes |
| description | A description of the numeric solver purpose. | String | No |
| sparse | Flag defining if the solver should enable the use of sparse matrices and the SuperLU solver (true) or use full matrices and the LAPACK solver (false). Default = true. | Boolean | No |
| allowUgly | A flag provided by Armadillo to control the SuperLU solver when sparse is true. From the Armadillo documentation: "indicates whether to keep solutions of systems singular to working precision". Default = false. | Boolean | No |
| equilibrate | A flag provided by Armadillo to control the SuperLU solver when sparse is true. From the Armadillo documentation: "indicates whether to equilibrate the system (scale the rows and columns of A to have unit norm)". Default = true. | Boolean | No |
| symmetric | A flag provided by Armadillo to control the SuperLU solver when sparse is true. From the Armadillo documentation: "indicates whether to use SuperLU symmetric mode, which gives preference to diagonal pivots". Can be used for diagonally dominant matrices, usually in conjuction with a very small value for pivotThresh and "mmd_at_plus_a" for permutation. Default = false. | Boolean | No |
| pivotThresh | A numeric value in the range [0.0, 1.0] provided by Armadillo to control the SuperLU solver when sparse is true. From the Armadillo documentation: "used for determining whether a diagonal entry is an acceptable pivot". Default = 1.0. | Number | No |
| permutation | An option provided by Armadillo to control the SuperLU solver when sparse is true. From the Armadillo documentation: "specifies the type of column permutation". Accepted values are: "natural" (natural ordering), "mmd_ata" (minimum degree ordering on structure of A.t() * A),"mmd_at_plus_a" (minimum degree ordering on structure of A.t() + A) and "colamd" (approximate minimum degree column ordering). Default = "colamd". | String | No |
| refine | An option provided by Armadillo to control the SuperLU solver when sparse is true. From the Armadillo documentation: "specifies the type of iterative refinement". Accepted values are: "none" (no refinement), "single" (iterative refinement in single precision),"double" (iterative refinement in double precision) and "extra" (iterative refinement in extra precision). Default = "none". | String | No |