osqp / qdldl-python

Python interface to the QDLDL(https://github.com/osqp/qdldl) free LDL factorization routine for quasi-definite linear systems

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

qdldl-python

github actions

Python interface to the QDLDL free LDL factorization routine for quasi-definite linear systems: Ax = b.

Installation

This package can be directly installed via pip,

pip install qdldl

Usage

Initialize the factorization with

import qdldl
F = qdldl.Solver(A)

where A must be a square quasi-definite matrix in scipy sparse CSC format.

The algorithm internally converts the matrix into upper triangular format. If A is already upper-triangular, you can specify it with the argument upper=True to the qdldl.Solver constructor.

To solve the linear system for a right-hand side b, just write

x = F.solve(b)

To update the factorization without changing the sparsity pattern of A you can run

F.update(A_new)

where A_new is a sparse matrix in CSR format with the same sparsity pattern as A.

The algorithm internally converts A_new into upper triangular format. If A_new is already upper-triangular, you can specify it with the argument upper=True to the F.update function.

About

Python interface to the QDLDL(https://github.com/osqp/qdldl) free LDL factorization routine for quasi-definite linear systems

License:Apache License 2.0


Languages

Language:C 88.2%Language:Python 6.3%Language:C++ 4.7%Language:CMake 0.8%