[Numpy-discussion] A bug in scipy.linalg.lu_factor?

2007-01-25 Thread Paulo J. S. Silva
Hello,

I am trying to write some unit tests to my new Automatic matrix code
and I think I bumped into a bug in scipy.linalg.lu_factor. If you give a
matrix to it, it doesn't honor the overwrite_a option:

In [1]:import numpy as num

In [2]:M = num.mat(num.random.rand(2,2))

In [3]:print M
[[ 0.33267781  0.2100424 ]
 [ 0.61852696  0.32244386]]

In [4]:import scipy.linalg as la

In [5]:LU, P = la.lu_factor(M, overwrite_a=0); print M
[[ 0.33267781  0.63136882]
 [ 0.61852696 -0.06807478]]

In [6]:LU, P = la.lu_factor(M, overwrite_a=0); print M
[[ 0.63136882  0.52691517]
 [-0.06807478  0.6543966 ]]

As you can see the matrix is changed by calling the function.

can anyone confirm this? I am running numpy 1.0.1 and scipy 0.5.2.

Best,

Paulo

___
Numpy-discussion mailing list
Numpy-discussion@scipy.org
http://projects.scipy.org/mailman/listinfo/numpy-discussion


Re: [Numpy-discussion] A bug in scipy.linalg.lu_factor?

2007-01-25 Thread Nils Wagner
On Thu, 25 Jan 2007 16:06:23 -0200
  Paulo J. S. Silva [EMAIL PROTECTED] wrote:
 Hello,
 
 I am trying to write some unit tests to my new 
Automatic matrix code
 and I think I bumped into a bug in 
scipy.linalg.lu_factor. If you give a
 matrix to it, it doesn't honor the overwrite_a option:
 
 In [1]:import numpy as num
 
 In [2]:M = num.mat(num.random.rand(2,2))
 
 In [3]:print M
 [[ 0.33267781  0.2100424 ]
 [ 0.61852696  0.32244386]]
 
 In [4]:import scipy.linalg as la
 
 In [5]:LU, P = la.lu_factor(M, overwrite_a=0); print M
 [[ 0.33267781  0.63136882]
 [ 0.61852696 -0.06807478]]
 
 In [6]:LU, P = la.lu_factor(M, overwrite_a=0); print M
 [[ 0.63136882  0.52691517]
 [-0.06807478  0.6543966 ]]
 
 As you can see the matrix is changed by calling the 
function.
 
 can anyone confirm this? I am running numpy 1.0.1 and 
scipy 0.5.2.
 
 Best,
 
 Paulo
 
Hi Paulo,

I can confirm this bug.

1.0.2.dev3511
0.5.3.dev2560

Nils

 ___
 Numpy-discussion mailing list
 Numpy-discussion@scipy.org
 http://projects.scipy.org/mailman/listinfo/numpy-discussion

  
___
Numpy-discussion mailing list
Numpy-discussion@scipy.org
http://projects.scipy.org/mailman/listinfo/numpy-discussion


Re: [Numpy-discussion] A bug in scipy.linalg.lu_factor?

2007-01-25 Thread Paulo J. S. Silva
Em Qui, 2007-01-25 às 19:46 +0100, Nils Wagner escreveu:

 
 It works if you use
 M=num.random.rand(2,2)
 
 Nils
 

Yes, it works for arrays but not for matrices. I thought that
scipy.linalg functions were supposed to work with matrices.

Paulo


___
Numpy-discussion mailing list
Numpy-discussion@scipy.org
http://projects.scipy.org/mailman/listinfo/numpy-discussion


Re: [Numpy-discussion] A bug in scipy.linalg.lu_factor?

2007-01-25 Thread Nils Wagner
On Thu, 25 Jan 2007 16:56:54 -0200
  Paulo J. S. Silva [EMAIL PROTECTED] wrote:
 Em Qui, 2007-01-25 às 19:46 +0100, Nils Wagner escreveu:
 
 
 It works if you use
 M=num.random.rand(2,2)
 
 Nils
 
 
 Yes, it works for arrays but not for matrices. I thought 
that
 scipy.linalg functions were supposed to work with 
matrices.
 
 Paulo
 
 
 ___
 Numpy-discussion mailing list
 Numpy-discussion@scipy.org
 http://projects.scipy.org/mailman/listinfo/numpy-discussion
  
linalg.solve works with matrix input

In [1]: import numpy as num

In [2]: import scipy.linalg as la

In [3]: M = num.mat(num.random.rand(2,2))

In [4]: b = num.random.rand(2)

In [5]: x = la.solve(M,b)

In [6]: print M*x
[[ 0.29508067  0.17152755]]

In [7]: b
Out[7]: array([ 0.29508067,  0.17152755])

Nils
___
Numpy-discussion mailing list
Numpy-discussion@scipy.org
http://projects.scipy.org/mailman/listinfo/numpy-discussion