_get_solver(M, sparse=False, lstsq=False, sym_pos=True, cholesky=True, permc_spec='MMD_AT_PLUS_A')
As defined in [4] Equation 8.31
True if the system to be solved is sparse. This is typically set True when the original A_ub
and A_eq
arrays are sparse.
True if the system is ill-conditioned and/or (nearly) singular and thus a more robust least-squares solver is desired. This is sometimes needed as the solution is approached.
True if the system matrix is symmetric positive definite Sometimes this needs to be set false as the solution is approached, even when the system should be symmetric positive definite, due to numerical difficulties.
True if the system is to be solved by Cholesky, rather than LU, decomposition. This is typically faster unless the problem is very small or prone to numerical difficulties.
Sparsity preservation strategy used by SuperLU. Acceptable values are:
NATURAL
: natural ordering.
MMD_ATA
: minimum degree ordering on the structure of A^T A.
MMD_AT_PLUS_A
: minimum degree ordering on the structure of A^T+A.
COLAMD
: approximate minimum degree column ordering.
See SuperLU documentation.
Handle to the appropriate solver function
Given solver options, return a handle to the appropriate linear system solver.
Hover to see nodes names; edges to Self not shown, Caped at 50 nodes.
Using a canvas is more power efficient and can get hundred of nodes ; but does not allow hyperlinks; , arrows or text (beyond on hover)
SVG is more flexible but power hungry; and does not scale well to 50 + nodes.
All aboves nodes referred to, (or are referred from) current nodes; Edges from Self to other have been omitted (or all nodes would be connected to the central node "self" which is not useful). Nodes are colored by the library they belong to, and scaled with the number of references pointing them