[Numpy-discussion] Re: Some missing linalg things (wanted: LU decomposition)
Bill Baxter
wbaxter at gmail.com
Sun Feb 19 23:38:08 CST 2006
Should have mentioned -- I was using numpy 0.9.4 / scipy 0.4.4.
Looks like it works in numpy 0.9.5 / scipy 0.4.6
But matplotlib, which I also need, hasn't been updated for numpy 0.9.5 yet.
:-(
It's also still pretty weird to me that you have to do "from
scipy.linalgimport lu" specifically. And then after doing that one
import, then all the
other scipy.linalg.* functions magically spring into existence too. Is that
sort of hing expected behavior from Python imports?
>>> import numpy as N
>>> import scipy as S
>>> S.linalg.lu
Traceback (most recent call last):
File "<input>", line 1, in ?
AttributeError: 'module' object has no attribute 'lu'
>>> from scipy.linalg import lu
>>> S.linalg.lu(N.rand(2,2))
(array([[ 0., 1.],
[ 1., 0.]]), array([[ 1. , 0. ],
[ 0.18553085, 1. ]]), array([[ 0.71732168, 0.48540043],
[ 0. , 0.61379118]]))
>>> (N.__version__, S.__version__)
('0.9.5', '0.4.6')
--bb
On 2/20/06, Nils Wagner <nwagner at mecha.uni-stuttgart.de> wrote:
>
> Bill Baxter wrote:
> > Ack. I may be able to get references to lu, lu_factor, et al, but
> > they don't actually work with numpy arrays:
> >
> > from scipy.linalg import lu,lu_factor,lu_solve
> > import scipy as S
> > A = S.rand(2,2)
> > lu(A)
> > Traceback (most recent call last):
> > File "<input>", line 1, in ?
> > File "C:\Python24\Lib\site-packages\scipy\linalg\decomp.py", line
> > 249, in lu
> > flu, = get_flinalg_funcs(('lu',),(a1,))
> > File "C:\Python24\Lib\site-packages\scipy\linalg\flinalg.py", line
> > 30, in get_flinalg_funcs
> > t = arrays[i].dtypechar
> > AttributeError: 'numpy.ndarray' object has no attribute 'dtypechar'
> >
> >
> > Ok, so, once again, does anyone have an lu_factor / lu_solve
> > implementation in python that I could borrow?
> >
> > Apologies for the monologue.
> >
> > --bb
> >
> >
> > On 2/20/06, *Bill Baxter* <wbaxter at gmail.com
> > <mailto:wbaxter at gmail.com>> wrote:
> >
> > Upon further inspection I find that if I call 'from scipy import
> > *' then linalg.lu <http://linalg.lu> etc are defined.
> > But if I do anything else to import scipy like 'import scipy' or
> > 'import scipy as S' or 'from scipy import linalg', then lu, cg etc
> > are not defined.
> >
> > Why is that?
> >
> > I can get at them without importing * by doing 'from scipy.linalg
> > import lu', but that's kind of odd to have to do that.
> >
> > --bb
> >
> >
> > On 2/20/06, * Bill Baxter* <wbaxter at gmail.com
> > <mailto:wbaxter at gmail.com>> wrote:
> >
> > This url http://www.rexx.com/~dkuhlman/scipy_course_01.html
> > <http://www.rexx.com/%7Edkuhlman/scipy_course_01.html> seems
> > to keep turning up in my searches for numpy and scipy things,
> > but many of the linalg operations it lists don't seem to exist
> > in recent versions of numpy (or scipy).
> >
> > Some of them are:
> >
> > * norm
> > * factorizations: lu, lu_factor, lu_solve, qr
> > * iterative solvers: cg, cgs, gmres etc.
> >
> > Did these things used to exist in Numeric but they haven't
> > been ported over? Will they be re-introduced sometime?
> >
> > In the short term, the one I'm after right now is LU decompose
> > and solve functionality. Anyone have a numpy implementation?
> >
> > --Bill Baxter
> >
> No problem here.
>
> >>> from scipy.linalg import lu,lu_factor,lu_solve
> >>> import scipy as S
> >>> A = S.rand(2,2)
> >>> lu(A)
> (array([[ 0., 1.],
> [ 1., 0.]]), array([[ 1. , 0. ],
> [ 0.81367315, 1. ]]), array([[ 0.49886054, 0.57065709],
> [ 0. , -0.30862809]]))
> >>> S.__version__
> '0.4.7.1614'
>
>
> Nils
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://projects.scipy.org/pipermail/numpy-discussion/attachments/20060219/c085fd2c/attachment-0001.html
More information about the Numpy-discussion
mailing list