xorbits.numpy.linalg.solve#

xorbits.numpy.linalg.solve(a, b, sym_pos=False, sparse=None)[source]#

Solve a linear matrix equation, or system of linear scalar equations.

Computes the “exact” solution, x, of the well-determined, i.e., full rank, linear matrix equation ax = b.

Parameters
  • a ((..., M, M) array_like) – Coefficient matrix.

  • b ({(..., M,), (..., M, K)}, array_like) – Ordinate or “dependent variable” values.

Returns

x – Solution to the system a x = b. Returned shape is identical to b.

Return type

{(…, M,), (…, M, K)} ndarray

Raises

LinAlgError – If a is singular or not square.

See also

scipy.linalg.solve

Similar function in SciPy.

Notes

New in version 1.8.0(numpy.linalg).

Broadcasting rules apply, see the numpy.linalg documentation for details.

The solutions are computed using LAPACK routine _gesv.

a must be square and of full-rank, i.e., all rows (or, equivalently, columns) must be linearly independent; if either is not true, use lstsq for the least-squares best “solution” of the system/equation.

References

1

G. Strang, Linear Algebra and Its Applications, 2nd Ed., Orlando, FL, Academic Press, Inc., 1980, pg. 22.

Examples

Solve the system of equations x0 + 2 * x1 = 1 and 3 * x0 + 5 * x1 = 2:

>>> a = np.array([[1, 2], [3, 5]])  
>>> b = np.array([1, 2])  
>>> x = np.linalg.solve(a, b)  
>>> x  
array([-1.,  1.])

Check that the solution is correct:

>>> np.allclose(np.dot(a, x), b)  
True
sym_posbool

Assume a is symmetric and positive definite. If True, use Cholesky decomposition.

sparse: bool, optional

Return sparse value or not.

This docstring was copied from numpy.linalg.