Re: [Numpy-discussion] printing array in tabular form

2013-05-10 Thread Sudheer Joseph
Thank you,
  But I was looking for  a format statement likw 
write(*,(A,5F8.3))
with best regards,
Sudheer

 
***
Sudheer Joseph 
Indian National Centre for Ocean Information Services
Ministry of Earth Sciences, Govt. of India
POST BOX NO: 21, IDA Jeedeemetla P.O.
Via Pragathi Nagar,Kukatpally, Hyderabad; Pin:5000 55
Tel:+91-40-23886047(O),Fax:+91-40-23895011(O),
Tel:+91-40-23044600(R),Tel:+91-40-9440832534(Mobile)
E-mail:sjo.in...@gmail.com;sudheer.jos...@yahoo.com
Web- http://oppamthadathil.tripod.com
***



 From: Daπid davidmen...@gmail.com
To: Discussion of Numerical Python numpy-discussion@scipy.org 
Sent: Thursday, 9 May 2013 2:29 PM
Subject: Re: [Numpy-discussion] printing array in tabular form
 

On 9 May 2013 10:06, Sudheer Joseph sudheer.jos...@yahoo.com wrote:
 However writing a formatted out put looks to be bit tricky with python
 relative to other programing languages.

If performance is not an issue, you could do it by hand, as you can
always do in any programming language:


savefile = open('data.txt', 'w')
N = len(IL)

for start in xrange(N/5):
   if start+5  N:
     end = N
   else:
     end = start+5
   print  savefile, IL[start : end]


But this is actually more verbose, and once you get into NumPy
workflow, it is actually simple.
___
NumPy-Discussion mailing list
NumPy-Discussion@scipy.org
http://mail.scipy.org/mailman/listinfo/numpy-discussion


___
NumPy-Discussion mailing list
NumPy-Discussion@scipy.org
http://mail.scipy.org/mailman/listinfo/numpy-discussion


Re: [Numpy-discussion] printing array in tabular form

2013-05-10 Thread Daniele Nicolodi
On 10/05/2013 11:14, Sudheer Joseph wrote:

 However writing a formatted out put looks to be bit tricky with
 python relative to other programing languages.

...

 I was looking for a format statement likw write(*,(A,5F8.3))

Before denigrating a programming language I would make sure to have a
basic understanding of it.  Every language is going to be tricky if you
approach it with the mindset of Fortran programming.

The output format you are trying to obtain is easy in forrtran because
it is how the default text output formatting is designed.  Of course
obtaining it with a different programming language / numerical library
takes some more effort. But is not tricky at all.


Cheers,
Daniele

___
NumPy-Discussion mailing list
NumPy-Discussion@scipy.org
http://mail.scipy.org/mailman/listinfo/numpy-discussion


[Numpy-discussion] Scalar output from sub-classed Numpy array

2013-05-10 Thread Thomas Robitaille
Hi everyone,

I am currently trying to write a sub-class of Numpy ndarray, but am
running into issues for functions that return scalar results rather
than array results. For example, in the following case:

import numpy as np

class TestClass(np.ndarray):

def __new__(cls, input_array, unit=None):
return np.asarray(input_array).view(cls)

def __array_finalize__(self, obj):
if obj is None:
return

def __array_wrap__(self, out_arr, context=None):
return np.ndarray.__array_wrap__(self, out_arr, context)

I get:

In [4]: a = TestClass([1,2,3])

In [5]: print type(np.dot(a,a))
type 'numpy.int64'

In [6]: a = TestClass([[1,2],[1,2]])

In [7]: print type(np.dot(a,a))
class '__main__.TestClass'

that is, in the case where the output is a scalar, it doesn't get
wrapped, while in the case where the output is an array, it does.
Could anyone explain this behavior to me, and most importantly, is
there a way around this and have the above example return a wrapped
0-d TestClass array instead of a Numpy int64?

Thanks,
Tom
___
NumPy-Discussion mailing list
NumPy-Discussion@scipy.org
http://mail.scipy.org/mailman/listinfo/numpy-discussion


Re: [Numpy-discussion] printing array in tabular form

2013-05-10 Thread Sudheer Joseph


Hi,
   I am trying to learn Python after feeling its utility in coding  and also 
reading a bit about 
its potential only, please do not put words in to my mouth like below.


 Before denigrating a programming language

If some one has a quick way I would like to learn from them or get a 
referecence 
where the formatting part is described which was 
my intention while posting here. As I have been using fortran I just tried 
to use it to explain my requirement

with best regards,
Sduheer

From: Daniele Nicolodi dani...@grinta.net

To: numpy-discussion@scipy.org 
Sent: Friday, 10 May 2013 3:12 PM
Subject: Re: [Numpy-discussion] printing array in tabular form
 

On 10/05/2013 11:14, Sudheer Joseph wrote:

 However writing a formatted out put looks to be bit tricky with
 python relative to other programing languages.

...

 I was looking for a format statement likw write(*,(A,5F8.3))

Before denigrating a programming language I would make sure to have a
basic understanding of it.  Every language is going to be tricky if you
approach it with the mindset of Fortran programming.

The output format you are trying to obtain is easy in forrtran because
it is how the default text output formatting is designed.  Of course
obtaining it with a different programming language / numerical library
takes some more effort. But is not tricky at all.


Cheers,
Daniele

___
NumPy-Discussion mailing list
NumPy-Discussion@scipy.org
http://mail.scipy.org/mailman/listinfo/numpy-discussion



___
NumPy-Discussion mailing list
NumPy-Discussion@scipy.org
http://mail.scipy.org/mailman/listinfo/numpy-discussion


Re: [Numpy-discussion] printing array in tabular form

2013-05-10 Thread Derek Homeier
On 10.05.2013, at 1:20PM, Sudheer Joseph sudheer.jos...@yahoo.com wrote:

 If some one has a quick way I would like to learn from them or get a 
 referecence 
 where the formatting part is described which was 
 my intention while posting here. As I have been using fortran I just tried 
 to use it to explain my requirement
 
Admittedly the formatting options in Python can be confusing to beginners, 
precisely
since they are much more powerful than for many other languages. As already 
pointed
out, formats of the type '(5i5)' are very common to Fortran programs and thus 
readily
supported by the language. np.savetxt is just a convenience function to support 
a number
of similarly common output types, and it can create csv, tab-separated, or 
plenty of other
outputs from a numpy array just out of the box. 
But you added to the confusion as you did not make it clear that you were not 
just requiring
a plain csv file as your Fortran example would create (and the first version 
did not even
have the commas); since this is a rather non-standard form you will just have 
to write a
short loop yourself, wether you are using Fortran or Python.

  Infact the program which should read this file 
 requires it in specified format which should look like
 IL = 1,2,3,4,5
  1,2,3,4,5
  1,2,3,4,5
 
The formats are all documented 
http://docs.python.org/2/library/string.html#format-specification-mini-language
one important thing to know is that you can pretty much add (i.e. concatenate) 
them like strings:

print((%6s+4*%d,+%d\n) % ((IL = ,)+tuple(IL[:5])))

or, perhaps a bit clearer:

fmt = %6s+4*%d,+%d\n
print_t = (IL = ,)+tuple(IL[:5])
print(fmt % print_t)

The other important bit to keep in mind is that all arguments have to be passed 
as tuples.
This should allow you to write a loop to print with a header or an empty 
header column
for the subsequent lines as you see fit. 
Except for the string field which is explicitly formatted %s here, this is 
mostly equivalent
to the example Henry just posted.

HTH,
Derek

___
NumPy-Discussion mailing list
NumPy-Discussion@scipy.org
http://mail.scipy.org/mailman/listinfo/numpy-discussion


Re: [Numpy-discussion] Name change of the ptp() function

2013-05-10 Thread Pauli Virtanen
10.05.2013 08:47, Eli Bressert kirjoitti:
[clip: renaming ptp]
 valuerange() appears to the best most favored one.

range(), arange(), valuerange()

I'm not really a big fan of changing the name of this function at this
stage, as it seems to me that whether it's a gain or not is somewhat a
matter of taste.

-- 
Pauli Virtanen

___
NumPy-Discussion mailing list
NumPy-Discussion@scipy.org
http://mail.scipy.org/mailman/listinfo/numpy-discussion


Re: [Numpy-discussion] printing array in tabular form

2013-05-10 Thread Jonathan Slavin
Sudheer,

This is not really numpy specific.  There are many options for output
formatting in python.  For the specific question you have, you could do:

print '{0}{1:8.3f}{2:8.3f}{3:8.3f}{4:8.3f}{5:8.3f}'.format(s,x1,x2,x3,x4,x5)

format is a built-in python string method (see python docs). The one
thing that I will agree with you on is that, as far as I know, there is
no repeat count mechanism.  There are tricky ways around that, e.g.
fmt = '{0}' + ''.join(['{'+str(i)+':8.3f}' for i in range(1,6)])
print fmt.format(s,x1,x2,x3,x4,x5)
though not as simple as the fortran output statement.

Jon

On Fri, 2013-05-10 at 17:14 +0800, Sudheer Joseph wrote:
 Thank you,
   But I was looking for  a format statement likw
 write(*,(A,5F8.3))
 with best regards,
 Sudheer
  
 ***
 Sudheer Joseph 
 Indian National Centre for Ocean Information Services
 Ministry of Earth Sciences, Govt. of India
 POST BOX NO: 21, IDA Jeedeemetla P.O.
 Via Pragathi Nagar,Kukatpally, Hyderabad; Pin:5000 55
 Tel:+91-40-23886047(O),Fax:+91-40-23895011(O),
 Tel:+91-40-23044600(R),Tel:+91-40-9440832534(Mobile)
 E-mail:sjo.in...@gmail.com;sudheer.jos...@yahoo.com
 Web- http://oppamthadathil.tripod.com
 ***
 
 __
 From: Daπid davidmen...@gmail.com
 To: Discussion of Numerical Python
 numpy-discussion@scipy.org 
 Sent: Thursday, 9 May 2013 2:29 PM
 Subject: Re: [Numpy-discussion] printing array in tabular form
 
 
 On 9 May 2013 10:06, Sudheer Joseph sudheer.jos...@yahoo.com
 wrote:
  However writing a formatted out put looks to be bit tricky
 with python
  relative to other programing languages.
 
 If performance is not an issue, you could do it by hand, as
 you can
 always do in any programming language:
 
 
 savefile = open('data.txt', 'w')
 N = len(IL)
 
 for start in xrange(N/5):
   if start+5  N:
 end = N
   else:
 end = start+5
   print  savefile, IL[start : end]
 
 
 But this is actually more verbose, and once you get into NumPy
 workflow, it is actually simple.
 ___
 NumPy-Discussion mailing list
 NumPy-Discussion@scipy.org
 http://mail.scipy.org/mailman/listinfo/numpy-discussion
 
 
 

-- 
__
Jonathan D. Slavin  Harvard-Smithsonian CfA
jsla...@cfa.harvard.edu 60 Garden Street, MS 83
phone: (617) 496-7981   Cambridge, MA 02138-1516
 cell: (781) 363-0035   USA
__

___
NumPy-Discussion mailing list
NumPy-Discussion@scipy.org
http://mail.scipy.org/mailman/listinfo/numpy-discussion


Re: [Numpy-discussion] printing array in tabular form

2013-05-10 Thread Daniele Nicolodi
On 10/05/2013 13:20, Sudheer Joseph wrote:

 Hi,
 I am trying to learn Python after feeling its utility in coding and
 also reading a bit aboutits potential only, please do not put words
 in to my mouth like below.

I didn't put words in your mouth, I simply quoted emails you sent to the
list and gave my interpretation of what you wrote.

 Before denigrating a programming language
 
 If some one has a quick way I would like to learn from them or get a 
 referecence 
 where the formatting part is described which was 
 my intention while posting here. As I have been using fortran I just tried 
 to use it to explain my requirement

For references about string formatting in Python:

http://docs.python.org/2/library/string.html#formatstrings
http://docs.python.org/2/library/stdtypes.html#string-formatting

for the numpy array to text formatting:

http://docs.scipy.org/doc/numpy/reference/generated/numpy.savetxt.html

writing a function to do what you ask is trivial. Unfortunately there is
no format the thing as I wish function.

If you wish to format numpy arrays preceding them with a variable name,
the following is a possible solution that gives the same formatting as
in your example:

import numpy as np
import sys

def format(out, v, name):
header = {} = .format(name)
out.write(header)
np.savetxt(out, v, fmt=%d, delimiter=, ,
   newline=\n +   * len(header))
out.write(\n)

IL = np.array([range(5), ] * 5)
format(sys.stdout, IL, IL)


Cheers,
Daniele

___
NumPy-Discussion mailing list
NumPy-Discussion@scipy.org
http://mail.scipy.org/mailman/listinfo/numpy-discussion


Re: [Numpy-discussion] Name change of the ptp() function

2013-05-10 Thread Eli Bressert
That's a good point regarding the range function names. But, I think
the issue still stands on the readability of the ptp function.
Regarding PEP20 it's stated that readability counts.

If you regard what ptp is supposed to replace, array.max() -
array.min(), the aforementioned follows the PEP20 better as it is more
readable. If valuerange() is not an acceptable name, maybe span()?

-Eli


On Fri, May 10, 2013 at 10:44 PM, Pauli Virtanen p...@iki.fi wrote:
 10.05.2013 08:47, Eli Bressert kirjoitti:
 [clip: renaming ptp]
 valuerange() appears to the best most favored one.

 range(), arange(), valuerange()

 I'm not really a big fan of changing the name of this function at this
 stage, as it seems to me that whether it's a gain or not is somewhat a
 matter of taste.

 --
 Pauli Virtanen

 ___
 NumPy-Discussion mailing list
 NumPy-Discussion@scipy.org
 http://mail.scipy.org/mailman/listinfo/numpy-discussion
___
NumPy-Discussion mailing list
NumPy-Discussion@scipy.org
http://mail.scipy.org/mailman/listinfo/numpy-discussion


Re: [Numpy-discussion] Name change of the ptp() function

2013-05-10 Thread Pauli Virtanen
10.05.2013 16:04, Eli Bressert kirjoitti:
 That's a good point regarding the range function names. But, I think
 the issue still stands on the readability of the ptp function.
 Regarding PEP20 it's stated that readability counts.

I think here it has to be kept in mind that this function has been
called ptp() already in Numeric, i.e., for the last 10+ years. This is
the first proposal to change it that I know of, so I think keeping the
API the same weighs against changing it due to aesthetic reasons.

-- 
Pauli Virtanen

___
NumPy-Discussion mailing list
NumPy-Discussion@scipy.org
http://mail.scipy.org/mailman/listinfo/numpy-discussion


Re: [Numpy-discussion] Name change of the ptp() function

2013-05-10 Thread Robert Kern
On Fri, May 10, 2013 at 2:04 PM, Eli Bressert ebress...@gmail.com wrote:
 That's a good point regarding the range function names. But, I think
 the issue still stands on the readability of the ptp function.
 Regarding PEP20 it's stated that readability counts.

 If you regard what ptp is supposed to replace, array.max() -
 array.min(), the aforementioned follows the PEP20 better as it is more
 readable. If valuerange() is not an acceptable name, maybe span()?

Sure, it's probably more readable, and that would be the controlling
factor if this were a new function. But that's not really the
operative question here. Are the gains in readability worth the
nontrivial costs of deprecating and removing the old name? I, for one,
am generally not in favor of such deprecations.

--
Robert Kern
___
NumPy-Discussion mailing list
NumPy-Discussion@scipy.org
http://mail.scipy.org/mailman/listinfo/numpy-discussion


Re: [Numpy-discussion] Name change of the ptp() function

2013-05-10 Thread Ralf Gommers
On Fri, May 10, 2013 at 3:17 PM, Robert Kern robert.k...@gmail.com wrote:

 On Fri, May 10, 2013 at 2:04 PM, Eli Bressert ebress...@gmail.com wrote:
  That's a good point regarding the range function names. But, I think
  the issue still stands on the readability of the ptp function.
  Regarding PEP20 it's stated that readability counts.
 
  If you regard what ptp is supposed to replace, array.max() -
  array.min(), the aforementioned follows the PEP20 better as it is more
  readable. If valuerange() is not an acceptable name, maybe span()?

 Sure, it's probably more readable, and that would be the controlling
 factor if this were a new function. But that's not really the
 operative question here. Are the gains in readability worth the
 nontrivial costs of deprecating and removing the old name? I, for one,
 am generally not in favor of such deprecations.


That's not the only option though. I'm -1 on deprecation, but +0 on
renaming and keeping ptp as an alias. The function name is really quite
poor.

Ralf
___
NumPy-Discussion mailing list
NumPy-Discussion@scipy.org
http://mail.scipy.org/mailman/listinfo/numpy-discussion


Re: [Numpy-discussion] printing array in tabular form

2013-05-10 Thread Derek Homeier
On 10.05.2013, at 2:51PM, Daniele Nicolodi dani...@grinta.net wrote:

 If you wish to format numpy arrays preceding them with a variable name,
 the following is a possible solution that gives the same formatting as
 in your example:
 
 import numpy as np
 import sys
 
 def format(out, v, name):
header = {} = .format(name)
out.write(header)
np.savetxt(out, v, fmt=%d, delimiter=, ,
   newline=\n +   * len(header))
out.write(\n)
 
 IL = np.array([range(5), ] * 5)
 format(sys.stdout, IL, IL)

That is a quite ingenuous way to use savetxt functionality to write that extra 
column!

Only two comments:

Don't call that function format, as it would mask the 'format' builtin!

In the present version it will only work with a file handle; to print it a to 
file you would need
to pass it as fformat(open(fname, 'a'), … or check for that case inside the 
function.

Cheers,
Derek
 


___
NumPy-Discussion mailing list
NumPy-Discussion@scipy.org
http://mail.scipy.org/mailman/listinfo/numpy-discussion


Re: [Numpy-discussion] Name change of the ptp() function

2013-05-10 Thread David Cournapeau
On Fri, May 10, 2013 at 2:27 PM, Ralf Gommers ralf.gomm...@gmail.com wrote:



 On Fri, May 10, 2013 at 3:17 PM, Robert Kern robert.k...@gmail.com wrote:

 On Fri, May 10, 2013 at 2:04 PM, Eli Bressert ebress...@gmail.com wrote:
  That's a good point regarding the range function names. But, I think
  the issue still stands on the readability of the ptp function.
  Regarding PEP20 it's stated that readability counts.
 
  If you regard what ptp is supposed to replace, array.max() -
  array.min(), the aforementioned follows the PEP20 better as it is more
  readable. If valuerange() is not an acceptable name, maybe span()?

 Sure, it's probably more readable, and that would be the controlling
 factor if this were a new function. But that's not really the
 operative question here. Are the gains in readability worth the
 nontrivial costs of deprecating and removing the old name? I, for one,
 am generally not in favor of such deprecations.


 That's not the only option though. I'm -1 on deprecation, but +0 on renaming
 and keeping ptp as an alias. The function name is really quite poor.

I think it is a matter of context. I don't know the history of that
function, but coming from a signal processing background, its meaning
was obvious to me. It is a peak to peak is a very common operations
when dealing with audio file, for example (that's how most wave
display work AFAIK).

I am certainly -1 on the deprecation as well, and -0 on alias.

David
___
NumPy-Discussion mailing list
NumPy-Discussion@scipy.org
http://mail.scipy.org/mailman/listinfo/numpy-discussion


Re: [Numpy-discussion] Name change of the ptp() function

2013-05-10 Thread Daπid
On May 10, 2013 3:18 PM, Robert Kern robert.k...@gmail.com wrote:
 Sure, it's probably more readable

I am not sure of it. I would have to check the docs to see what it means.
The mathematical term is range, but it already has a meaning in Python, so
it is not a good way to go, being perhaps valuerange the  compromise,  but
not really clear by itself. In some areas, nevertheless, ptp is the
standard notation, as it is in electronics - and maybe that is why it made
its way into Numeric.
___
NumPy-Discussion mailing list
NumPy-Discussion@scipy.org
http://mail.scipy.org/mailman/listinfo/numpy-discussion


[Numpy-discussion] __array_priority__ don't work for gt, lt, ... operator

2013-05-10 Thread Frédéric Bastien
Hi,

it popped again on the Theano mailing list that this don't work:

np.arange(10) = a_theano_vector.

The reason is that __array_priority__ isn't respected for that class of
operation.

This page explain the problem and give a work around:

http://stackoverflow.com/questions/14619449/how-can-i-override-comparisons-between-numpys-ndarray-and-my-type

The work around is to make a python function that will decide witch version
of the comparator to call and do the call. Then we tell NumPy to use that
function instead of its current function with: np.set_numeric_ops(...)

But if we do that, when we import theano, we will slow down all normal
numpy comparison for the user, as when = is execute, first there will be
numpy c code executed, that will call the python function to decide witch
version to do, then if it is 2 numpy ndarray, it will call again numpy c
code.

That isn't a good solution. We could do the same override in C, but then
theano work the same when there isn't a c++ compiler. That isn't nice.

What do you think of changing them to check for __array_priority__ before
doing the comparison?

Frédéric
___
NumPy-Discussion mailing list
NumPy-Discussion@scipy.org
http://mail.scipy.org/mailman/listinfo/numpy-discussion


Re: [Numpy-discussion] __array_priority__ don't work for gt, lt, ... operator

2013-05-10 Thread Frédéric Bastien
I'm trying to do it, but each time I want to test something, it takes a
long time to rebuild numpy to test it. Is there a way to don't recompile
everything for each test?

thanks

Fred


On Fri, May 10, 2013 at 1:34 PM, Charles R Harris charlesr.har...@gmail.com
 wrote:



 On Fri, May 10, 2013 at 10:08 AM, Frédéric Bastien no...@nouiz.orgwrote:

 Hi,

 it popped again on the Theano mailing list that this don't work:

 np.arange(10) = a_theano_vector.

 The reason is that __array_priority__ isn't respected for that class of
 operation.

 This page explain the problem and give a work around:


 http://stackoverflow.com/questions/14619449/how-can-i-override-comparisons-between-numpys-ndarray-and-my-type

 The work around is to make a python function that will decide witch
 version of the comparator to call and do the call. Then we tell NumPy to
 use that function instead of its current function with:
 np.set_numeric_ops(...)

 But if we do that, when we import theano, we will slow down all normal
 numpy comparison for the user, as when = is execute, first there will be
 numpy c code executed, that will call the python function to decide witch
 version to do, then if it is 2 numpy ndarray, it will call again numpy c
 code.

 That isn't a good solution. We could do the same override in C, but then
 theano work the same when there isn't a c++ compiler. That isn't nice.

 What do you think of changing them to check for __array_priority__ before
 doing the comparison?


 This looks like an oversight and should be fixed.

 Chuck

 ___
 NumPy-Discussion mailing list
 NumPy-Discussion@scipy.org
 http://mail.scipy.org/mailman/listinfo/numpy-discussion


___
NumPy-Discussion mailing list
NumPy-Discussion@scipy.org
http://mail.scipy.org/mailman/listinfo/numpy-discussion


[Numpy-discussion] tests not running

2013-05-10 Thread KACVINSKY Tom
Here is my set up:

Mac OS 10.7.5
Xcode 4.5.1
Intel Fortran 12.1
Python 2.7.3 built from source
Numpy 1.6.2 built from source, using MKL 11.0
nose 0.11.4 installed

I run the numpy tests as documented (python -c 'import numpy; numpy.test()'), 
but get this output:

tkacvins@macomsim python -c 'import numpy; numpy.test()'
Running unit tests for numpy
NumPy version 1.6.2
NumPy is installed in 
/rd/gen/tky/do_not_delete/Python/macpython27/lib/python2.7/site-packages/numpy
Python version 2.7.3 (default, Oct 10 2012, 14:47:52) [GCC 4.2.1 (Based on 
Apple Inc. build 5658) (LLVM build 2336.9.00)]
nose version 0.11.4

--
Ran 0 tests in 0.025s

OK

Any diagnostics or options I can pass to the tests to see what is going on?   
This is rather odd, I thought the tests would run and possibly fail.  I didn't 
expect 0 tests to run.

Thanks,

Tom

This email and any attachments are intended solely for the use of the 
individual or entity to whom it is addressed and may be confidential and/or 
privileged.

If you are not one of the named recipients or have received this email in error,

(i) you should not read, disclose, or copy it,

(ii) please notify sender of your receipt by reply email and delete this email 
and all attachments,

(iii) Dassault Systemes does not accept or assume any liability or 
responsibility for any use of or reliance on this email.

For other languages, go to http://www.3ds.com/terms/email-disclaimer
___
NumPy-Discussion mailing list
NumPy-Discussion@scipy.org
http://mail.scipy.org/mailman/listinfo/numpy-discussion


Re: [Numpy-discussion] __array_priority__ don't work for gt, lt, ... operator

2013-05-10 Thread Sebastian Berg
On Fri, 2013-05-10 at 15:35 -0400, Frédéric Bastien wrote:
 I'm trying to do it, but each time I want to test something, it takes
 a long time to rebuild numpy to test it. Is there a way to don't
 recompile everything for each test?
 
Are you using current master? It defaults to use
ENABLE_SEPARATE_COMPILATION enviroment variable, which, together with
ccache, makes most changes in numpy compile fast for me.

- Sebastian


 thanks
 
 Fred
 
 
 
 On Fri, May 10, 2013 at 1:34 PM, Charles R Harris
 charlesr.har...@gmail.com wrote:
 
 
 On Fri, May 10, 2013 at 10:08 AM, Frédéric Bastien
 no...@nouiz.org wrote:
 Hi,
 
 
 it popped again on the Theano mailing list that this
 don't work:
 
 
 np.arange(10) = a_theano_vector.
 
 
 The reason is that __array_priority__ isn't respected
 for that class of operation.
 
 
 
 This page explain the problem and give a work around:
 
 
 
 http://stackoverflow.com/questions/14619449/how-can-i-override-comparisons-between-numpys-ndarray-and-my-type
 
 
 The work around is to make a python function that will
 decide witch version of the comparator to call and do
 the call. Then we tell NumPy to use that function
 instead of its current function with:
 np.set_numeric_ops(...)
 
 But if we do that, when we import theano, we will slow
 down all normal numpy comparison for the user, as when
 = is execute, first there will be numpy c code
 executed, that will call the python function to decide
 witch version to do, then if it is 2 numpy ndarray, it
 will call again numpy c code.
 
 
 That isn't a good solution. We could do the same
 override in C, but then theano work the same when
 there isn't a c++ compiler. That isn't nice.
 
 
 What do you think of changing them to check for
 __array_priority__ before doing the comparison?
 
 This looks like an oversight and should be fixed.
 
 Chuck 
 
 
 ___
 NumPy-Discussion mailing list
 NumPy-Discussion@scipy.org
 http://mail.scipy.org/mailman/listinfo/numpy-discussion
 
 
 
 ___
 NumPy-Discussion mailing list
 NumPy-Discussion@scipy.org
 http://mail.scipy.org/mailman/listinfo/numpy-discussion


___
NumPy-Discussion mailing list
NumPy-Discussion@scipy.org
http://mail.scipy.org/mailman/listinfo/numpy-discussion


Re: [Numpy-discussion] __array_priority__ don't work for gt, lt, ... operator

2013-05-10 Thread Frédéric Bastien
thanks, I'll look at it.

I made a PR: https://github.com/numpy/numpy/pull/3324

Where should I put the tests about this?

thanks

Fred


On Fri, May 10, 2013 at 4:03 PM, Sebastian Berg
sebast...@sipsolutions.netwrote:

 On Fri, 2013-05-10 at 15:35 -0400, Frédéric Bastien wrote:
  I'm trying to do it, but each time I want to test something, it takes
  a long time to rebuild numpy to test it. Is there a way to don't
  recompile everything for each test?
 
 Are you using current master? It defaults to use
 ENABLE_SEPARATE_COMPILATION enviroment variable, which, together with
 ccache, makes most changes in numpy compile fast for me.

 - Sebastian


  thanks
 
  Fred
 
 
 
  On Fri, May 10, 2013 at 1:34 PM, Charles R Harris
  charlesr.har...@gmail.com wrote:
 
 
  On Fri, May 10, 2013 at 10:08 AM, Frédéric Bastien
  no...@nouiz.org wrote:
  Hi,
 
 
  it popped again on the Theano mailing list that this
  don't work:
 
 
  np.arange(10) = a_theano_vector.
 
 
  The reason is that __array_priority__ isn't respected
  for that class of operation.
 
 
 
  This page explain the problem and give a work around:
 
 
 
 http://stackoverflow.com/questions/14619449/how-can-i-override-comparisons-between-numpys-ndarray-and-my-type
 
 
  The work around is to make a python function that will
  decide witch version of the comparator to call and do
  the call. Then we tell NumPy to use that function
  instead of its current function with:
  np.set_numeric_ops(...)
 
  But if we do that, when we import theano, we will slow
  down all normal numpy comparison for the user, as when
  = is execute, first there will be numpy c code
  executed, that will call the python function to decide
  witch version to do, then if it is 2 numpy ndarray, it
  will call again numpy c code.
 
 
  That isn't a good solution. We could do the same
  override in C, but then theano work the same when
  there isn't a c++ compiler. That isn't nice.
 
 
  What do you think of changing them to check for
  __array_priority__ before doing the comparison?
 
  This looks like an oversight and should be fixed.
 
  Chuck
 
 
  ___
  NumPy-Discussion mailing list
  NumPy-Discussion@scipy.org
  http://mail.scipy.org/mailman/listinfo/numpy-discussion
 
 
 
  ___
  NumPy-Discussion mailing list
  NumPy-Discussion@scipy.org
  http://mail.scipy.org/mailman/listinfo/numpy-discussion


 ___
 NumPy-Discussion mailing list
 NumPy-Discussion@scipy.org
 http://mail.scipy.org/mailman/listinfo/numpy-discussion

___
NumPy-Discussion mailing list
NumPy-Discussion@scipy.org
http://mail.scipy.org/mailman/listinfo/numpy-discussion


Re: [Numpy-discussion] tests not running

2013-05-10 Thread Ralf Gommers
On Fri, May 10, 2013 at 9:41 PM, KACVINSKY Tom tom.kacvin...@3ds.comwrote:

 Here is my set up:

 Mac OS 10.7.5
 Xcode 4.5.1
 Intel Fortran 12.1
 Python 2.7.3 built from source
 Numpy 1.6.2 built from source, using MKL 11.0
 nose 0.11.4 installed

 I run the numpy tests as documented (python -c 'import numpy;
 numpy.test()'), but get this output:

 tkacvins@macomsim python -c 'import numpy; numpy.test()'
 Running unit tests for numpy
 NumPy version 1.6.2
 NumPy is installed in
 /rd/gen/tky/do_not_delete/Python/macpython27/lib/python2.7/site-packages/numpy
 Python version 2.7.3 (default, Oct 10 2012, 14:47:52) [GCC 4.2.1 (Based on
 Apple Inc. build 5658) (LLVM build 2336.9.00)]
 nose version 0.11.4

 --
 Ran 0 tests in 0.025s

 OK

 Any diagnostics or options I can pass to the tests to see what is going
 on?   This is rather odd, I thought the tests would run and possibly fail.
  I didn't expect 0 tests to run.


That's usually due to the executable bit being set on all files during
install (setuptools does this, nose disapproves). Try ``
np.test(extra_argv='--exe')``.

Ralf
___
NumPy-Discussion mailing list
NumPy-Discussion@scipy.org
http://mail.scipy.org/mailman/listinfo/numpy-discussion


[Numpy-discussion] 0-dim arrays inconsistency

2013-05-10 Thread Neal Becker
np.array ((0,0))
Out[10]: array([0, 0])   ok, it's 2 dimensional

In [11]: np.array ((0,0)).shape
Out[11]: (2,)   except, it isn't


___
NumPy-Discussion mailing list
NumPy-Discussion@scipy.org
http://mail.scipy.org/mailman/listinfo/numpy-discussion


Re: [Numpy-discussion] 0-dim arrays inconsistency

2013-05-10 Thread Nathaniel Smith
Hi Neal,

On Fri, May 10, 2013 at 7:36 PM, Neal Becker ndbeck...@gmail.com wrote:
 np.array ((0,0))
 Out[10]: array([0, 0])   ok, it's 2 dimensional

Think you may have confused yourself :-). It's 1 dimensional with 2 elements...

 In [11]: np.array ((0,0)).shape
 Out[11]: (2,)   except, it isn't

...as per above. (Not sure where the 0-dim part comes in.)

-n
___
NumPy-Discussion mailing list
NumPy-Discussion@scipy.org
http://mail.scipy.org/mailman/listinfo/numpy-discussion


Re: [Numpy-discussion] 0-dim arrays inconsistency

2013-05-10 Thread Neal Becker
Neal Becker wrote:

 np.array ((0,0))
 Out[10]: array([0, 0])   ok, it's 2 dimensional
 
 In [11]: np.array ((0,0)).shape
 Out[11]: (2,)   except, it isn't

Sorry for the stupid question - please ignore

___
NumPy-Discussion mailing list
NumPy-Discussion@scipy.org
http://mail.scipy.org/mailman/listinfo/numpy-discussion


[Numpy-discussion] somewhat less stupid problem with 0-d arrays

2013-05-10 Thread Neal Becker
It would be convenient if in arithmetic 0-d arrays were just ignored - it would
seem to me to be convenient in generic code where a degenerate array is treated
as nothing

np.zeros ((0,0)) + np.ones ((2,2))
---
ValueErrorTraceback (most recent call last)
ipython-input-17-27af0e0bbc6f in module()
 1 np.zeros ((0,0)) + np.ones ((2,2))

ValueError: operands could not be broadcast together with shapes (0,0) (2,2)



___
NumPy-Discussion mailing list
NumPy-Discussion@scipy.org
http://mail.scipy.org/mailman/listinfo/numpy-discussion