Math utilities


lenskit.math.solve.dposv(A, b, lower=False)

Interface to the BLAS dposv function. A Numba-accessible verison without error checking is exposed as _dposv().

lenskit.math.solve.solve_tri(A, b, transpose=False, lower=True)

Solve the system \(Ax = b\), where \(A\) is triangular. This is equivalent to scipy.linalg.solve_triangular(), but does not check for non-singularity. It is a thin wrapper around the BLAS dtrsv function.

  • A (ndarray) – the matrix.

  • b (ndarray) – the taget vector.

  • transpose (bool) – whether to solve \(Ax = b\) or \(A^T x = b\).

  • lower (bool) – whether \(A\) is lower- or upper-triangular.

Numba-accessible internals

lenskit.math.solve._dposv(A, b, lower)
lenskit.math.solve._dtrsv(lower, trans, a, x)