Skip to content
Joris Gillis edited this page Apr 4, 2023 · 3 revisions

Standard documentation for Linsol:

 [INTERNAL] 

::

Linear solver.

Create a solver for linear systems of equations Solves the linear system AX = B or A^TX = B for X with A square and non-singular

If A is structurally singular, an error will be thrown during init. If A is numerically singular, the prepare step will fail. General informationList of plugins

  • csparsecholesky

  • csparse

  • ma27

  • lapacklu

  • lapackqr

  • mumps

  • ldl

  • qr

  • tridiag

  • symbolicqr

Note: some of the plugins in this list might not be available on your

system. Also, there might be extra plugins available to you that are not listed here. You can obtain their documentation with
Linsol.doc("myextraplugin")


csparsecholesky

Linsol with CSparseCholesky Interface

Extra doc: https://github.com/casadi/casadi/wiki/L_21u

Linsol with CSparseCholesky Interface

Extra doc: https://github.com/casadi/casadi/wiki/L_22s


csparse

Linsol with CSparse Interface

Extra doc: https://github.com/casadi/casadi/wiki/L_21t

Linsol with CSparse Interface

Extra doc: https://github.com/casadi/casadi/wiki/L_22r


ma27

Interface to the sparse direct linear solver MA27 Works for symmetric

indefinite systems Partly adopted from qpOASES 3.2 Joel Andersson

Extra doc: https://github.com/casadi/casadi/wiki/L_229


lapacklu

This class solves the linear system A.x=b by making an LU factorization of A: A = L.U, with L lower and U upper triangular

Extra doc: https://github.com/casadi/casadi/wiki/L_22h

List of available options

+-----------------------------+---------+----------------------------------+ | Id | Type | Description | +=============================+=========+==================================+ | allow_equilibration_failure | OT_BOOL | Non-fatal error when | | | | equilibration fails | +-----------------------------+---------+----------------------------------+ | equilibration | OT_BOOL | Equilibrate the matrix | +-----------------------------+---------+----------------------------------+


lapackqr

This class solves the linear system A.x=b by making an QR factorization of A: A = Q.R, with Q orthogonal and R upper triangular

Extra doc: https://github.com/casadi/casadi/wiki/L_22g

List of available options

+----------+--------+------------------------------------------------------+ | Id | Type | Description | +==========+========+======================================================+ | max_nrhs | OT_INT | Maximum number of right-hand-sides that get | | | | processed in a single pass [default:10]. | +----------+--------+------------------------------------------------------+


mumps

Interface to the sparse direct linear solver MUMPS Works for symmetric indefinite systems Joel Andersson

Extra doc: https://github.com/casadi/casadi/wiki/L_22t

List of available options

+-----------+---------+-------------------+ | Id | Type | Description | +===========+=========+===================+ | posdef | OT_BOOL | Positive definite | +-----------+---------+-------------------+ | symmetric | OT_BOOL | Symmetric matrix | +-----------+---------+-------------------+


ldl

Linear solver using sparse direct LDL factorization

Extra doc: https://github.com/casadi/casadi/wiki/L_233


qr

Linear solver using sparse direct QR factorization

Extra doc: https://github.com/casadi/casadi/wiki/L_22z


tridiag

Linear solver for tridiagonal matrices

Extra doc: https://github.com/casadi/casadi/wiki/L_22v


symbolicqr

Linear solver for sparse least-squares problems Inspired from https://github.com/scipy/scipy/blob/v0.14.0/scipy/sparse/linalg/isolve/lsqr.py#L96

Extra doc: https://github.com/casadi/casadi/wiki/L_230

Linsol based on QR factorization with sparsity pattern based reordering
without partial pivoting

Extra doc: https://github.com/casadi/casadi/wiki/L_231

List of available options

+-------+---------+----------------------------------------------------+ | Id | Type | Description | +=======+=========+====================================================+ | fopts | OT_DICT | Options to be passed to generated function objects | +-------+---------+----------------------------------------------------+

Joel Andersson

Extra doc: https://github.com/casadi/casadi/wiki/L_1kh

C++ includes: linsol.hpp

Extra documentation

To edit, see writing tips.

Clone this wiki locally