netket.optimizer.solver.pinv(A, b, rcond=1e-12, x0=None)[source]#

Solve the linear system using jax’s implementation of the pseudo-inverse.

Internally it calls pinv() which uses a svd() decomposition with the same value of rcond.


In general, we found that our custom implementation of the pseudo-inverse netket.optimizer.solver.pinv_smooth() (which internally uses hermitian diagonaliation) outperform jax’s pinv().

For that reason, we suggest to use pinv_smooth() instead of pinv.

The diagonal shift on the matrix can be 0 and the rcond variable can be used to truncate small eigenvalues.

  • A – the matrix A in Ax=b

  • b – the vector b in Ax=b

  • rcond – The condition number