[SciPy-user] Re: [SciPy-dev] SciPy 0.2 release

Arnd Baecker scipy-user@scipy.net
Tue, 23 Sep 2003 17:17:40 +0200 (CEST)


Hi,

I have the following points concerning the 0.2 release:


- scipy website
  I don't know if you plan to announce 0.2 more widely.
  If so (and actually even indepent of this) I would
  be happy to see the website to be working properly.
  I encountered the following problems:
   - search works, but the resulting links fail
   - error messages when logging in as user
   - wiki ?

- unittest gives the following two errors:
  ERROR: check_chebyc (test_basic.test_chebyc)
  ERROR: check_chebys (test_basic.test_chebys)
  (see below)

- how crucial are the
  #E   Means test is giving error (E)
  #F   Means test is failing (F)
  #EF  Means test is giving error and Failing
  #!   Means test is segfaulting

  in scipy/special/tests/test_basic.py

  Does this mean that there are special functions
  which are know to give wrong results
  (but still a user could call these ?)


- scipy.xplt  (examples under 1.) below)
  - scipy.xplt.pause(1) crashes under windows, see xplt1.py
  - plot (and I think plg as well)
    behaves differently under linux and windows, see xplt2.py
  - it would be nice if one could
      a) change the size
      b) position
    the windows (at least under XWindows ?;-) with
    an optional geometry argument.
    (sorry, this is more of a wishlist feature ...)

- a while ago I proposed a short textual addition
  to the doc-string for scipy.special concerning
  the errprint behaviour.
  Somehow it seems that it did not make
  its way into the CVS ( - actually I don't mind if
  someone tells me that the English is too bad
  for inclusion ... However if it is good enough
  I would be happy to see this included ;-).
  Full text on this: see 2.) below


And: keep on the great work!! Many thanks,

Arnd






1.) examples for scipy.xplt

######### xplt1.py
import scipy.xplt
import Numeric

x=Numeric.arange(0.0,10.0,0.01)
scipy.xplt.window(0)
scipy.xplt.limits(0.0,10.0,0.0,1.0)   # BTW: limits is ignored, when no
                                      # window(0) command is given before
scipy.xplt.hold('on')
for xval in x:
      yval = Numeric.sin(xval/ 4)
      scipy.xplt.plot(xval,yval, 'x')  # under windows this line is the
last
      scipy.xplt.pause(10)             # ... which seems to be exectuded
##################################

######### xplt2.py
import scipy.xplt
from Numeric import *


x1=array([0.0])
y1=array([1.0])


x2=array([0.5,0.5])
y2=array([1.0,1.00])

scipy.xplt.hold('on')
scipy.xplt.window(0,wait=1)
scipy.xplt.limits(-1.5,1.5,-1.5,1.5)

# array1: not shown under linux but under windows
scipy.xplt.plot(x1,y1, marker="x",msize=10,width=20)
# array2: shown both under windows and linux
scipy.xplt.plot(x2,y2, marker="x",msize=10,width=20)

raw_input("<enter>")
##################################


2.) My e-mail from May: concerning errprint

Hi,

alright, here we go with a proposal for some text
which I think would be good at the very end of what you get from
scipy.info(scipy.special)

"""
  Error handling:

     Some of the special function routines print an error message
     when for example an underflow occurs.
     To disable such messages use errprint(0).

     Example:
       print scipy.special.erf(100)
       scipy.special.errprint(0)
       print scipy.special.erf(100)

"""


Actually I think that the description of  errprint
(obtained with help(scipy.special.errprint))
""" errprint({flag}) sets or resets the error printing flag in
cephesmodule
    returning the previous state. If no argument is given the current
state of
    the flag is returned and no change occurs.
"""
might be easier to understand if replaced by
""" errprint({flag}) sets the error printing flag for special functions
    (from the cephesmodule). The output is the previous state.
    With errprint(0) no error messages are shown;
    the default is errprint(1).
    If no argument is given the current state of
    the flag is returned and no change occurs.
"""

Hope this is of some use -
More generally maybe the default behaviour
(at least for scipy.special ?) should be changed
to errprint(0) - but of course
I have no idea about possible side effects ...



3.) The two errors when unit-testing


======================================================================
ERROR: check_chebyc (test_basic.test_chebyc)
----------------------------------------------------------------------
Traceback (most recent call last):
  File
"/home/python/PYTHON/lib/python2.3/site-packages/scipy/special/tests/test_basic.py",
line 214, in check_chebyc
    chebc = chebyc(1)(.2)
  File
"/home/python/PYTHON/lib/python2.3/site-packages/scipy/special/orthogonal.py",
line 398, in chebyc
    p = p * 2.0/p(2)
  File
"/home/python/PYTHON/lib/python2.3/site-packages/scipy_base/polynomial.py",
line 445, in __getattr__
    raise KeyError
KeyError

======================================================================
ERROR: check_chebys (test_basic.test_chebys)
----------------------------------------------------------------------
Traceback (most recent call last):
  File
"/home/python/PYTHON/lib/python2.3/site-packages/scipy/special/tests/test_basic.py",
line 220, in check_chebys
    chebs = chebys(1)(.2)
  File
"/home/python/PYTHON/lib/python2.3/site-packages/scipy/special/orthogonal.py",
line 429, in chebys
    p = p * (n+1.0)/p(2)
  File
"/home/python/PYTHON/lib/python2.3/site-packages/scipy_base/polynomial.py",
line 445, in __getattr__
    raise KeyError
KeyError