dpnp.linalg.lu_solve
- dpnp.linalg.lu_solve(lu_and_piv, b, trans=0, overwrite_b=False, check_finite=True)[source]
Solve an equation system, a x = b, given the LU factorization of a
For full documentation refer to
scipy.linalg.lu_solve
.- Parameters:
(lu ({tuple of dpnp.ndarrays or usm_ndarrays}) -- LU factorization of matrix a ((M, N)) together with pivot indices.
piv) ({tuple of dpnp.ndarrays or usm_ndarrays}) -- LU factorization of matrix a ((M, N)) together with pivot indices.
b ({(M,), (..., M, K)} {dpnp.ndarray, usm_ndarray}) -- Right-hand side
trans ({0, 1, 2} , optional) --
Type of system to solve:
trans
system
0
a x = b
1
a^T x = b
2
a^H x = b
overwrite_b ({None, bool}, optional) --
Whether to overwrite data in b (may increase performance).
Default:
False
.check_finite ({None, bool}, optional) --
Whether to check that the input matrix contains only finite numbers. Disabling may give a performance gain, but may result in problems (crashes, non-termination) if the inputs do contain infinities or NaNs.
Default:
True
.
- Returns:
x -- Solution to the system
- Return type:
{(M,), (M, K)} dpnp.ndarray
Warning
This function synchronizes in order to validate array elements when
check_finite=True
.Examples
>>> import dpnp as np >>> A = np.array([[2, 5, 8, 7], [5, 2, 2, 8], [7, 5, 6, 6], [5, 4, 4, 8]]) >>> b = np.array([1, 1, 1, 1]) >>> lu, piv = np.linalg.lu_factor(A) >>> x = np.linalg.lu_solve((lu, piv), b) >>> np.allclose(A @ x - b, np.zeros((4,))) array(True)