[sage-devel] Re: CUDA and Sage

2008-07-22 Thread Carl Witty

On Jul 21, 8:53 pm, Carl Witty [EMAIL PROTECTED] wrote:
 CUDA includes 2 programming languages (a C dialect and a low-level
 assembly language), and a library to load programs into the graphics
 card, send data back and forth, call the programs, etc.  (There's also
 a mode where you write your program in a combination of regular C and
 CUDA's dialect; the CUDA tools compile the CUDA part themselves, pass
 the regular parts to your regular C compiler, and automatically
 construct glue code to tie the two together.)

 Actually, the above is a simplification: CUDA includes 2 separate
 libraries to load programs/exchange data/call the programs, and you
 apparently cannot mix and match.  CUDA includes fast BLAS and FFT
 implementations that run on the GPU; to use these, you must use the
 high-level API, but pycuda is based on the low-level API.
...
 mabshoff doesn't like the idea of recreating pycuda using Cython, but
 I think it's reasonable.  pycuda is actually pretty small (650 lines
 of Python, 1325 lines of C++; the 1325 lines of C++ would probably be
 replaced by a much smaller number of lines of Cython).  Doing the
 rewrite would also give a chance to switch from the low-level to the
 high-level API, which would make it much easier (possible?) to use the
 CUDA BLAS and FFT.

I've been doing some more reading, and using the high-level API is not
as easy as I was guessing.  The problem is that from the high-level
API, there seems to be no documented way to load a .cubin CUDA
object file from disk; instead, the object file must be linked into
the program.  Building a new Python extension for every new CUDA
program probably works (like how %cython works in the notebook), but
it's pretty annoying.

Carl

--~--~-~--~~~---~--~~
To post to this group, send email to sage-devel@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at http://groups.google.com/group/sage-devel
URLs: http://www.sagemath.org
-~--~~~~--~~--~--~---



[sage-devel] Re: printing of QQbar elements

2008-07-22 Thread Carl Witty

On Jul 21, 2:08 pm, Jason Grout [EMAIL PROTECTED] wrote:
 Currently most elements of QQbar are printed in interval notation:

 [-2.0741620076681855 .. -2.0741620076681850] + [1.7722625415877633 ..
 1.7722625415877638]*I

 When dealing with lots of these, or when dealing with matrices and
 vectors of QQbar elements, this quickly becomes overwhelming because of
 the massive amount of almost-the-same numbers, the extra brackets, etc.
   What do people think of printing QQbar elements in a different way
 (thanks to cwitty for suggesting the question mark syntax):

 1. Appending a question mark after the last unquestionable digit an
 interval: -2.074162007668185? + 1.772262541587763?*I

 2. Appending a question mark after the first questionable digit of an
 interval: -2.0741620076681853? + 1.7722625415877636?*I

My actual suggestion was that a question mark could signal that the
previous digit might be wrong by +/- 1.

Using last unquestionable digit or first questionable digit is not
good, because
[0.9 .. 1.1] has no unquestionable digits.

With my proposal, this would be 1.0?, and [-0.001 .. 0.001]
would be 0.000?.

Carl
--~--~-~--~~~---~--~~
To post to this group, send email to sage-devel@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at http://groups.google.com/group/sage-devel
URLs: http://www.sagemath.org
-~--~~~~--~~--~--~---



[sage-devel] Re: The ISSAC Sage Plenary talk

2008-07-22 Thread William Stein

On Tue, Jul 22, 2008 at 8:44 AM, Martin Albrecht
[EMAIL PROTECTED] wrote:

 Hi William,

 just a few nitpicks:

  - Gruppenzugehörigkeit is probably a typical-typo leftover (?)

  - In the three points explaining what Sage is more precisely you write that
 we have new code ... that unifies leaving the impression that all/most of
 our code is just interface stuff, i.e. the new implementations of algorithms
 etc. are not mentioned.

  - In the who is Sage graphic, what do the sizes of the names mean? This is
 probably a question for Harald and not you.

 - Cryptography: Sage ... is that a joke or unfinished? If you want to extend
 the slide on crypto, you could add that we have equation system generators
 for AES in Sage, this is something I get questions about/requests for every
 other week. Also, David Kohel's code could be mentioned.

As I mentioned when I sent out the email the talk is not finished yet.

Can you make a crypto slide with 3-4 lines of examples too?
I'll bug you about this today when I see you.

 - I'd add a slide: Commutative Algebra and mention PolyBoRi, Singular. People
 at ISAAC seem to care about comm. alg. :-) Also, PolyBoRi isn't only for
 crypto.

Yep, it's also for SAT.  Thanks.  I would greatly appreciate slide(s) from
you.

William

--~--~-~--~~~---~--~~
To post to this group, send email to sage-devel@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at http://groups.google.com/group/sage-devel
URLs: http://www.sagemath.org
-~--~~~~--~~--~--~---



[sage-devel] Re: The ISSAC Sage Plenary talk

2008-07-22 Thread Martin Albrecht

Hi William,

just a few nitpicks:

 - Gruppenzugehörigkeit is probably a typical-typo leftover (?)

 - In the three points explaining what Sage is more precisely you write that 
we have new code ... that unifies leaving the impression that all/most of 
our code is just interface stuff, i.e. the new implementations of algorithms 
etc. are not mentioned. 

 - In the who is Sage graphic, what do the sizes of the names mean? This is 
probably a question for Harald and not you.

- Cryptography: Sage ... is that a joke or unfinished? If you want to extend 
the slide on crypto, you could add that we have equation system generators 
for AES in Sage, this is something I get questions about/requests for every 
other week. Also, David Kohel's code could be mentioned.

- I'd add a slide: Commutative Algebra and mention PolyBoRi, Singular. People 
at ISAAC seem to care about comm. alg. :-) Also, PolyBoRi isn't only for 
crypto.

Cheers,
Martin

-- 
name: Martin Albrecht
_pgp: http://pgp.mit.edu:11371/pks/lookup?op=getsearch=0x8EF0DC99
_www: http://www.informatik.uni-bremen.de/~malb
_jab: [EMAIL PROTECTED]


--~--~-~--~~~---~--~~
To post to this group, send email to sage-devel@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at http://groups.google.com/group/sage-devel
URLs: http://www.sagemath.org
-~--~~~~--~~--~--~---



[sage-devel] Re: remove or hide a method?

2008-07-22 Thread Fernando Perez

Hi William,

On Thu, Jul 17, 2008 at 1:32 PM, William Stein [EMAIL PROTECTED] wrote:

 sage: class Foo(object):
 : def trait_names(self):
 : return ['a','b','c','d']
 :
 sage: a = Foo()
 sage: a.
 a.aa.ba.ca.da.trait_names

 As a user, I don't know whether or not I would prefer a customized
 tab completion.

 trait_names doesn't currently allow one to cover up existing names
 from appearing in the tab completion list.  However, I'm certain
 Fernando Perez could make it so IPython could call some function
 like trait_names that would allow one to cover up certain
 attributes.   Fernando -- what do you think?

The trait_names thing noticed above is a coincidence: it's just an
artifact of the fact that ipython happens to hide a bunch of extra
attributes with which the Traits library pollutes all objects  that
inherit from it.  Someone stumbled upon it and thought it was some
kind of tab-completion API :)

But IPython *does* have custom tab completers.  This file contains
examples and pointers for how to write your own:

http://bazaar.launchpad.net/~ipython/ipython/trunk/annotate/1041?file_id=ipy_completers.py-20080216095032-xb0is4a97lmosv2z-148

so it should be possible for the end user to customize completion to
his heart's content.  If the existing API doesn't work for some
specific case, let us know and we'll treat it as a bug.

Regards,

f

--~--~-~--~~~---~--~~
To post to this group, send email to sage-devel@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at http://groups.google.com/group/sage-devel
URLs: http://www.sagemath.org
-~--~~~~--~~--~--~---



[sage-devel] Re: CUDA and Sage

2008-07-22 Thread Francesco Biscani

-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

Hi Michael,

mabshoff wrote:
| Various people have started looking into this, but so far no one has
| produced code. One big issue (at least for me) with pycuda is the
| requirement for boost, but I am not sure how that could be overcome.
| [...]
| The main issue with boost I see is that PolyBoRi ships with a subset
| of boost and installs it into $SAGE_LOCAL/include/boost. I assume that
| it will not be enough of boost, i.e. boost python is not part of it.
| Since PolyBoRi also has an interface to Python using boost Python we
| might be able to add the bits needed to the polybori.spkg, otherwise I
| see potentially huge trouble by colliding boost versions in the tree.
| And shipping boost itself is not really an option due to its rather
| large size.

If the Boost headers are all that is needed (in many cases they are,
since most Boost libraries are header-only), it may be worth to ship
them together with Sage. I just checked and the complete Boost headers
amount to a compressed tarbz2ball of 2.9 MB, so packing them in Sage
should not be a big deal.

With the non-header-only Boost libraries (such as Boost.Python), a
possible approach could be that of modifying the build system of a
package that uses them to compile and link the needed Boost libraries
together with the package's own library. I.e., add the Boost libraries'
.cpp files directly in the project's Makefile.

Another possibility (especially if the use of Boost is widespread among
Sage packages) would be to compile shared library versions of the needed
Boost libraries when building Sage and use them when building the
packages that need them.

Just a couple of thoughts :)

Best regards,

~  Francesco.
-BEGIN PGP SIGNATURE-
Version: GnuPG v2.0.9 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iEYEARECAAYFAkiFltUACgkQFCtI0YdDCEs8DACdG93ZTG4wpyPxXMJMyl5bJqU7
zh0AnRfhIZ+wF+AOOpUVMp/6s8Qi2N6S
=T7jJ
-END PGP SIGNATURE-

--~--~-~--~~~---~--~~
To post to this group, send email to sage-devel@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at http://groups.google.com/group/sage-devel
URLs: http://www.sagemath.org
-~--~~~~--~~--~--~---



[sage-devel] Re: CUDA and Sage

2008-07-22 Thread Thierry Dumont
Francesco Biscani a écrit :

 
 With the non-header-only Boost libraries (such as Boost.Python), a
 possible approach could be that of modifying the build system of a
 package that uses them to compile and link the needed Boost libraries
 together with the package's own library. I.e., add the Boost libraries'
 .cpp files directly in the project's Makefile.
 
 Another possibility (especially if the use of Boost is widespread among
 Sage packages) would be to compile shared library versions of the needed
 Boost libraries when building Sage and use them when building the
 packages that need them.
 


As a Boost user, I just want to say that the Boost installation process
is not standard (not using automake, but Jam) and taht this a very long
task.
Actually, most people use packaged versions (.deb in Debian...) to avoid
compilation, but this seems precisely what Sage do not want to do.

Yours,

t.d.
-- 

Thierry Dumont. Institut Camille Jordan -- Mathematiques--
Univ. Lyon I,43 Bd du 11 Novembre 1918, 69622
 - Villeurbanne Cedex - France.
[EMAIL PROTECTED]  web: http://math.univ-lyon1.fr/~tdumont

begin:vcard
fn:Thierry Dumont
n:Dumont;Thierry
org;quoted-printable:CNRS - Universit=C3=A9 Lyon 1.;Institut Camille Jordan
adr:;;43 Bd du 11 Novembre;Villeurbanne Cedex;F;69621;France
email;internet:[EMAIL PROTECTED]
title;quoted-printable:Ing=C3=A9nieur de Recherche/Research Ingeneer
x-mozilla-html:FALSE
url:http://math.univ-lyon1.fr/~tdumont
version:2.1
end:vcard



smime.p7s
Description: S/MIME Cryptographic Signature


[sage-devel] Re: CUDA and Sage

2008-07-22 Thread mabshoff



On Jul 22, 1:29 am, Thierry Dumont [EMAIL PROTECTED] wrote:
 Francesco Biscani a écrit :



  With the non-header-only Boost libraries (such as Boost.Python), a
  possible approach could be that of modifying the build system of a
  package that uses them to compile and link the needed Boost libraries
  together with the package's own library. I.e., add the Boost libraries'
  .cpp files directly in the project's Makefile.

The solution I imagine is the following: PolyBoRi has a boost::python
interface, but we do not install it since we do not use it. It could
easily be added back. That way we do not have two boost installations
fighting for supremacy. Since PolyBoRi is in Sage and considered very
important Cuda breaking PolyBoRi via its boost requirement is a big no
no and will not happen. But the way suggested above will make both
camps happy. This might happen in the next week, i.e. we would likely
have an optional PyCuda.spkg by Dev1 at SFU.

  Another possibility (especially if the use of Boost is widespread among
  Sage packages) would be to compile shared library versions of the needed
  Boost libraries when building Sage and use them when building the
  packages that need them.

 As a Boost user, I just want to say that the Boost installation process
 is not standard (not using automake, but Jam) and taht this a very long
 task.
 Actually, most people use packaged versions (.deb in Debian...) to avoid
 compilation, but this seems precisely what Sage do not want to do.

Yeah, and many times one needs to use boost CVS in order to work
around bugs in less common OSes like some BSD flavors. So depending on
the system provided boost install is something I would prefer to
avoid.

Re cwitty: I do not mind if you redid the boost::python code in
Cython, I am just saying that I do not have the time to do it myself.
But I would be more than happy if you did it :)

 Yours,

 t.d.

Cheers,

Michael

 --

 Thierry Dumont. Institut Camille Jordan -- Mathematiques--
 Univ. Lyon I,43 Bd du 11 Novembre 1918, 69622
  - Villeurbanne Cedex - France.
 [EMAIL PROTECTED]  web:http://math.univ-lyon1.fr/~tdumont

  tdumont.vcf
 1KDownload

  smime.p7s
 5KDownload
--~--~-~--~~~---~--~~
To post to this group, send email to sage-devel@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at http://groups.google.com/group/sage-devel
URLs: http://www.sagemath.org
-~--~~~~--~~--~--~---



[sage-devel] Re: The ISSAC Sage Plenary talk

2008-07-22 Thread Harald Schilly

On Jul 22, 10:38 am, William Stein [EMAIL PROTECTED] wrote:
 Hi,

 I've posted a new version of my ISSAC talk to ...

hi, here are some ideas that come to my mind...

1. you talk about cython and python. that's ok, but you are only
talking about the solution to a problem without explaining the
problem. I think you should explain, that there is a need to have two
layers. A powerful high level approach (solution: python), to state
algorithms and combine classes of objects and a low level approach to
implement fast, easy to maintain code and library interfaces. The
whole project wouldn't work, if one of them is missing. (i.e. only C++
or only python). I think that's important to explain.

2. combinatorics, point 4. you mention open source packages like
networkX. maybe this is not widely known and you should either explain
it or just say, that you use a very good open source package for
blah - so, more focus on the functionality, not a name that probably
doesn't transport anything to the audience

3. i wouldn't show how to interface with mma. if someone asks, ok, but
not during the talk. at least you have a certain reason to. well, and
you can also bring the PartitionsP speed example  (as a proof of
concept for point 1. above)

4. maybe you have, but also tell the audience, that the documentation
of the code is very important. i.e. students can learn about the inner
workings just as easily as they can write programs in sage (same
language, ...). this strengthens the python language for general
scientific usage and is not specific to sage. there is no dedicated
technical barrier between users and developers.

5. future ... maybe also some general closing words about the
scientific ecosystem of mathematics: by sharing code and
implementations openly, the quality is higher and so on. this is
trivial, but you could say that sage wants to push into that
direction. (at least i think it wants to and this is point where sage
doesn't want to copy the big M*s ;)

h
--~--~-~--~~~---~--~~
To post to this group, send email to sage-devel@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at http://groups.google.com/group/sage-devel
URLs: http://www.sagemath.org
-~--~~~~--~~--~--~---



[sage-devel] Re: Sage 3.0.6.rc0 released

2008-07-22 Thread David Joyner

Installed fine and passed sage -testall on amd64 hardy heron, phenom chip.

On Mon, Jul 21, 2008 at 7:16 PM, mabshoff [EMAIL PROTECTED] wrote:

 Hello folks,

 this is 3.0.6.rc0 which should be the last release before the ISSAC
 2008 special 3.0.6 release for Wednesday. We fixed a bunch of issues
 and were a little less conservative than I though, but what could go
 wrong ;)

 Sources are at

 http://sage.math.washington.edu/home/mabshoff/release-cycles-3.0.6/sage-3.0.6.rc0.tar

 Please report any problem and also success builds.

 Cheers,

 Michael

 Merged in Sage 3.0.6.rc0:

 #10: Gary Furnish, Dan Grayson: update M2 to the 1.1 release [Reviewed
 by Michael Abshoff, Mike Hansen]
 #3345: Mike Hansen, William Stein: trace no longer works in 3.0.2
 [Reviewed by William Stein, Mike Hansen]
 #3669: William Stein: improve multiple_of_order command for torsion
 subgroups of modular abelian varieties [Reviewed by Craig Citro]
 #3671: Michael Abshoff, Clement Pernet: Fix ssmod.py doctest failures
 in Sage 3.0.4 or later [Reviewed by William Stein]
 #3694: Michael Abshoff, Bill Hart: Update FLINT to the 1.0.13 release
 [Reviewed by William Stein]
 #3681: William Stein: modulus() randomly broken for gf2e fields
 [Reviewed by John Cremona, Michael Abshoff]
 #3695: Ondrej Certik, John Cremona: Improve factor documentation
 [Reviewed by William Stein, Martin Albrecht]
 #3696: Michael Abshoff: Fix gmp.spkg build issue on Solaris [Reviewed
 by William Stein]
 #3700: Michael Abshoff: Solaris: Fix ntl build issue [Reviewed by
 William Stein]
 #3701: Michael Abshoff: Solaris: fix polybori build due to bashism
 [Reviewed by William Stein]

 


--~--~-~--~~~---~--~~
To post to this group, send email to sage-devel@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at http://groups.google.com/group/sage-devel
URLs: http://www.sagemath.org
-~--~~~~--~~--~--~---



[sage-devel] periods.cc:593: error: call of overloaded `log(int)' is ambiguous

2008-07-22 Thread karakas

Hello,

upon compiling of sage 3.0.5 I got this error:

##
periods.cc: In member function `void ldash1::init(const level*, const
   std::vectorlong int, std::allocatorlong int , long int, const
   rational)':
periods.cc:593: error: call of overloaded `log(int)' is ambiguous
/usr/include/bits/mathcalls.h:110: error: candidates are: double
log(double)
/usr/include/c++/3.3.5/cmath:419: error: long double
   std::log(long double)
/usr/include/c++/3.3.5/cmath:411: error: float
std::log(float)
periods.cc: In constructor `lfchi::lfchi(const level*, const
newform*)':
periods.cc:635: error: call of overloaded `log(int)' is ambiguous
/usr/include/bits/mathcalls.h:110: error: candidates are: double
log(double)
/usr/include/c++/3.3.5/cmath:419: error: long double
   std::log(long double)
/usr/include/c++/3.3.5/cmath:411: error: float
std::log(float)
periods.cc: In function `NTL::RR G(int, NTL::RR)':
periods.cc:975: error: call of overloaded `log(int)' is ambiguous
/usr/include/bits/mathcalls.h:110: error: candidates are: double
log(double)
/usr/include/c++/3.3.5/cmath:419: error: long double
   std::log(long double)
/usr/include/c++/3.3.5/cmath:411: error: float
std::log(float)
make[3]: *** [periods_n.o] Error 1
make[3]: Leaving directory `/opt/sage-3.0.5/spkg/build/
eclib-20080310.p4/src/g0n'
make[2]: *** [all] Error 2
make[2]: Leaving directory `/opt/sage-3.0.5/spkg/build/
eclib-20080310.p4/src'
Error building cremona

real8m43.572s
user6m51.700s
sys 0m17.700s
sage: An error occurred while installing eclib-20080310.p4
Please email sage-devel http://groups.google.com/group/sage-devel
explaining the problem and send the relevant part of
...
##

This is a Linux 2.4.31 SMP kernel with all bells and whistles.

Any suggestions?

Regards

Chris Karakas
http://www.karakas-online.de

--~--~-~--~~~---~--~~
To post to this group, send email to sage-devel@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at http://groups.google.com/group/sage-devel
URLs: http://www.sagemath.org
-~--~~~~--~~--~--~---



[sage-devel] Re: periods.cc:593: error: call of overloaded `log(int)' is ambiguous

2008-07-22 Thread karakas

Here is part of install.log (I have set  over more or less
sensitive, or boring information):


make[1]: Entering directory `XX/sage-3.0.5/spkg'
base/dir-0.1-install
../data/
../local/
../local/etc
../local/lib
../local/bin
../local/include
../tmp/
XX/spkg/build
installed/
base/prereq-0.3-install
Starting prerequisite check.
Machine: Linux  2.4.31 #11 SMP Sun Jul 10 00:53:34 CEST 2005
i686 i686 i386 GNU/Linux
found make
found perl
found m4
found ranlib
found tar
found gcc
prereq-0.3/
prereq-0.3/.hg/
prereq-0.3/.hg/00changelog.i
prereq-0.3/.hg/dirstate
prereq-0.3/.hg/requires
prereq-0.3/.hg/store/
prereq-0.3/.hg/store/00changelog.i
prereq-0.3/.hg/store/00manifest.i
prereq-0.3/.hg/store/data/
prereq-0.3/.hg/store/data/_makefile.in.i
prereq-0.3/.hg/store/data/autom4te.cache/
prereq-0.3/.hg/store/data/autom4te.cache/output.0.i
prereq-0.3/.hg/store/data/autom4te.cache/requests.i
prereq-0.3/.hg/store/data/autom4te.cache/traces.0.i
prereq-0.3/.hg/store/data/configure.ac.i
prereq-0.3/.hg/store/data/configure.i
prereq-0.3/.hg/store/undo
prereq-0.3/.hg/undo.dirstate
prereq-0.3/configure
prereq-0.3/configure.ac
prereq-0.3/Makefile.in
checking for g++... g++
checking for C++ compiler default output file name... a.out
checking whether the C++ compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables...
checking for suffix of object files... o
checking whether we are using the GNU C++ compiler... yes
checking whether g++ accepts -g... yes
checking for gcc... gcc
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ANSI C... none needed
checking for flex... flex
checking for yywrap in -lfl... yes
checking lex output file root... lex.yy
checking whether yytext is a pointer... yes
checking for bison... bison -y
checking for gcc... yes
checking for make... yes
checking for m4... yes
checking for perl... yes
checking for ranlib... yes
checking for bison... bison
checking for flex... flex
checking whether gcc is new enough... yes
configure: creating ./config.status
config.status: creating Makefile
 All prerequisites appear to be present.
base/bzip2-1.0.4-install 21
Decompressing bzip2
bzip2-1.0.4/
bzip2-1.0.4/libbz2.def
X

bzip2-1.0.4/README.XML.STUFF
make[2]: Entering directory `XX/spkg/build/bzip2-1.0.4'

If compilation produces errors, or a large number of warnings,
please read README.COMPILATION.PROBLEMS -- you might be able to
adjust the flags in this Makefile to improve matters.

Also in README.COMPILATION.PROBLEMS are some hints that may help
if your build produces an executable which is unable to correctly
handle so-called 'large files' -- files of size 2GB or more.

gcc -fPIC -c blocksort.c
gcc -fPIC -c huffman.c
gcc -fPIC -c crctable.c
gcc -fPIC -c randtable.c
gcc -fPIC -c compress.c
gcc -fPIC -c decompress.c
gcc -fPIC -c bzlib.c
rm -f libbz2.a
ar cq libbz2.a blocksort.o huffman.o crctable.o randtable.o compress.o
decompress.o bzlib.o
ranlib libbz2.a
gcc -fPIC -c bzip2.c
gcc -fPIC  -o bzip2 bzip2.o -L. -lbz2
gcc -fPIC -c bzip2recover.c
gcc -fPIC  -o bzip2recover bzip2recover.o

Doing 6 tests (3 compress, 3 uncompress) ...
If there's a problem, things might stop at this point.

./bzip2 -1   sample1.ref  sample1.rb2
./bzip2 -2   sample2.ref  sample2.rb2
./bzip2 -3   sample3.ref  sample3.rb2
./bzip2 -d   sample1.bz2  sample1.tst
./bzip2 -d   sample2.bz2  sample2.tst
./bzip2 -ds  sample3.bz2  sample3.tst
cmp sample1.bz2 sample1.rb2
cmp sample2.bz2 sample2.rb2
cmp sample3.bz2 sample3.rb2
cmp sample1.tst sample1.ref
cmp sample2.tst sample2.ref
cmp sample3.tst sample3.ref

If you got this far and the 'cmp's didn't complain, it looks
like you're in business.

To install in /usr/local/bin, /usr/local/lib, /usr/local/man and
/usr/local/include, type

   make install

To install somewhere else, eg, /xxx/yyy/{bin,lib,man,include}, type

   make install PREFIX=/xxx/yyy

If you are (justifiably) paranoid and want to see what 'make install'
is going to do, you can first do

   make -n install  or
   make -n install PREFIX=/xxx/yyy  respectively.

The -n instructs make to show the commands it would execute, but
not actually execute them.

Instructions for use are in the preformatted manual page, in the file
bzip2.txt.  For more detailed documentation, read the full manual.
It is available in Postscript form (manual.ps), PDF form (manual.pdf),
and HTML form (manual.html).

You can also do bzip2 --help to see some helpful information.
bzip2 -L displays the software license.

XX long install output here 


sage_scripts-3.0.5
Machine:
Linux  2.4.31 #11 SMP Sun Jul 10 00:53:34 CEST 2005 i686 i686
i386 GNU/Linux
Deleting directories from past builds of previous/current versions of
sage_scripts-3.0.5
Extracting package /spkg/standard/sage_scripts-3.0.5.spkg ...
-rw-r--r--1 1003 1003   640433 

[sage-devel] Re: The ISSAC Sage Plenary talk

2008-07-22 Thread Jason Grout

Harald Schilly wrote:
 On Jul 22, 10:38 am, William Stein [EMAIL PROTECTED] wrote:
 Hi,

 I've posted a new version of my ISSAC talk to ...
 
 hi, here are some ideas that come to my mind...
 
 1. you talk about cython and python. that's ok, but you are only
 talking about the solution to a problem without explaining the
 problem. I think you should explain, that there is a need to have two
 layers. A powerful high level approach (solution: python), to state
 algorithms and combine classes of objects and a low level approach to
 implement fast, easy to maintain code and library interfaces. The
 whole project wouldn't work, if one of them is missing. (i.e. only C++
 or only python). I think that's important to explain.
 
 2. combinatorics, point 4. you mention open source packages like
 networkX. maybe this is not widely known and you should either explain
 it or just say, that you use a very good open source package for
 blah - so, more focus on the functionality, not a name that probably
 doesn't transport anything to the audience
 
 3. i wouldn't show how to interface with mma. if someone asks, ok, but
 not during the talk. at least you have a certain reason to. well, and
 you can also bring the PartitionsP speed example  (as a proof of
 concept for point 1. above)
 


You could point out that their licensing agreement seems to make 
accessing mma over http illegal (even if it is secure and you have your 
own personal license), and when we asked for clarification, we got vague 
responses and when asking for more clarification, no response.  I think 
pointing out some of the silly, artificial restrictions in software 
licenses might help the case for open-source software.


 4. maybe you have, but also tell the audience, that the documentation
 of the code is very important. i.e. students can learn about the inner
 workings just as easily as they can write programs in sage (same
 language, ...). this strengthens the python language for general
 scientific usage and is not specific to sage. there is no dedicated
 technical barrier between users and developers.
 
 5. future ... maybe also some general closing words about the
 scientific ecosystem of mathematics: by sharing code and
 implementations openly, the quality is higher and so on. this is
 trivial, but you could say that sage wants to push into that
 direction. (at least i think it wants to and this is point where sage
 doesn't want to copy the big M*s ;)
 
 h
  
 


--~--~-~--~~~---~--~~
To post to this group, send email to sage-devel@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at http://groups.google.com/group/sage-devel
URLs: http://www.sagemath.org
-~--~~~~--~~--~--~---



[sage-devel] Comments on forum 'Free Mathematica-like program'

2008-07-22 Thread Dr. David Kirkby

You might like to see the question on this forum, my reply and now the
reply from the original poster.

http://www.karakas-online.de/forum/viewtopic.php?p=33950#33950

At this moment, and I know these things change, typing free
mathematiica into Google gives this as the #1 page.

Dave
--~--~-~--~~~---~--~~
To post to this group, send email to sage-devel@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at http://groups.google.com/group/sage-devel
URLs: http://www.sagemath.org
-~--~~~~--~~--~--~---



[sage-devel] Some new comments on Free Mathematica-like program on forum

2008-07-22 Thread Dr. David Kirkby

You might like to see the question on this forum from 'mud'

http://www.karakas-online.de/forum/viewtopic.php?p=3395

my reply (on second page) and now a comment from 'Chris Karakas
(chris)

At this moment, (and I know these things change), typing free
mathematica into Google gives this as the #1 page.

Dave
--~--~-~--~~~---~--~~
To post to this group, send email to sage-devel@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at http://groups.google.com/group/sage-devel
URLs: http://www.sagemath.org
-~--~~~~--~~--~--~---



[sage-devel] Re: why sage is useful for me

2008-07-22 Thread Dr. David Kirkby

On Jul 22, 11:17 am, Ondrej Certik [EMAIL PROTECTED] wrote:
 Hi,

 I just wanted to share why Sage is (or will be soon) useful for me.

 1) I have a program that I do for my master thesis, it's some finite
 elements method + electronic structure calculations and my boss gave
 me access to some solaris very fast boxes,

Is that UltraSPARC or x86/x64 (i.e. AMD/Intel) based?

I'd be interested what you have access to.

 So, mabshoff -- Solaris port +1.

Me too wanting that.

 2) There is a nonzero chance I'll be teaching some undergrad calculus
 stuff in a year or two and so I was thinking which programs (if any)
 I'd use and the constrain will probably be windows.

Why should it be windows?

I feel Windows has some advantages over Solaris or Linux for general
office/home use. In particular, you don't need to be as computer savvy
to do certain basic tasks, like install printers.

But I feel Unix/Linux systems are a much better platform for
scientific computing. If you use the principle of best tool for the
job then I doubt Windows can be considered the best tool.

Why encourage people to a system which seems to have dramatically
increased in price in recent years and gets more and more bloated?

When I bought my first PC, the hardware cost just over £2000 ($4000)
and the operating system license was about £50 ($100). Now, the cost
of the OS is a much higher percentage of the total cost.


 So, mabshoff -- Sage windows port +1.

I know he is on to that.

It's obvious that given the large number of windows systems, that it
will increase Sage's popularity more than ports to Solaris, HP-UX or
any other platform ever will. (Personally I'm more keen on Solaris
port, but objectively one would have to say a Windows one would do
more for Sage's popularity. And that is important.)

 So the above are rather side effects of the main Sage's aim, but those
 are things that would make my life much more easier.

I just wish I'd had a decent open-source alternative to Mathematica
when I started my MSc. Unfortunately I've used Mathematica on/off for
the last 17-18 years, so have a lot of time spent using it. I'd rather
not have to inflict that anyone else, so they get locked into a
system. (I think Mathematica is a good system, just too expensive and
proprietary).


--~--~-~--~~~---~--~~
To post to this group, send email to sage-devel@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at http://groups.google.com/group/sage-devel
URLs: http://www.sagemath.org
-~--~~~~--~~--~--~---



[sage-devel] Re: Package management and versioning

2008-07-22 Thread mabshoff

On Jul 21, 6:18 am, [EMAIL PROTECTED] [EMAIL PROTECTED]
wrote:

Hi Vincent,

   Quick and very dirty : 'find . -cmin -5' (files modified less than 5
   minutes ago).

  Not even close :). There are packages that install in less than 10
  seconds.

 That one was a joke, of course. I have used it occasionally for a
 punctual problem, but it's not for packaging.

Ok, you can never be sure around here what people propose :)

  I am not so sure this is worth it. You are basically writing apt/rpm
  for user space. And we like to reuse components if they exist and fit
  the bill :)

 apt/rpm are way too big for my purposes, I am not even sure I want to
 consider dependencies between packages just yet.

Well, my argument is that once you have the system in place sooner or
later someone will suggest and/or implement dependencies and so on.
That does not have to happen obviously, but people are packaging Sage
for distributions where such mechanisms are already in place.

   But once you are there, you might as well keep the snapshot, add the
   package name as one of the file attributes, and bam you have a package
   management system !

  But this is IMHO not KISS - a guiding principle of Sage :). Right now
  a fresh 3.0.6.alpha0 contains about 107235 files in $SAGE_LOCAL when
  following symbolic links. That is a lot of IO and disk seeks to do to
  upgrade for each package.

 Yes ! I totally agree with you, it is completely unacceptable to
 traverse the whole Sage directory at each package installation. Which
 is precisely why we need DESTDIR in every scenario I can think of.
 Once you have that and you keep track of package manifests for
 removal, you do in fact have the bare bones of a package manager.

Ok, I kind of thought that I made the wrong assumption there and that
my argument was slightly idiotic, but it was late and I was tired :)

  One thing that endlessly annoys me about rpm
  for example is its sluggish performance, which is largely rooted in
  its db backend, i.e. berkeley db IIRC. On top of that sqlite's
  performance sucks even worst. And you also introduce another point of
  failure where up to now KISS had provided a nearly perfect solution,
  i.e. any sort of db corruption will break Sage's upgrade system.

 About sluggish performance, I was in the train without a Sage
 installation but I started to play around with pysqlite. Given that
 mathematicians tend to keep on themselves (the extrovert ones are the
 ones that look at _your_ shoes ;-)

:)

 I thought it was a good idea to
 package GNU hello for inclusion in Sage. I built a fake sage directory
 our of random parts, it has around 15k files. Built a sqlite database
 for it, and timed the hello-related commands :

 Extraction of the tarball : approx. 1.3 sec (oldish G4 powerbook,
 unplugged, bare with me ...)
 ./configure : 41 sec (yes, my laptop is old I told you)
 make : 6.4 sec (see above)
 make install : 7.5 sec (same time going to $SAGE_ROOT or to a staging
 directory)
 SPKG.insert : 0.4 sec (moves the files from staging to $STAGE_ROOT and
 updates the database)
 SPKG.remove : 0.4 sec (removes the installed files for hello, updates
 the database)

 So the overhead of the database appears to be minimal. Admittedly my
 directory is too small by an order of magnitude, but still I don't
 expect the overhead to grow out of bounds. I would call a 5% overhead
 at install time within the bounds of reason.

Sure, overhead is one concern, but over-engineering another. One
example (and I know this is not fair to compare your proposal) is the
Windows registry. Sounds like a great idea until you realize that
having config information in text files is much smarter in the long
term. Another example is to stuff everything into XML files since it
is so great and cool, but in the end the vast majority of situations
is much better served by plain flat text files.

So where is the benefit from using a database or even keep a list of
the files? I just don't see it.

   * Updating one spkg often forces the update of another spkg. For
  example updating clisp forces a recompile of Maxima. So you cannot
  just switch between two clisp installs and expect things to work. And
  there are even more complicated dependencies in the default tree.

 As I said, I am not intending to manage package dependencies just yet,
 just removal.

Ok.

   * The Sage library is special and there are loads of subtle
  dependencies. For example 3.0.3 to 3.0.4 upgraded LinBox from 1.1.5 to
  1.1.6.rc0. A seemingly innocent update until you learn that this also
  means that the name of the wrapper library has changed. So running a
  3.0.4 or later Sage library with a linbox-1.1.5 or earlier will cause
  Sage not to even start any more. In some cases it is imaginable that
  Sage does start but will exhibit subtle bugs since we fixed something
  in FOO-1.3.3.p12, but for some reason one user ends up running
  FOO-1.3.3.p11. Happy bug hunting in that case.

 (Then it appears that a 

[sage-devel] Re: periods.cc:593: error: call of overloaded `log(int)' is ambiguous

2008-07-22 Thread mabshoff


On Jul 22, 6:07 am, karakas [EMAIL PROTECTED] wrote:

Hi,

 Here is part of install.log (I have set  over more or less
 sensitive, or boring information):

 GCC Version
 gcc -v
 Reading specs from /usr/lib/gcc-lib/i586-suse-linux/3.3.5/specs
 Configured with: ../configure --enable-threads=posix --prefix=/usr --
 with-local-prefix=/usr/local --infodir=/usr/share/info --mandir=/usr/
 share/man --enable-languages=c,c++,f77,objc,java,ada --disable-
 checking --libdir=/usr/lib --enable-libgcj --with-slibdir=/lib --with-
 system-zlib --enable-shared --enable-__cxa_atexit i586-suse-linux
 Thread model: posix
 gcc version 3.3.5 20050117 (prerelease) (SUSE Linux)

You need at least gcc 3.4 or higher to build Sage since we require
c99. eclib itself does not need c99, but it is not supported to build
the current release with gcc 3.4 or earlier. We do have a gcc check,
but unfortunately that happens right before building FLINT which is
past eclib. The issue is known and in the bug tracker already and I
meant to take care of it, but had not had the time to do so. Sorry,
hopefully in Sage 3.1 this will be fixed so that Sage tells you
immediately that the compiler is not modern enough.

Cheers,

Michael
--~--~-~--~~~---~--~~
To post to this group, send email to sage-devel@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at http://groups.google.com/group/sage-devel
URLs: http://www.sagemath.org
-~--~~~~--~~--~--~---



[sage-devel] Re: Status of Sage for Debian

2008-07-22 Thread mabshoff

On Jul 21, 7:44 pm, Timothy G Abbott [EMAIL PROTECTED] wrote:

Hi Tim,

 I figured I'd give everyone an update on how things are going with the
 Sage packages.  I believe (but am not certain) that all of the Sage
 dependencies that I want to get into Lenny will make it, though I'm still
 waiting on final review for 5 of them that had copyright problems in the
 past.

 On the other hand, Debian is freezing everything starting in around 5 or 6
 days.  So, I need to have a presentable Sage package in the very near
 future.

 There are currently a few showstopper problems:

 1) Sage 3.0.4 or 3.0.5 built with polybori 0.5rc fails to find
 m4ri_build_all_codes and m4ri_destroy_all_codes.  This is discussed in
 http://trac.sagemath.org/sage_trac/ticket/3264.

 Because this results in Sage not starting, I can't run tests against this
 version to find other problems.  So I built Sage against the polybori spkg
 included in Sage (which has license problems that prevent me from using it
 in Debian).

Martin, Michael B. and I talked about this issue and we are confident
we can resolve the problem. The polybori.spkg you linked from the
ticket seems to have some problems, but I will look into them
hopefully tomorrow.

 2) My current version of Sage 3.0.4 built with the 0.3.1 polybori spkg
 included in Sage passes most doctests, though it fails a large number of
 tests ending with a Runtime Error in
 sage/matrix/matrix_integer_dense.pyx (error output below).

 I'm guessing that linbox is totally not working.  If you've seen a problem
 like this before (I'm running the new linbox 1.1.6rc), let me know.

 I would greatly appreciate any help debugging these issues.  I can give
 out ssh access to a test VM with either version of my Debian Sage package
 installed on it if that would make debugging one of these problems easier.
 However, the VM's host is very loaded and thus things are quite slow; thus
 I suspect that (1) will be easier to debug using the patch attached to
 #3264.

Hm, any chance you can get me logged into a box with that problem once
the PolyBoRi issue has been taken care off. It does not ring a bell.

I also wanted to let you know that we had to patch LinBox 1.1.6.rc0
slightly since it produced wrong results form charpoly mod p. You need
to apply a one line patch to fix the issue - see #3671. I do not know
if Clement plans to do an 1.1.6rc1 release of Linbox or not.

         -Tim Abbott

Cheers,

Michael

SNIP

--~--~-~--~~~---~--~~
To post to this group, send email to sage-devel@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at http://groups.google.com/group/sage-devel
URLs: http://www.sagemath.org
-~--~~~~--~~--~--~---



[sage-devel] Re: The ISSAC Sage Plenary talk

2008-07-22 Thread Burcin Erocal

Hi,

On Tue, 22 Jul 2008 08:44:22 +0200
Martin Albrecht [EMAIL PROTECTED] wrote:

  - In the three points explaining what Sage is more precisely you write that 
 we have new code ... that unifies leaving the impression that all/most of 
 our code is just interface stuff, i.e. the new implementations of algorithms 
 etc. are not mentioned. 

I also think this should be emphasized. There are many people who think
Sage is either wrapping functionality that is already there, or
rewriting it to make it faster. It would be good to mention new
algorithms/implementations that are just in Sage. I suppose becoming a
viable alternative to the M's includes becoming a platform for
development of new algorithms.

It might be a good idea to show how Sage cites the papers where
nontrivial algorithms are described in the doc strings as well. I like
this example:

sage: R = GF(2)['x']
sage: p = R.random_element()
sage: p.small_roots??

I think Martin should have added his name to that with an AUTHOR tag.
Maybe a non-cryptography related example would be better, since
there also seems to be a feeling that Sage is mainly about cryptography.

Burcin

--~--~-~--~~~---~--~~
To post to this group, send email to sage-devel@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at http://groups.google.com/group/sage-devel
URLs: http://www.sagemath.org
-~--~~~~--~~--~--~---



[sage-devel] Re: why sage is useful for me

2008-07-22 Thread mabshoff



On Jul 22, 7:33 am, Dr. David Kirkby [EMAIL PROTECTED]
wrote:
 On Jul 22, 11:17 am, Ondrej Certik [EMAIL PROTECTED] wrote:

  Hi,

Hi Ondrej,

  I just wanted to share why Sage is (or will be soon) useful for me.

  1) I have a program that I do for my master thesis, it's some finite
  elements method + electronic structure calculations and my boss gave
  me access to some solaris very fast boxes,

 Is that UltraSPARC or x86/x64 (i.e. AMD/Intel) based?

 I'd be interested what you have access to.

I could relatively painlessly build you a 64 bit self contained gcc,
binutils, shellutils, python, ATLAS, numpy 1.1.1, scipy SVN and hg if
you left me know the CPU target you want. I have to offer Sparc US
IIIi, Core2 Quad SSE or Opteron.

  So, mabshoff -- Solaris port +1.

 Me too wanting that.

3.0.6 contains about five Solaris build fixes, so the list is getting
shorter. We mainly did a stabilization release, so some of the more
risky stuff was left out.

  2) There is a nonzero chance I'll be teaching some undergrad calculus
  stuff in a year or two and so I was thinking which programs (if any)
  I'd use and the constrain will probably be windows.

 Why should it be windows?

 I feel Windows has some advantages over Solaris or Linux for general
 office/home use. In particular, you don't need to be as computer savvy
 to do certain basic tasks, like install printers.

 But I feel Unix/Linux systems are a much better platform for
 scientific computing. If you use the principle of best tool for the
 job then I doubt Windows can be considered the best tool.

 Why encourage people to a system which seems to have dramatically
 increased in price in recent years and gets more and more bloated?

 When I bought my first PC, the hardware cost just over £2000 ($4000)
 and the operating system license was about £50 ($100). Now, the cost
 of the OS is a much higher percentage of the total cost.

Well, there is a vast people using Windows out there either by choice
or because they don't know about alternatives. And Sage can only
benefit from being portable. In the end it is all about bringing
mathematical OS to the people and not convincing them to switch OSes.
They will hopefully learn that Open Source is something good and high
quality, but if other people use Windows I am perfectly fine with it.

  So, mabshoff -- Sage windows port +1.

 I know he is on to that.

 It's obvious that given the large number of windows systems, that it
 will increase Sage's popularity more than ports to Solaris, HP-UX or
 any other platform ever will. (Personally I'm more keen on Solaris
 port, but objectively one would have to say a Windows one would do
 more for Sage's popularity. And that is important.)

  So the above are rather side effects of the main Sage's aim, but those
  are things that would make my life much more easier.

 I just wish I'd had a decent open-source alternative to Mathematica
 when I started my MSc. Unfortunately I've used Mathematica on/off for
 the last 17-18 years, so have a lot of time spent using it. I'd rather
 not have to inflict that anyone else, so they get locked into a
 system. (I think Mathematica is a good system, just too expensive and
 proprietary).

:)

Cheers,

Michael
--~--~-~--~~~---~--~~
To post to this group, send email to sage-devel@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at http://groups.google.com/group/sage-devel
URLs: http://www.sagemath.org
-~--~~~~--~~--~--~---



[sage-devel] Re: periods.cc:593: error: call of overloaded `log(int)' is ambiguous

2008-07-22 Thread mabshoff



On Jul 22, 8:12 am, mabshoff [EMAIL PROTECTED] wrote:
 On Jul 22, 6:07 am, karakas [EMAIL PROTECTED] wrote:

 Hi,

  Here is part of install.log (I have set  over more or less
  sensitive, or boring information):

  GCC Version
  gcc -v
  Reading specs from /usr/lib/gcc-lib/i586-suse-linux/3.3.5/specs
  Configured with: ../configure --enable-threads=posix --prefix=/usr --
  with-local-prefix=/usr/local --infodir=/usr/share/info --mandir=/usr/
  share/man --enable-languages=c,c++,f77,objc,java,ada --disable-
  checking --libdir=/usr/lib --enable-libgcj --with-slibdir=/lib --with-
  system-zlib --enable-shared --enable-__cxa_atexit i586-suse-linux
  Thread model: posix
  gcc version 3.3.5 20050117 (prerelease) (SUSE Linux)

 You need at least gcc 3.4 or higher to build Sage since we require
 c99. eclib itself does not need c99, but it is not supported to build
 the current release with gcc 3.4 or earlier.

Oops, the above should obviously state *gcc 3.3 or earlier*. Sorry for
the mistake and the extra email.

 We do have a gcc check,
 but unfortunately that happens right before building FLINT which is
 past eclib. The issue is known and in the bug tracker already and I
 meant to take care of it, but had not had the time to do so. Sorry,
 hopefully in Sage 3.1 this will be fixed so that Sage tells you
 immediately that the compiler is not modern enough.

 Cheers,

 Michael

Cheers,

Michael
--~--~-~--~~~---~--~~
To post to this group, send email to sage-devel@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at http://groups.google.com/group/sage-devel
URLs: http://www.sagemath.org
-~--~~~~--~~--~--~---



[sage-devel] Re: pari slowness

2008-07-22 Thread David Harvey


On Jun 9, 2008, at 10:36 PM, mabshoff wrote:
 Okay, I can confirm that with sage 3.0.1, sage -gp has the same speed
 as my standalone GP build. So mostly likely the change to GMP 4.2.2
 introduced a speed regression (probably the core 2 patches not being
 applied properly).

 Ok, I will investigate and made this a blocker for 3.0.3: #3388

 As is the gmp.spkg with the Core2 patches and all that fun stuff is a
 giant mess including the OSX fixes made by William :)

 Let's hope MPIR is here sooner than later 

I just noticed that the slowness happens on amd64 as well, so  
probably Gaudry's patches are not being applied properly either.

This is on alhambra (2.6GHz opteron):

--
| SAGE Version 3.0.1, Release Date: 2008-05-05   |
| Type notebook() for the GUI, and license() for information.|
--

sage: x = ZZ.random_element(2^1000)
sage: y = ZZ.random_element(2^1000)
sage: time z = x * y
CPU times: user 0.19 s, sys: 0.02 s, total: 0.21 s
Wall time: 0.21
sage: time z = x * y
CPU times: user 0.19 s, sys: 0.01 s, total: 0.20 s
Wall time: 0.20
sage: time z = x * y
CPU times: user 0.20 s, sys: 0.00 s, total: 0.20 s
Wall time: 0.20



--
| SAGE Version 3.0.2, Release Date: 2008-05-24   |
| Type notebook() for the GUI, and license() for information.|
--

sage: x = ZZ.random_element(2^1000)
sage: y = ZZ.random_element(2^1000)
sage: time z = x * y
CPU times: user 0.41 s, sys: 0.00 s, total: 0.41 s
Wall time: 0.42 s
sage: time z = x * y
CPU times: user 0.41 s, sys: 0.00 s, total: 0.41 s
Wall time: 0.41 s
sage: time z = x * y
CPU times: user 0.41 s, sys: 0.00 s, total: 0.41 s
Wall time: 0.41 s



david


--~--~-~--~~~---~--~~
To post to this group, send email to sage-devel@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at http://groups.google.com/group/sage-devel
URLs: http://www.sagemath.org
-~--~~~~--~~--~--~---



[sage-devel] Re: Sage-3.0.5 Solaris-x86-sse3 binary

2008-07-22 Thread [EMAIL PROTECTED]

Speaking of Matlab, I was able to get version r2008a (most recent
version) working in a linux-2.6 zone using the CentOS 5 distribution.
I then installed RPyC 3.00 RC1 ( http://rpyc.wikispaces.com/ ) in both
the lx zone's copy of sage and in the native solaris sage
installation.  I started up the RPyC server (which could be turned
into a daemon) in the lx zone:

sage: load rpyc_classic_server.sage   # this is one of the server
scripts that came with RPyC, renamed to a .sage file

In the solaris client:
sage: import rpyc
c = rpyc.classic.connect(192.168.5.10) # 192.168.5.10 is the ip of
the linux zone
sage: c.modules.__main__.matlab('3+3')
 6

Though I suppose this has some minimal use on its own as being a way
to call proprietary software not available natively on solaris while
still using native applications from sage (OpenGL visualization comes
to mind), I think a more common benefit would be in having a solaris
zone that is used to house a sage notebook server while not having to
sacrifice the ability to call proprietary software (from a lx zone).

Once I move in to my new apartment and have access to my sever again I
will try it out ... it doesn't look like it will be long before the
solaris port is adequate ;)


On Jul 16, 11:17 am, mabshoff [EMAIL PROTECTED] wrote:
 On Jul 16, 1:33 am, Dr. David Kirkby [EMAIL PROTECTED]
 wrote:

  On 15 Jul, 23:48, mabshoff [EMAIL PROTECTED] wrote:

   On Jul 15, 3:18 pm, Dr. David Kirkby [EMAIL PROTECTED]
According to ls -l, the file is 139557984 bytes long. Here's the
checksum:

 Hi David,



$  digest -v -a md5  sage-3.0.5-sse3-i86pc--SunOS_BETA.tar.gz

md5 (sage-3.0.5-sse3-i86pc-SunOS_BETA.tar.gz) =
5f206b211d29e5c49518de8982ac92bc

   Whatever you downloaded is truncated:

  Yes, I see that. I've got it going now, so it can be downloaded from
  Europe OK, despite the mention of it now (In case you don't know, I'm
  in the UK).

  $  ./sage
  --
  | SAGE Version 3.0.5, Release Date: 2008-07-11                       |
  | Type notebook() for the GUI, and license() for information.        |
  --
  The SAGE install tree may have moved.
  Regenerating Python.pyo and .pyc files that hardcode the install PATH
  (please wait at most a few minutes)...
  Please do not interrupt this.
  Setting permissions of DOT_SAGE directory so only you can read and
  write it.

 Ok, so far so good.

  sage: notebook()
  The notebook files are stored in: /export/home/drkirkby/.sage//
  sage_notebook

  There does not appear to be anything acting as a server on port 8000,
  but I know you said there were bugs onSolaris, so I guess the GUI is
  one of them.

 Yes, it is a known issue to me. The notebook just sits there waiting
 for entropy. I suspect this has to do with RAND_MAX onSolarisbeing
 2^15-1 instead of 2^31-1. We had a similar bug in the randgen
 framework which caused ZZ.random_element() to take between 3 and 8
 seconds of CPU time to return 0 with probablity 1. On sage.math things
 are a little quicker:

 sage: %timeit ZZ.random_element()
 100 loops, best of 3: 519 ns per loop
 sage:

 So those order of magnitudes are screwing us at the moment.

Since I have had half a dozen beers tonight, that might possibly be
the issues, but I doubt it. I'll try to download again.

   Mothers against drunk downloading anyone? ;)

  Yeah, it needs it.

 :)

I would be interested in a SPARC version. The machine I have is a
Blade 2000, 2 x 1.2 GHz, 8 GB RAM. That hasSolaris10, update 4
(August 2007).

   That should be doable, the problem right now is that clisp on Sparc is

  OK, well let us know when the SPARC looks more hopeful.

 The ecls switch is very high up on my priority list since it is always
 very needed for Sage on native Windows.



Like Vincent, I believe there would be interest fromSolarisusers who
do not subscribe here, but I  think it would be premature to advertise
a binary inSolarisnewsgroups. Obvious places would be
comp.unix,solaris, alt.solaris.x86 and a couple of the OpenSolaris
forums. I know there have been several Mathematica discussions on the
   Solarisforums.

   Sure, this is way too early. I would want to do that once Sage builds
   actually pass doctest at least on theSolarisboxen I have access to,
   not any time before that.

  Though you should weigh that against the fact that there are some real
  Sun experts on these places, that are good at debuggingSolaris
  problems. It seems to me that might be what is needed now. Clearly you
  don't want mathmaticians whose universities give them Sun boxes to
  debug it, but Sun employees, or other Sun experts who have some
  interest in maths software might be persuaded to look at the
  problems.

 I have no such problem letting anyone debug Sage onSolaris, but the
 time has not come yet since right now I need to 

[sage-devel] Re: periods.cc:593: error: call of overloaded `log(int)' is ambiguous

2008-07-22 Thread karakas

Thank you very much for the clear and fast answer. Since upgrading gcc
will probably mean an upgrading of glibc too, which will mean a
recompilation/upgrade of the whole system, I guess it is better to
postpone compilation until I finish my migration from SuSE to Gentoo
(which is going to take a *long* time anyway the way things move
(read: technology: fast, me: slow :-))).


--~--~-~--~~~---~--~~
To post to this group, send email to sage-devel@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at http://groups.google.com/group/sage-devel
URLs: http://www.sagemath.org
-~--~~~~--~~--~--~---



[sage-devel] Re: why sage is useful for me

2008-07-22 Thread Dr. David Kirkby



On Jul 22, 4:44 pm, mabshoff [EMAIL PROTECTED] wrote:

 Well, there is a vast people using Windows out there either by choice
 or because they don't know about alternatives.

True, but I suspect the first year students under discussion should be
aware of other systems such as Linux. They would have the choice to
use Linux if they wanted. I can't believe it would be hard to find a
Linux box in a university now if you wanted to use one. Even easier to
install it on their own PC.

 And Sage can only
 benefit from being portable.

Agreed - a Windows port is essential. More so than Solaris.

 In the end it is all about bringing
 mathematical OS to the people and not convincing them to switch OSes.

I do not agree with you there!

If Linux is a more suitable platform for scientific computing than
Windows, it would be wise to encourage first year students to use
Linux for scientific computing. Unlike staff working for most large
corporations, students will not be tied to rigid corporate policies.
They can install software on their own personal machines.

I've spent the last couple of weeks doing scientific computing and I
believe it would have been considerably more difficult under Windows
than it was under Solaris.

I've also spent a few days writing a scientific report under Solaris.
I'm the first to admit, that would have been no more difficult, and
perhaps even sligthly easier under Windows, especially as I had to use
files Visio format files sent to me. I had to get a colleague to put
them in a usable format. He could not use postscript (why I will never
no), so I had to make do with PDF. Not ideal. But it would have been
easier for me to just use Windows for that part of it.

So I'm not proposing a blanket convince everyone to use Linux and
scrap Windows, but I do believe if Linux/Unix is a better platform
for scientific computing, then it is wise to encourage first year
student to use Linux/Unix.

 They will hopefully learn that Open Source is something good and high
 quality, but if other people use Windows I am perfectly fine with it.

I'm happy with it, but feel its unwise to enough it use for scientific
computing to a group of individuals who have no compelling reasons
(ie. corporate policy) to use Windows for scientific computing.

 Michael

Dave
--~--~-~--~~~---~--~~
To post to this group, send email to sage-devel@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at http://groups.google.com/group/sage-devel
URLs: http://www.sagemath.org
-~--~~~~--~~--~--~---



[sage-devel] Re: pari slowness

2008-07-22 Thread David Harvey

On Jul 22, 2008, at 12:35 PM, David Harvey wrote:


 Okay, I can confirm that with sage 3.0.1, sage -gp has the same  
 speed
 as my standalone GP build. So mostly likely the change to GMP 4.2.2
 introduced a speed regression (probably the core 2 patches not being
 applied properly).

 Ok, I will investigate and made this a blocker for 3.0.3: #3388

 As is the gmp.spkg with the Core2 patches and all that fun stuff is a
 giant mess including the OSX fixes made by William :)

 Let's hope MPIR is here sooner than later 

 I just noticed that the slowness happens on amd64 as well, so
 probably Gaudry's patches are not being applied properly either.

This seems to have been fixed already in 3.0.5. Sorry for the noise.

david


--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
sage-devel group.
To post to this group, send email to sage-devel@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/sage-devel?hl=en
-~--~~~~--~~--~--~---



[sage-devel] Re: why sage is useful for me

2008-07-22 Thread root

  Well, there is a vast people using Windows out there either by choice
  or because they don't know about alternatives.

 True, but I suspect the first year students under discussion should be
 aware of other systems such as Linux. They would have the choice to
 use Linux if they wanted. I can't believe it would be hard to find a
 Linux box in a university now if you wanted to use one. Even easier to
 install it on their own PC.

Just as a data point: While I was at City College in New York I
started a project called Doyen to make a Live CD as a computer 
algebra platform. I advertised in the computer science department
for 2 students with a knowledge of Linux for a paid position.
Ten students showed up for interviews, all of them were computer
science majors and most of them were seniors. Eight of the ten
had not heard of Linux.

This was 4 years ago. Things might have changed. Your school may vary.

Tim



--~--~-~--~~~---~--~~
To post to this group, send email to sage-devel@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at http://groups.google.com/group/sage-devel
URLs: http://www.sagemath.org
-~--~~~~--~~--~--~---



[sage-devel] Re: Status of Sage for Debian

2008-07-22 Thread Timothy G Abbott
On Tue, 22 Jul 2008, mabshoff wrote:


 On Jul 21, 7:44 pm, Timothy G Abbott [EMAIL PROTECTED] wrote:
 1) Sage 3.0.4 or 3.0.5 built with polybori 0.5rc fails to find
 m4ri_build_all_codes and m4ri_destroy_all_codes.  This is discussed in
 http://trac.sagemath.org/sage_trac/ticket/3264.

 Because this results in Sage not starting, I can't run tests against this
 version to find other problems.  So I built Sage against the polybori spkg
 included in Sage (which has license problems that prevent me from using it
 in Debian).

 Martin, Michael B. and I talked about this issue and we are confident
 we can resolve the problem. The polybori.spkg you linked from the
 ticket seems to have some problems, but I will look into them
 hopefully tomorrow.

Thanks to that effort, the polybori 0.5 problem seems to be solved.

 2) My current version of Sage 3.0.4 built with the 0.3.1 polybori spkg
 included in Sage passes most doctests, though it fails a large number of
 tests ending with a Runtime Error in
 sage/matrix/matrix_integer_dense.pyx (error output below).

 I'm guessing that linbox is totally not working.  If you've seen a problem
 like this before (I'm running the new linbox 1.1.6rc), let me know.

 I would greatly appreciate any help debugging these issues.  I can give
 out ssh access to a test VM with either version of my Debian Sage package
 installed on it if that would make debugging one of these problems easier.
 However, the VM's host is very loaded and thus things are quite slow; thus
 I suspect that (1) will be easier to debug using the patch attached to
 #3264.

 Hm, any chance you can get me logged into a box with that problem once
 the PolyBoRi issue has been taken care off. It does not ring a bell.

Sure.  I'll send you a separate email with relevant instructions.

 I also wanted to let you know that we had to patch LinBox 1.1.6.rc0
 slightly since it produced wrong results form charpoly mod p. You need
 to apply a one line patch to fix the issue - see #3671. I do not know
 if Clement plans to do an 1.1.6rc1 release of Linbox or not.

There seems to be one additional nasty problem: When one runs sage on 
the command line, it just displays the banner and immediately quits.  (I 
was seeing this on the version with the old polybori as well, but was 
hoping it would disappear).

Oddly, doctests work normally and, I can run sage -sh and then run 
python and import Sage libraries and run tests and it all works.  So, 
something is weird here.  I dug into the various sage scripts to see where 
control was ending, and found that it seemed to be making it into the 
sage.mainloop line of sage-ipython.

$ sage
--
| SAGE Version 3.0.5, Release Date: 2008-07-11   |
| Type notebook() for the GUI, and license() for information.|
--

$

-Tim Abbott


--~--~-~--~~~---~--~~
To post to this group, send email to sage-devel@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at http://groups.google.com/group/sage-devel
URLs: http://www.sagemath.org
-~--~~~~--~~--~--~---



[sage-devel] Re: pari slowness

2008-07-22 Thread mabshoff



On Jul 22, 11:48 am, David Harvey [EMAIL PROTECTED] wrote:
 On Jul 22, 2008, at 12:35 PM, David Harvey wrote:
SNIP

 This seems to have been fixed already in 3.0.5. Sorry for the noise.

 david

Hi David,

we reverted to the old gmp 4.2.1 spkg in 3.0.5 since the only reason
to upgrade was to better support Cygwin and OSX 64 bit. Since both of
those platforms are not ready for prime time we decided it would be
the more prudent way to go. Obviously we want eMPIRe in Sage ASAP and
I need to do my share to make this happen, so please remind me
often :)

Cheers,

Michael
--~--~-~--~~~---~--~~
To post to this group, send email to sage-devel@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at http://groups.google.com/group/sage-devel
URLs: http://www.sagemath.org
-~--~~~~--~~--~--~---



[sage-devel] Re: CUDA and Sage

2008-07-22 Thread mabshoff

On Jul 22, 2:55 pm, Simon Beaumont [EMAIL PROTECTED] wrote:

Hi Simon,

 I decided to have a play with the pycuda-0.90.2 kit for which I needed
 boost_1_35_0

Mhh, is 1.35.0 mandatory? We might have to upgrade boost in PolyBoRi
then.

 - the main caveat is to make sure boost is using the sage
 python include, lib and executable rather than any system installed
 python. Similarly configure pycuda. My sage server runs as user sage -
 so I had to run the x server under sage. (I am looking into how to get
 the nvidia drivers loaded without x).

Ok, please let us know what you find out.

 Upshot is low level api works like a charm from sage notebook (sage
 3.0.4 built under gentoo on amd64 h/w). Since I don't need the full
 BLAS library and I have some optimal kernels that do sgemm better than
 the library version then I might have a play with this for a while and
 see what I run into.

Yeah, even sgemm could be useful and it would be nice if you could get
some numbers of sgemm on the CPU vs. the GPU. Once the IEEE conform
hardware is out things will become a lot more interesting.

 Cheers,

 Simon

Cheers,

Michael
--~--~-~--~~~---~--~~
To post to this group, send email to sage-devel@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at http://groups.google.com/group/sage-devel
URLs: http://www.sagemath.org
-~--~~~~--~~--~--~---



[sage-devel] Re: Sage-3.0.5 Solaris-x86-sse3 binary

2008-07-22 Thread mabshoff

On Jul 22, 10:17 am, [EMAIL PROTECTED]
[EMAIL PROTECTED] wrote:

Hi Brandon

 Speaking of Matlab, I was able to get version r2008a (most recent
 version) working in a linux-2.6 zone using the CentOS 5 distribution.
 I then installed RPyC 3.00 RC1 (http://rpyc.wikispaces.com/)

Interesting, I had never heard of RPyC, but it will likely be of some
interest to some of the people around here.

 in both
 the lx zone's copy of sage and in the native solaris sage
 installation.  I started up the RPyC server (which could be turned
 into a daemon) in the lx zone:

 sage: load rpyc_classic_server.sage   # this is one of the server
 scripts that came with RPyC, renamed to a .sage file

 In the solaris client:
 sage: import rpyc
 c = rpyc.classic.connect(192.168.5.10) # 192.168.5.10 is the ip of
 the linux zone
 sage: c.modules.__main__.matlab('3+3')
      6

Cool. There is also some code IIRC that let's you use ssh to open a
tunnel to another box to execute commands in some supported
application there. It has been a while, but I believe they also used
Matlab.

 Though I suppose this has some minimal use on its own as being a way
 to call proprietary software not available natively on solaris while
 still using native applications from sage (OpenGL visualization comes
 to mind), I think a more common benefit would be in having a solaris
 zone that is used to house a sage notebook server while not having to
 sacrifice the ability to call proprietary software (from a lx zone).

I am very interested in providing a Solaris Zone with Sage since
isolating the notebook into its own little corner of the system is an
excellent idea. If you have some expertise in that area I would be
glad if you could help out there.

 Once I move in to my new apartment and have access to my sever again I
 will try it out ... it doesn't look like it will be long before the
 solaris port is adequate ;)

Yeah, I am really hoping that William and I will sit down this
Thursday and/or Friday and spend some time nailing down some of those
pesky Solaris bugs. It looks like we now have a solution to a sympow
problem, so hopefully another bug just bit the dust.

Cheers,

Michael

--~--~-~--~~~---~--~~
To post to this group, send email to sage-devel@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at http://groups.google.com/group/sage-devel
URLs: http://www.sagemath.org
-~--~~~~--~~--~--~---



[sage-devel] Re: CUDA and Sage

2008-07-22 Thread Simon Beaumont

I decided to have a play with the pycuda-0.90.2 kit for which I needed
boost_1_35_0 - the main caveat is to make sure boost is using the sage
python include, lib and executable rather than any system installed
python. Similarly configure pycuda. My sage server runs as user sage -
so I had to run the x server under sage. (I am looking into how to get
the nvidia drivers loaded without x).

Upshot is low level api works like a charm from sage notebook (sage
3.0.4 built under gentoo on amd64 h/w). Since I don't need the full
BLAS library and I have some optimal kernels that do sgemm better than
the library version then I might have a play with this for a while and
see what I run into.

Cheers,

Simon

--~--~-~--~~~---~--~~
To post to this group, send email to sage-devel@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at http://groups.google.com/group/sage-devel
URLs: http://www.sagemath.org
-~--~~~~--~~--~--~---



[sage-devel] Re: CUDA and Sage

2008-07-22 Thread Simon Beaumont



On Jul 22, 11:18 pm, mabshoff [EMAIL PROTECTED] wrote:
 On Jul 22, 2:55 pm, Simon Beaumont [EMAIL PROTECTED] wrote:

 Hi Simon,

  I decided to have a play with the pycuda-0.90.2 kit for which I needed
  boost_1_35_0

 Mhh, is 1.35.0 mandatory? We might have to upgrade boost in PolyBoRi
 then.

From the pycuda docs this would appear to be the case:

...You may already have a working copy of the Boost C++ libraries. If
so, make sure that it’s version 1.35.0 or newer...


 Ok, please let us know what you find out.

I'll keep this topic posted.

 Yeah, even sgemm could be useful and it would be nice if you could get
 some numbers of sgemm on the CPU vs. the GPU. Once the IEEE conform
 hardware is out things will become a lot more interesting.

I'm digging out the custom kernel now - so I should get something very
soon.

(I did integrate the CUDA BLAS library sgemm into mathematica ealier
this year - so I have some numbers on that also of course mathematica
suffers badly from the mlink serialisation)

Cheers,

Simon

--~--~-~--~~~---~--~~
To post to this group, send email to sage-devel@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at http://groups.google.com/group/sage-devel
URLs: http://www.sagemath.org
-~--~~~~--~~--~--~---