ott.solvers.linear.lineax_implicit.solve_lineax#
- ott.solvers.linear.lineax_implicit.solve_lineax(lin, b, lin_t=None, symmetric=False, nonsym_solver=None, ridge_identity=0.0, ridge_kernel=0.0, **kwargs)[source]#
Wrapper around lineax solvers.
- Parameters:
lin (
Callable
) – Linear operatorb (
Array
) – vector. Returned x is such that lin(x)=blin_t (
Optional
[Callable
]) – Linear operator, corresponding to transpose of lin.symmetric (
bool
) – whether lin is symmetric.nonsym_solver (
Optional
[AbstractLinearSolver
]) – solver used when handling non-symmetric cases. Note thatCG
is used by default in the symmetric case.ridge_kernel (
float
) – promotes zero-sum solutions. Only use if tau_a = tau_b = 1.0ridge_identity (
float
) – handles rank deficient transport matrices (this happens typically when rows/cols in cost/kernel matrices are collinear, or, equivalently when two points from either measure are close).kwargs (
Any
) – arguments passed toAbstractLinearSolver
linear solver.
- Return type: