[Scipy-svn] r6316 - trunk/scipy/linalg
scipy-svn at scipy.org
scipy-svn at scipy.org
Fri Apr 9 03:45:21 EDT 2010
Author: cdavid
Date: 2010-04-09 02:45:21 -0500 (Fri, 09 Apr 2010)
New Revision: 6316
Modified:
trunk/scipy/linalg/basic.py
trunk/scipy/linalg/decomp.py
Log:
BUG: use correct string formatting in raising depending on info from lapack.
Thanks to Yaroslav Halchenko for the fix.
Modified: trunk/scipy/linalg/basic.py
===================================================================
--- trunk/scipy/linalg/basic.py 2010-04-08 14:35:50 UTC (rev 6315)
+++ trunk/scipy/linalg/basic.py 2010-04-09 07:45:21 UTC (rev 6316)
@@ -69,8 +69,8 @@
x,info = getrs(lu,piv,b1,trans=trans,overwrite_b=overwrite_b)
if info==0:
return x
- raise ValueError,\
- 'illegal value in %-th argument of internal gesv|posv'%(-info)
+ raise ValueError(
+ 'illegal value in %d-th argument of internal gesv|posv' % (-info))
def cho_solve((c, lower), b, overwrite_b=False):
"""Solve an equation system, a x = b, given the Cholesky factorization of a
@@ -100,8 +100,8 @@
x,info = potrs(c,b1,lower=lower,overwrite_b=overwrite_b)
if info==0:
return x
- raise ValueError,\
- 'illegal value in %-th argument of internal gesv|posv'%(-info)
+ raise ValueError(
+ 'illegal value in %d-th argument of internal gesv|posv' % (-info))
# Linear equations
def solve(a, b, sym_pos=False, lower=False, overwrite_a=False, overwrite_b=False,
@@ -156,8 +156,8 @@
return x
if info>0:
raise LinAlgError, "singular matrix"
- raise ValueError,\
- 'illegal value in %-th argument of internal gesv|posv'%(-info)
+ raise ValueError(
+ 'illegal value in %d-th argument of internal gesv|posv' % (-info))
def solve_banded((l,u), ab, b, overwrite_ab=False, overwrite_b=False,
debug=False):
@@ -214,8 +214,8 @@
return x
if info>0:
raise LinAlgError, "singular matrix"
- raise ValueError,\
- 'illegal value in %-th argument of internal gbsv'%(-info)
+ raise ValueError(
+ 'illegal value in %d-th argument of internal gbsv' % (-info))
def solveh_banded(ab, b, overwrite_ab=False, overwrite_b=False,
lower=False):
@@ -277,8 +277,8 @@
return c, x
if info>0:
raise LinAlgError, "%d-th leading minor not positive definite" % info
- raise ValueError,\
- 'illegal value in %d-th argument of internal pbsv'%(-info)
+ raise ValueError(
+ 'illegal value in %d-th argument of internal pbsv' % (-info))
def cholesky_banded(ab, overwrite_ab=False, lower=False):
"""Cholesky decompose a banded Hermitian positive-definite matrix
@@ -327,8 +327,8 @@
return c
if info>0:
raise LinAlgError, "%d-th leading minor not positive definite" % info
- raise ValueError,\
- 'illegal value in %d-th argument of internal pbtrf'%(-info)
+ raise ValueError(
+ 'illegal value in %d-th argument of internal pbtrf' % (-info))
# matrix inversion
@@ -370,7 +370,7 @@
## 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
@@ -399,8 +399,8 @@
else: # clapack
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)
+ if info<0: raise ValueError(
+ 'illegal value in %d-th argument of internal getrf|getri' % (-info))
return inv_a
@@ -428,8 +428,8 @@
overwrite_a = overwrite_a or (a1 is not a and not hasattr(a,'__array__'))
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)
+ if info<0: raise ValueError(
+ 'illegal value in %d-th argument of internal det.getrf' % (-info))
return a_det
### Linear Least Squares
@@ -495,8 +495,8 @@
else:
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)
+ if info<0: raise ValueError(
+ 'illegal value in %d-th argument of internal gelss' % (-info))
resids = asarray([], dtype=x.dtype)
if n<m:
x1 = x[:n]
Modified: trunk/scipy/linalg/decomp.py
===================================================================
--- trunk/scipy/linalg/decomp.py 2010-04-08 14:35:50 UTC (rev 6315)
+++ trunk/scipy/linalg/decomp.py 2010-04-09 07:45:21 UTC (rev 6316)
@@ -80,8 +80,8 @@
alphar,alphai,beta,vl,vr,work,info = ggev(a1,b1,cvl,cvr,lwork,
overwrite_a,overwrite_b)
w = (alphar+_I*alphai)/beta
- if info<0: raise ValueError,\
- 'illegal value in %-th argument of internal ggev'%(-info)
+ if info<0: raise ValueError(
+ '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))
@@ -188,8 +188,8 @@
overwrite_a=overwrite_a)
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)
+ if info<0: raise ValueError(
+ '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))
@@ -536,8 +536,8 @@
w = w[:m]
if not eigvals_only:
v = v[:, :m]
- if info<0: raise ValueError,\
- 'illegal value in %-th argument of internal %s'%(-info, internal_name)
+ if info<0: raise ValueError(
+ '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:
@@ -752,8 +752,8 @@
overwrite_a = overwrite_a or (_datanotshared(a1,a))
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)
+ if info<0: raise ValueError(
+ '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
@@ -843,8 +843,8 @@
overwrite_a = overwrite_a or (_datanotshared(a1,a))
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)
+ if info<0: raise ValueError(
+ 'illegal value in %d-th argument of internal lu.getrf' % (-info))
if permute_l:
return l,u
return p,l,u
@@ -922,8 +922,8 @@
else: # 'clapack'
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)
+ if info<0: raise ValueError(
+ 'illegal value in %d-th argument of internal gesdd' % (-info))
if compute_uv:
return u,s,v
else:
@@ -1024,8 +1024,8 @@
potrf, = get_lapack_funcs(('potrf',),(a1,))
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)
+ if info<0: raise ValueError(
+ 'illegal value in %d-th argument of internal potrf' % (-info))
return c
def cho_factor(a, lower=False, overwrite_a=False):
@@ -1071,8 +1071,8 @@
potrf, = get_lapack_funcs(('potrf',),(a1,))
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)
+ if info<0: raise ValueError(
+ 'illegal value in %d-th argument of internal potrf' % (-info))
return c, lower
def cho_solve(clow, b):
@@ -1193,7 +1193,7 @@
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:
@@ -1230,7 +1230,7 @@
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
@@ -1273,8 +1273,8 @@
qr,tau,work,info = geqrf(a1,lwork=-1,overwrite_a=1)
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)
+ if info<0: raise ValueError(
+ 'illegal value in %d-th argument of internal geqrf' % (-info))
gemm, = get_blas_funcs(('gemm',),(qr,))
t = qr.dtype.char
R = special_matrices.triu(qr)
@@ -1333,8 +1333,8 @@
rq,tau,work,info = gerqf(a1,lwork=-1,overwrite_a=1)
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)
+ if info<0: raise ValueError(
+ 'illegal value in %d-th argument of internal geqrf'%(-info)
gemm, = get_blas_funcs(('gemm',),(rq,))
t = rq.dtype.char
R = special_matrices.triu(rq)
@@ -1410,8 +1410,8 @@
lwork = result[-2][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)
+ if info<0: raise ValueError(
+ '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]
@@ -1569,13 +1569,13 @@
overwrite_a = overwrite_a or (_datanotshared(a1,a))
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)
+ if info<0: raise ValueError(
+ '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)
+ if info<0: raise ValueError(
+ 'illegal value in %d-th argument of internal gehrd (hessenberg)' % (-info))
if not calc_q:
for i in range(lo,hi):
More information about the Scipy-svn
mailing list