Skip to content

Commit

Permalink
BUG: use correct string formatting in raising depending on info from …
Browse files Browse the repository at this point in the history
…lapack
  • Loading branch information
yarikoptic committed Mar 12, 2010
1 parent 01ba6b0 commit 0cef22c
Show file tree
Hide file tree
Showing 2 changed files with 23 additions and 23 deletions.
16 changes: 8 additions & 8 deletions scipy/linalg/basic.py
Expand Up @@ -64,7 +64,7 @@ def lu_solve((lu, piv), b, trans=0, overwrite_b=0):
if info==0:
return x
raise ValueError,\
'illegal value in %-th argument of internal gesv|posv'%(-info)
'illegal value in %d-th argument of internal gesv|posv'%(-info)

def cho_solve((c, lower), b, overwrite_b=0):
"""Solve an equation system, a x = b, given the Cholesky factorization of a
Expand Down Expand Up @@ -95,7 +95,7 @@ def cho_solve((c, lower), b, overwrite_b=0):
if info==0:
return x
raise ValueError,\
'illegal value in %-th argument of internal gesv|posv'%(-info)
'illegal value in %d-th argument of internal gesv|posv'%(-info)

# Linear equations
def solve(a, b, sym_pos=0, lower=0, overwrite_a=0, overwrite_b=0,
Expand Down Expand Up @@ -151,7 +151,7 @@ def solve(a, b, sym_pos=0, lower=0, overwrite_a=0, overwrite_b=0,
if info>0:
raise LinAlgError, "singular matrix"
raise ValueError,\
'illegal value in %-th argument of internal gesv|posv'%(-info)
'illegal value in %d-th argument of internal gesv|posv'%(-info)

def solve_banded((l,u), ab, b, overwrite_ab=0, overwrite_b=0,
debug = 0):
Expand Down Expand Up @@ -201,7 +201,7 @@ def solve_banded((l,u), ab, b, overwrite_ab=0, overwrite_b=0,
if info>0:
raise LinAlgError, "singular matrix"
raise ValueError,\
'illegal value in %-th argument of internal gbsv'%(-info)
'illegal value in %d-th argument of internal gbsv'%(-info)

def solveh_banded(ab, b, overwrite_ab=0, overwrite_b=0,
lower=0):
Expand Down Expand Up @@ -352,7 +352,7 @@ def inv(a, overwrite_a=0):
## return a_inv
## if info>0: raise LinAlgError, "singular matrix"
## if info<0: raise ValueError,\
## 'illegal value in %-th argument of internal inv.getrf|getri'%(-info)
## 'illegal value in %d-th argument of internal inv.getrf|getri'%(-info)
getrf,getri = get_lapack_funcs(('getrf','getri'),(a1,))
#XXX: C ATLAS versions of getrf/i have rowmajor=1, this could be
# exploited for further optimization. But it will be probably
Expand Down Expand Up @@ -382,7 +382,7 @@ def inv(a, overwrite_a=0):
inv_a,info = getri(lu,piv,overwrite_lu=1)
if info>0: raise LinAlgError, "singular matrix"
if info<0: raise ValueError,\
'illegal value in %-th argument of internal getrf|getri'%(-info)
'illegal value in %d-th argument of internal getrf|getri'%(-info)
return inv_a


Expand Down Expand Up @@ -418,7 +418,7 @@ def det(a, overwrite_a=0):
fdet, = get_flinalg_funcs(('det',),(a1,))
a_det,info = fdet(a1,overwrite_a=overwrite_a)
if info<0: raise ValueError,\
'illegal value in %-th argument of internal det.getrf'%(-info)
'illegal value in %d-th argument of internal det.getrf'%(-info)
return a_det

### Linear Least Squares
Expand Down Expand Up @@ -485,7 +485,7 @@ def lstsq(a, b, cond=None, overwrite_a=0, overwrite_b=0):
raise NotImplementedError,'calling gelss from %s' % (gelss.module_name)
if info>0: raise LinAlgError, "SVD did not converge in Linear Least Squares"
if info<0: raise ValueError,\
'illegal value in %-th argument of internal gelss'%(-info)
'illegal value in %d-th argument of internal gelss'%(-info)
resids = asarray([], dtype=x.dtype)
if n<m:
x1 = x[:n]
Expand Down
30 changes: 15 additions & 15 deletions scipy/linalg/decomp.py
Expand Up @@ -80,7 +80,7 @@ def _geneig(a1,b,left,right,overwrite_a,overwrite_b):
overwrite_a,overwrite_b)
w = (alphar+_I*alphai)/beta
if info<0: raise ValueError,\
'illegal value in %-th argument of internal ggev'%(-info)
'illegal value in %d-th argument of internal ggev'%(-info)
if info>0: raise LinAlgError,"generalized eig algorithm did not converge"

only_real = numpy.logical_and.reduce(numpy.equal(w.imag,0.0))
Expand Down Expand Up @@ -186,7 +186,7 @@ def eig(a,b=None, left=False, right=True, overwrite_a=False, overwrite_b=False):
t = {'f':'F','d':'D'}[wr.dtype.char]
w = wr+_I*wi
if info<0: raise ValueError,\
'illegal value in %-th argument of internal geev'%(-info)
'illegal value in %d-th argument of internal geev'%(-info)
if info>0: raise LinAlgError,"eig algorithm did not converge"

only_real = numpy.logical_and.reduce(numpy.equal(w.imag,0.0))
Expand Down Expand Up @@ -534,7 +534,7 @@ def eig_banded(a_band, lower=0, eigvals_only=0, overwrite_a_band=0,
if not eigvals_only:
v = v[:, :m]
if info<0: raise ValueError,\
'illegal value in %-th argument of internal %s'%(-info, internal_name)
'illegal value in %d-th argument of internal %s'%(-info, internal_name)
if info>0: raise LinAlgError,"eig algorithm did not converge"

if eigvals_only:
Expand Down Expand Up @@ -750,7 +750,7 @@ def lu_factor(a, overwrite_a=0):
getrf, = get_lapack_funcs(('getrf',),(a1,))
lu, piv, info = getrf(a,overwrite_a=overwrite_a)
if info<0: raise ValueError,\
'illegal value in %-th argument of internal getrf (lu_factor)'%(-info)
'illegal value in %d-th argument of internal getrf (lu_factor)'%(-info)
if info>0: warn("Diagonal number %d is exactly zero. Singular matrix." % info,
RuntimeWarning)
return lu, piv
Expand Down Expand Up @@ -841,7 +841,7 @@ def lu(a,permute_l=0,overwrite_a=0):
flu, = get_flinalg_funcs(('lu',),(a1,))
p,l,u,info = flu(a1,permute_l=permute_l,overwrite_a = overwrite_a)
if info<0: raise ValueError,\
'illegal value in %-th argument of internal lu.getrf'%(-info)
'illegal value in %d-th argument of internal lu.getrf'%(-info)
if permute_l:
return l,u
return p,l,u
Expand Down Expand Up @@ -920,7 +920,7 @@ def svd(a,full_matrices=1,compute_uv=1,overwrite_a=0):
raise NotImplementedError,'calling gesdd from %s' % (gesdd.module_name)
if info>0: raise LinAlgError, "SVD did not converge"
if info<0: raise ValueError,\
'illegal value in %-th argument of internal gesdd'%(-info)
'illegal value in %d-th argument of internal gesdd'%(-info)
if compute_uv:
return u,s,v
else:
Expand Down Expand Up @@ -1022,7 +1022,7 @@ def cholesky(a,lower=0,overwrite_a=0):
c,info = potrf(a1,lower=lower,overwrite_a=overwrite_a,clean=1)
if info>0: raise LinAlgError, "matrix not positive definite"
if info<0: raise ValueError,\
'illegal value in %-th argument of internal potrf'%(-info)
'illegal value in %d-th argument of internal potrf'%(-info)
return c

def cho_factor(a, lower=0, overwrite_a=0):
Expand Down Expand Up @@ -1069,7 +1069,7 @@ def cho_factor(a, lower=0, overwrite_a=0):
c,info = potrf(a1,lower=lower,overwrite_a=overwrite_a,clean=0)
if info>0: raise LinAlgError, "matrix not positive definite"
if info<0: raise ValueError,\
'illegal value in %-th argument of internal potrf'%(-info)
'illegal value in %d-th argument of internal potrf'%(-info)
return c, lower

def cho_solve(clow, b):
Expand Down Expand Up @@ -1190,7 +1190,7 @@ def qr(a, overwrite_a=0, lwork=None, econ=None, mode='qr'):

qr,tau,work,info = geqrf(a1,lwork=lwork,overwrite_a=overwrite_a)
if info<0:
raise ValueError("illegal value in %-th argument of internal geqrf"
raise ValueError("illegal value in %d-th argument of internal geqrf"
% -info)

if not econ or M<N:
Expand Down Expand Up @@ -1227,7 +1227,7 @@ def qr(a, overwrite_a=0, lwork=None, econ=None, mode='qr'):
Q,work,info = gor_un_gqr(qqr,tau,lwork=lwork,overwrite_a=1)

if info < 0:
raise ValueError("illegal value in %-th argument of internal gorgqr"
raise ValueError("illegal value in %d-th argument of internal gorgqr"
% -info)

return Q, R
Expand Down Expand Up @@ -1271,7 +1271,7 @@ def qr_old(a,overwrite_a=0,lwork=None):
lwork = work[0]
qr,tau,work,info = geqrf(a1,lwork=lwork,overwrite_a=overwrite_a)
if info<0: raise ValueError,\
'illegal value in %-th argument of internal geqrf'%(-info)
'illegal value in %d-th argument of internal geqrf'%(-info)
gemm, = get_blas_funcs(('gemm',),(qr,))
t = qr.dtype.char
R = basic.triu(qr)
Expand Down Expand Up @@ -1331,7 +1331,7 @@ def rq(a,overwrite_a=0,lwork=None):
lwork = work[0]
rq,tau,work,info = gerqf(a1,lwork=lwork,overwrite_a=overwrite_a)
if info<0: raise ValueError, \
'illegal value in %-th argument of internal geqrf'%(-info)
'illegal value in %d-th argument of internal geqrf'%(-info)
gemm, = get_blas_funcs(('gemm',),(rq,))
t = rq.dtype.char
R = basic.triu(rq)
Expand Down Expand Up @@ -1408,7 +1408,7 @@ def schur(a,output='real',lwork=None,overwrite_a=0):
result = gees(lambda x: None,a,lwork=result[-2][0],overwrite_a=overwrite_a)
info = result[-1]
if info<0: raise ValueError,\
'illegal value in %-th argument of internal gees'%(-info)
'illegal value in %d-th argument of internal gees'%(-info)
elif info>0: raise LinAlgError, "Schur form not found. Possibly ill-conditioned."
return result[0], result[-3]

Expand Down Expand Up @@ -1566,12 +1566,12 @@ def hessenberg(a,calc_q=0,overwrite_a=0):
gehrd,gebal = get_lapack_funcs(('gehrd','gebal'),(a1,))
ba,lo,hi,pivscale,info = gebal(a,permute=1,overwrite_a = overwrite_a)
if info<0: raise ValueError,\
'illegal value in %-th argument of internal gebal (hessenberg)'%(-info)
'illegal value in %d-th argument of internal gebal (hessenberg)'%(-info)
n = len(a1)
lwork = calc_lwork.gehrd(gehrd.prefix,n,lo,hi)
hq,tau,info = gehrd(ba,lo=lo,hi=hi,lwork=lwork,overwrite_a=1)
if info<0: raise ValueError,\
'illegal value in %-th argument of internal gehrd (hessenberg)'%(-info)
'illegal value in %d-th argument of internal gehrd (hessenberg)'%(-info)

if not calc_q:
for i in range(lo,hi):
Expand Down

0 comments on commit 0cef22c

Please sign in to comment.