ArmadilloSolver
The GeMA Armadillo Numeric Solver Plugin
Loading...
Searching...
No Matches
Plugin options

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.

Example

NumericalSolver
{
id = 'solver',
typeName = 'ArmadilloSolver',
description = 'Direct matrix solver',
}

Fields

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