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.py12
1 files changed, 7 insertions, 5 deletions
diff --git a/numpy/linalg/linalg.py b/numpy/linalg/linalg.py
index aa807419e..571cf3979 100644
--- a/numpy/linalg/linalg.py
+++ b/numpy/linalg/linalg.py
@@ -12,6 +12,7 @@ __all__ = ['solve',
'eigvalsh', 'pinv',
'det', 'svd',
'eig', 'eigh','lstsq', 'norm',
+ 'LinAlgError'
]
from numpy.core import *
@@ -19,9 +20,11 @@ from numpy.lib import *
from old import solve_linear_equations
import lapack_lite
+# Error object
+class LinAlgError(Exception):
+ pass
+
# Helper routines
-_lapack_type = {'f': 0, 'd': 1, 'F': 2, 'D': 3}
-_lapack_letter = ['s', 'd', 'c', 'z']
_array_kind = {'i':0, 'l': 0, 'f': 0, 'd': 0, 'F': 1, 'D': 1}
_array_precision = {'i': 1, 'l': 1, 'f': 0, 'd': 1, 'F': 0, 'D': 1}
_array_type = [['f', 'd'], ['F', 'D']]
@@ -108,7 +111,7 @@ def solve(a, b):
def inv(a):
a, wrap = _makearray(a)
- return wrap(solve_linear_equations(a, identity(a.shape[0])))
+ return wrap(solve(a, identity(a.shape[0])))
# Cholesky decomposition
@@ -415,8 +418,7 @@ def det(a):
lapack_routine = lapack_lite.dgetrf
pivots = zeros((n,), 'i')
results = lapack_routine(n, n, a, n, pivots, 0)
- sign = add.reduce(not_equal(pivots,
- arrayrange(1, n+1))) % 2
+ sign = add.reduce(not_equal(pivots, arrayrange(1, n+1))) % 2
return (1.-2.*sign)*multiply.reduce(diagonal(a),axis=-1)
# Linear Least Squares