summaryrefslogtreecommitdiff
path: root/numpy/linalg/linalg.py
diff options
context:
space:
mode:
Diffstat (limited to 'numpy/linalg/linalg.py')
-rw-r--r--numpy/linalg/linalg.py23
1 files changed, 11 insertions, 12 deletions
diff --git a/numpy/linalg/linalg.py b/numpy/linalg/linalg.py
index 513ea8219..7775e4c32 100644
--- a/numpy/linalg/linalg.py
+++ b/numpy/linalg/linalg.py
@@ -176,10 +176,9 @@ def _to_native_byte_order(*arrays):
def _fastCopyAndTranspose(type, *arrays):
cast_arrays = ()
for a in arrays:
- if a.dtype.type is type:
- cast_arrays = cast_arrays + (_fastCT(a),)
- else:
- cast_arrays = cast_arrays + (_fastCT(a.astype(type)),)
+ if a.dtype.type is not type:
+ a = a.astype(type)
+ cast_arrays = cast_arrays + (_fastCT(a),)
if len(cast_arrays) == 1:
return cast_arrays[0]
else:
@@ -362,13 +361,13 @@ def solve(a, b):
Examples
--------
- Solve the system of equations ``3 * x0 + x1 = 9`` and ``x0 + 2 * x1 = 8``:
+ Solve the system of equations ``x0 + 2 * x1 = 1`` and ``3 * x0 + 5 * x1 = 2``:
- >>> a = np.array([[3,1], [1,2]])
- >>> b = np.array([9,8])
+ >>> a = np.array([[1, 2], [3, 5]])
+ >>> b = np.array([1, 2])
>>> x = np.linalg.solve(a, b)
>>> x
- array([2., 3.])
+ array([-1., 1.])
Check that the solution is correct:
@@ -902,7 +901,7 @@ def qr(a, mode='reduced'):
warnings.warn(msg, DeprecationWarning, stacklevel=3)
mode = 'economic'
else:
- raise ValueError("Unrecognized mode '%s'" % mode)
+ raise ValueError(f"Unrecognized mode '{mode}'")
a, wrap = _makearray(a)
_assert_2d(a)
@@ -2207,8 +2206,8 @@ def lstsq(a, b, rcond="warn"):
Least-squares solution. If `b` is two-dimensional,
the solutions are in the `K` columns of `x`.
residuals : {(1,), (K,), (0,)} ndarray
- Sums of residuals; squared Euclidean 2-norm for each column in
- ``b - a*x``.
+ Sums of squared residuals: Squared Euclidean 2-norm for each column in
+ ``b - a @ x``.
If the rank of `a` is < N or M <= N, this is an empty array.
If `b` is 1-dimensional, this is a (1,) shape array.
Otherwise the shape is (K,).
@@ -2559,7 +2558,7 @@ def norm(x, ord=None, axis=None, keepdims=False):
# special case for speedup
s = (x.conj() * x).real
return sqrt(add.reduce(s, axis=axis, keepdims=keepdims))
- # None of the str-type keywords for ord ('fro', 'nuc')
+ # None of the str-type keywords for ord ('fro', 'nuc')
# are valid for vectors
elif isinstance(ord, str):
raise ValueError(f"Invalid norm order '{ord}' for vectors")