Re: [sage-devel] Re: search_methods() to search the methods of an object

2010-10-19 Thread Dan Drake
On Tue, 19 Oct 2010 at 09:43PM -0700, Nick Alexander wrote:
> If you used emacs sage-mode, tab complete would bring up a buffer of
> completions for X., which you could then interactively search
> (and regexp search), or run M-x occur to find all occurences, etc. In
> my opinion, this is more flexible and powerful.

I do use sage-mode, though not in any sort of power-user way. For some
reason, switching to the completion buffer and searching there usually
strikes me as a bit bothersome -- I have to C-x o over to the buffer, do
the search, blah blah -- but you're right, it is a flexible and powerful
way to work. Looks like I need to learn me some more emacs...

> In my haste to plug sage-mode, I forgot this:
> 
> sage: X.*foo*?
> ...
> all methods that match 'foo'.
> 
> Only in IPython (and therefore sage-mode), of course. 

Now that you mention it, I have seen people mention this before, and it
does exactly what I want. So forget about my "search_methods" business.
I need to learn more IPython too...

Dan

--
---  Dan Drake
-  http://mathsci.kaist.ac.kr/~drake
---


signature.asc
Description: Digital signature


[sage-devel] Re: Wolfram Alpha low bandwidth portal into Sage to attract new users?

2010-10-19 Thread Dan Drake
On Tue, 19 Oct 2010 09:09 -0700 kcrisman wrote:
> Maybe it's time to relieve the strain on sagenb by publicizing more of
> the other 'semi-secret' servers like David mentions. But that would be
> up to the people in charge of them.

The two servers running at http://sagenb.kaist.ac.kr/ are usually pretty idle:

dr...@sagenb:~$ w
 13:47:13 up 41 days,  5:28,  2 users,  load average: 0.22, 0.12, 0.09

That's an 8-core machine, and I would be happy to report to my
department head that it's used often. If anyone would like a bunch of
accounts, let me know.

Dan

--
---  Dan Drake
-  http://mathsci.kaist.ac.kr/~drake
---


signature.asc
Description: Digital signature


[sage-devel] Re: search_methods() to search the methods of an object

2010-10-19 Thread Nick Alexander
> How about a function, somewhat like search_doc, search_def, and friends,
> that accepts an object and a string, and returns methods that match that
> string? Would you find that useful?

In my haste to plug sage-mode, I forgot this:

sage: X.*foo*?
...
all methods that match 'foo'.

Only in IPython (and therefore sage-mode), of course.

Nick

-- 
To post to this group, send an email to sage-devel@googlegroups.com
To unsubscribe from this group, send an email to 
sage-devel+unsubscr...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/sage-devel
URL: http://www.sagemath.org


[sage-devel] Re: search_methods() to search the methods of an object

2010-10-19 Thread Nick Alexander
> How about a function, somewhat like search_doc, search_def, and friends,
> that accepts an object and a string, and returns methods that match that
> string? Would you find that useful?

I think this is a good idea, but can't resist...

> Often, I find myself doing
>
> X.a  (look through "a" methods...)
> X.b  (look through "b" methods...)
>
> and so on, through the alphabet. This is annoying. I don't like things
> that are annoying.

If you used emacs sage-mode, tab complete would bring up a buffer of
completions for X., which you could then interactively search
(and regexp search), or run M-x occur to find all occurences, etc.  In
my opinion, this is more flexible and powerful.

Nick

-- 
To post to this group, send an email to sage-devel@googlegroups.com
To unsubscribe from this group, send an email to 
sage-devel+unsubscr...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/sage-devel
URL: http://www.sagemath.org


[sage-devel] search_methods() to search the methods of an object

2010-10-19 Thread Dan Drake
Here's something that happens to me: I have an object X that has a *lot* of
methods -- matrices and graphs, often -- and I'm wondering if X has a
certain method. Often, I find myself doing

X.a  (look through "a" methods...)
X.b  (look through "b" methods...)

and so on, through the alphabet. This is annoying. I don't like things
that are annoying.

How about a function, somewhat like search_doc, search_def, and friends,
that accepts an object and a string, and returns methods that match that
string? Would you find that useful?

Here's what I just wrote. Try dropping this into sage/misc/sagedoc.py,
and adding search_methods to all.py in that directory:

def search_methods(x, s):
r"""
Given an object x and a string s, this returns a list of methods of
x that contain s. A better version of this would have an option to
include or exclude methods that begin with an underscore, do proper
regexps, etc.
"""
return [m for m in dir(x) if s in m]

Then you get:

sage: m = matrix(2, [1,2,3,4])
sage: search_methods(m, 'kernel')
['_decomposition_using_kernels', '_kernel_matrix_using_padic_algorithm', 
'_kernel_matrix_using_pari', '_rational_kernel_iml', '_right_kernel_matrix', 
'_right_kernel_trivial', 'integer_kernel', 'kernel', 'kernel_matrix', 
'kernel_on', 'left_kernel', 'right_kernel']
sage: g = graphs.PetersenGraph()
sage: search_methods(g, 'loop')
['allow_loops', 'allows_loops', 'has_loops', 'loop_edges', 'loop_vertices', 
'loops', 'number_of_loops', 'remove_loops']

Thoughts? Should I open a ticket for this?

Dan

--
---  Dan Drake
-  http://mathsci.kaist.ac.kr/~drake
---


signature.asc
Description: Digital signature


Re: [sage-devel] Re: bug wranglers

2010-10-19 Thread Dr. David Kirkby

On 10/19/10 05:06 PM, kcrisman wrote:



I was not suggesting anyone spend 10,000 hours studying the subject of
software engeering. I'm not suggesting people need to be experts. But
perhaps spending 20-50 hours on it is not unreasonable. I don't know
about you, but I've probably devoted 1000 hours to working on Sage, so
20-50 is a small percentage. I think 20-50 hours would be for you
too.


It's not clear to me that without a specific time and place to do so,
that it would be particularly effective to spend 20-50 hours reading
books about this.


I don't have much experience to say whether you are right or wrong. I do *not* 
have a software background. I have never done any sort of computer science degree.


However, I had had to write code which others will use, and it became clear to 
me that on a large project one needs to do a bit more than just writing the 
code. Based on my experience, I feel that 20-50 hours reading about what are 
good software engineering practices would be useful. Those are just as relevant 
if you code in C, assembler, Python or foobar.



Software seems to be one of those things that is
hard to really learn how to do without actually doing it.


My main point was not about the code one writes.

Clearly if you write in Python you should know about Python, but that's another 
matter altogether. I tend to agree that one of of the best ways to learn a 
language, is to use it.


Things that I believe would be good for Sage, and one could get some useful 
understanding in 20-50 hours from a software engineering book would be:


* An understanding of how software projects should be managed. This is 
especially so for William of course, but in general I think that's useful to 
know for all of us. To a certain extent, some trac tickets have to be "managed".


* An understanding of why bugs should be fixed as early as possible.

* Understanding the different sorts of tests that software developers use - 
black box testing, white box testing etc.


* Automated testing tools.

* Understanding ways to estimate the quality of code. At the moment there is no 
analysis of defect rates in Sage.


* The life-cycle of software. Analysis -> Design -> Code -> Test -> Maintenence. 
This applies to Sage as a whole, but also to individual parts of Sage.


* An understanding of why software wears out. What can we do to reduce the rate 
of wearout?



 10-20
hours spent trying to do some Sage development, but with a couple
quality software engineers looking over your shoulder the whole time,
might do it.


That's an entirely different thing - I'm not talking about that. Any course on 
software engineering is not likely to have you writing code with someone looking 
over your shoulder.



The idea of having one piece of a Sage days devoted to
people sharing ideas from books they read in a coordinated way sounds
plausible as well, though probably it would really depend on the Sage
days in question.


That would sound good. If each person read a chapter of a book on a topic, and 
gave a short talk to everyone else, it should at least make people aware of the 
other issues.


I bought this book

http://www.amazon.com/Software-Engineering-9th-Ian-Sommerville/dp/0137035152/ref=sr_1_1?ie=UTF8&qid=1287529714&sr=8-1

though I'm not over-impressed with it.

Despite some pretty poor reviews on Amazon, I find an old (3rd edition) of this 
book

http://www.amazon.com/Software-Engineering-Practitioners-Roger-Pressman/dp/0073375977/ref=sr_1_4?ie=UTF8&qid=1287529714&sr=8-4

to be very useful.

You can pick up a used copy of the 6th edition (2004) for less than $2 on 
Amazon.



To be sure, this is a design decision of sorts, and one at odds with
your books, perhaps.  But unless we also can operate under the
implicit assumptions of them (which probably include things like
actual employers, or perhaps a pool of developers who all have similar
skill sets - neither of which is the case here, in a project which is
monstrously diverse in terms of skill needs and obviously very non-
hierarchical), I don't see how it's feasible to implement your ideas
on this, other than the reminders of good practice you give in public
fora such as this and on Trac tickets.  Which I think that is having a
positive impact, incidentally!

:)

- kcrisman


The fact people have different skill sets, the fact we are not employed, the 
fact there is essentially non-hierarchical, does not really change things too 
much. Some aspects obviously do, as you can't demand people do what you want 
when you don't pay them. But hopefully people more people would do things better 
if they were aware of good practices.


Dave

--
To post to this group, send an email to sage-devel@googlegroups.com
To unsubscribe from this group, send an email to 
sage-devel+unsubscr...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/sage-devel
URL: http://www.sagemath.org


[sage-devel] Re: organized ticket reports page

2010-10-19 Thread kcrisman
Nice!  Unfortunately the top link for "View Tickets" doesn't point
there, although the "View Ticket Lists" one in the main page does.
Can there be a "My Tickets (active, by component)" one as well?
Hopefully this will help the Trac become more organized.

Maybe there could also be a "New Tickets (last week) (last month)" as
well, apropos of the Bug Squashers Team thread on sage-devel.

Totally on another topic, but related, is anyone (Harald?  David J.?)
going to figure out what to do with the web interface to the Google
groups now that they're "retiring" the welcome messages? Those were
very useful for people wanting to click through to the other lists, as
well as wanting to know what a particular list was about.  We may need
to put more details about their purposes on the regular Sage page that
sends people to them.

- kcrisman

On Oct 19, 7:38 pm, Jason Grout  wrote:
> I made a page that lists the ticket reports in a more organized fashion:
>
> http://trac.sagemath.org/sage_trac/wiki/TicketReports
>
> Enjoy!
>
> Jason

-- 
To post to this group, send an email to sage-devel@googlegroups.com
To unsubscribe from this group, send an email to 
sage-devel+unsubscr...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/sage-devel
URL: http://www.sagemath.org


[sage-devel] organized ticket reports page

2010-10-19 Thread Jason Grout

I made a page that lists the ticket reports in a more organized fashion:

http://trac.sagemath.org/sage_trac/wiki/TicketReports

Enjoy!

Jason

--
To post to this group, send an email to sage-devel@googlegroups.com
To unsubscribe from this group, send an email to 
sage-devel+unsubscr...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/sage-devel
URL: http://www.sagemath.org


[sage-devel] Re: Make Parma Polyhedra Library a standard spkg

2010-10-19 Thread mhampton
Gfan does a lot more than compute the Groebner fan.  My main use for
it is computing tropical prevarieties.  Anders Jensen keeps improving
gfan, and in fact our interface to it doesn't wrap all the current
functionality.  I think it would be quite a job to replace it.

-Marshall

On Oct 19, 11:53 am, Volker Braun  wrote:
> gfan definitely depends on cddlib.
>
> Unless it is somehow broken I would keep sage.geometry.groebner_fan
> and the gfan spkg for now. In the long term we should rewrite
> sage.geometry.groebner_fan to work with the new Fan class from the
> toric geometry stuff. And I think it would be easy enough to take
> Singular's groebner fan code (which uses polymake internally) and
> replace its use of cddlib and TOPCOM with Sage's Cone/Fan and
> triangulation code. Then we wouldn't need gfan any more...

-- 
To post to this group, send an email to sage-devel@googlegroups.com
To unsubscribe from this group, send an email to 
sage-devel+unsubscr...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/sage-devel
URL: http://www.sagemath.org


[sage-devel] Re: Make Parma Polyhedra Library a standard spkg

2010-10-19 Thread mhampton
I strongly object to removing gfan.

-Marshall

On Oct 19, 9:53 am, William Stein  wrote:
> On Tue, Oct 19, 2010 at 6:35 AM, mhampton  wrote:
> > I support replacing cddlib with PPL for the default computation of
> > exact polyhedra.
>
> Does gfan depend on cddlib?  If we remove cddlib, would we then also have to
> remove gfan?  From deps:
>
> $(INST)/$(GFAN): $(BASE) $(INST)/$(MPIR) $(INST)/$(CDDLIB)
>         $(INSTALL) "$(SAGE_SPKG) $(GFAN) 2>&1" "tee -a
> $(SAGE_LOGS)/$(GFAN).log"
>
> I would personally be fine with removing gfan, unless some people strongly
> object.
>
>
>
>
>
> > Eventually I would really like to see lrs as a standard component as
> > well, because:
> > 1) It is small and compiles on all our supported platforms.
> > 2) David Avis has always been very responsive to any emails about lrs.
> > 3) It uses a very different algorithm from PPL; sometimes it performs
> > much better, and always with relatively little memory use.
> > 4) It has been an optional package for a couple of years now, with no
> > known problems.
>
> > PPL can be the default, ideally with lrs as an optional backend.
>
> > For numerical polytopes we should keep cddlib for now.  Qhull might be
> > the better long-term choice for numerical polytopes, since it was
> > written from the beginning with that in mind.  For now I am working on
> > Qhull as an optional package (but its not very high on my priority
> > list).
>
> > -Marshall
>
> > On Oct 18, 7:13 am, Volker Braun  wrote:
> > > === Introduction ===
>
> > > I would like to have the Parma Polyhedra Library (PPL) included
> > > as a standard spkg. My goal is to rewrite as much of the
> > > sage.geometry.* modules on top of a Cython PPL wrapper as opposed
> > > to piping ASCII to/from cddlib. Some of the reasons are:
>
> > > * PPL is already faster by itself, and having a Cython wrapper reduces
> > >   overhead. I'm seeing about 20x speedup on medium-sized problems.
>
> > > * PPL is the only polyhedral computation toolkit that is from the
> > >   ground up designed to be used as a shared library.(1)
>
> > > * PPL is mature, well tested, has an active development including bug
> > >   tracker and mailing list. It is used in a variety of other projects,
> > >   including gcc's Graphite loop optimizer. It has been tested on
> > >   Linux, FreeBSD, OpenBSD, Solaris, IRIX64, Mac OS X, Cygwin, DEC
> > >   OSF/1.
>
> > > cddlib was the first really useful software package back in the day
> > > and it was hugely influential for many subsequent codes. But nowadays
> > > there are alternatives that combine the same algorithms with better
> > > implementations and software development practices.(2)
>
> > > Note that I'm not proposing to remove cddlib entirely. It is still a
> > > requirement for gfan and the only program to do polyhedral
> > > computations over floating point numbers.(3)
>
> > > === Work Plan ===
>
> > > I have written a PPL spkg and a Cython (C++) wrapper that should cover
> > > all functions necessary for dealing with polyhedra in Sage. You can
> > > find it here:
>
> > >http://trac.sagemath.org/sage_trac/ticket/10039
>
> > > Using this wrapper, I patched sage.geometry.cone:
>
> > >http://trac.sagemath.org/sage_trac/ticket/10140
>
> > > I think that the PPL spkg and the Cython wrapper is ready for
> > > inclusion in the next Sage release (4.6.1?). In the subsequent release
> > > we can then rebase sage.geometry modules on top of the wrapper.
>
> > > Right now I would like to invite any comments on this plan!
>
> > > === Notes ===
>
> > > (1) cddlib also comes with a shared library. But its poorly documented
> > > and, according to valgrind, leaks memory. Other toolkits like lrs and
> > > qhull don't build shared libraries but have minimal instructions for
> > > statically linking with parts of their code.
>
> > > (2) In particular, cddlib has no bug tracker, no new release in the
> > > last 5 years, and segfaults on some of its own testsuite.
>
> > > (3) Though in a numerically unstable way, see Trac #10046, #10037.
>
> > --
> > To post to this group, send an email to sage-devel@googlegroups.com
> > To unsubscribe from this group, send an email to
> > sage-devel+unsubscr...@googlegroups.com
> > For more options, visit this group at
> >http://groups.google.com/group/sage-devel
> > URL:http://www.sagemath.org
>
> --
> William Stein
> Professor of Mathematics
> University of Washingtonhttp://wstein.org

-- 
To post to this group, send an email to sage-devel@googlegroups.com
To unsubscribe from this group, send an email to 
sage-devel+unsubscr...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/sage-devel
URL: http://www.sagemath.org


[sage-devel] Re: Make Parma Polyhedra Library a standard spkg

2010-10-19 Thread Volker Braun
For reference I've put the buildlog here:

http://www.stp.dias.ie/~vbraun/Sage/spkg/ppl-buildlog.txt

There are two related bogus "may be used uninitialized" warnings,
thats all. Actually the warnings look more like a gcc bug, I think it
should have been able to figure out that the variable does get
initialized in the switch{} statement.

The doxygen-documentation also includes the sources, so its easy to
see the cross-referenced implementation:

https://www.cs.unipr.it/ppl/Documentation/devref/ppl-devref-0.11-html/

In my opinion it is very consistent C++ code and generally easy to
follow with lots of useful comments.

When I compiled it on OpenSolaris I used gcc+sun linker. Since the PPL
buildsystem is using libtool there is some hope that either linker
would work, but then I haven't tried.

-- 
To post to this group, send an email to sage-devel@googlegroups.com
To unsubscribe from this group, send an email to 
sage-devel+unsubscr...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/sage-devel
URL: http://www.sagemath.org


Re: [sage-devel] Re: Wolfram Alpha low bandwidth portal into Sage to attract new users?

2010-10-19 Thread David Kirkby
On 19 October 2010 17:55, Jeroen Demeyer  wrote:
> On 2010-10-19 18:35, Roman Pearce wrote:
>> On Oct 19, 9:09 am, kcrisman  wrote:
>>> Yes, let's keep in mind that notebook servers with fewer users are
>>> usually very snappy and a great resource.   It's not CPU power, but
>>> number of simultaneous users, I think.
>>
>> That suggests the bottleneck is disk I/O.
> Not even that is the bottleneck.
>
> I have no idea of how the notebook is implemented, but I think that's
> really where the problem lies.  Probably that code is not written with a
> large number of users (even non-simultaneous) in mind.  Because a
> *second* notebook on the same physical server is much faster than the first.
>
> Jeroen.

I think I know the answer to this one, but I will ask anyway. Is there
a document which documents the design and implementation of the
notebook? And yes, I am aware the most accurate document is the source
code!


As a second question, has anyone ever written any code which simulates
real users randomly logging in, and doing "normal" things? (Code like
this is written to test web servers - see for example
http://curl-loader.sourceforge.net/)

Dave

-- 
To post to this group, send an email to sage-devel@googlegroups.com
To unsubscribe from this group, send an email to 
sage-devel+unsubscr...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/sage-devel
URL: http://www.sagemath.org


Re: [sage-devel] Make Parma Polyhedra Library a standard spkg

2010-10-19 Thread David Kirkby
On 18 October 2010 13:13, Volker Braun  wrote:
> === Introduction ===
>
> I would like to have the Parma Polyhedra Library (PPL) included
> as a standard spkg. My goal is to rewrite as much of the
> sage.geometry.* modules on top of a Cython PPL wrapper as opposed
> to piping ASCII to/from cddlib. Some of the reasons are:
>
> * PPL is already faster by itself, and having a Cython wrapper reduces
>  overhead. I'm seeing about 20x speedup on medium-sized problems.
>
> * PPL is the only polyhedral computation toolkit that is from the
>  ground up designed to be used as a shared library.(1)
>
> * PPL is mature, well tested, has an active development including bug
>  tracker and mailing list. It is used in a variety of other projects,
>  including gcc's Graphite loop optimizer. It has been tested on
>  Linux, FreeBSD, OpenBSD, Solaris, IRIX64, Mac OS X, Cygwin, DEC
>  OSF/1.

>From what you say there, it suggests the code is good quality. But I
would suggest an audit is performed and this evaluated. It would be
good to avoid code like that of Sympow and some other packages which
are very dubious.

But my gut feeling is if someone has tested their code on those wide
range of platforms, they have probably done a decent job of writing
it. But I feel this should be ascertained. Potentially they could
assume the use of the GNU linker, which is not good on Solaris.

Does the code generate lots of compiler warnings?

Dave

-- 
To post to this group, send an email to sage-devel@googlegroups.com
To unsubscribe from this group, send an email to 
sage-devel+unsubscr...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/sage-devel
URL: http://www.sagemath.org


Re: [sage-devel] Re: Wolfram Alpha low bandwidth portal into Sage to attract new users?

2010-10-19 Thread Jeroen Demeyer
On 2010-10-19 18:35, Roman Pearce wrote:
> On Oct 19, 9:09 am, kcrisman  wrote:
>> Yes, let's keep in mind that notebook servers with fewer users are
>> usually very snappy and a great resource.   It's not CPU power, but
>> number of simultaneous users, I think.
> 
> That suggests the bottleneck is disk I/O.
Not even that is the bottleneck.

I have no idea of how the notebook is implemented, but I think that's
really where the problem lies.  Probably that code is not written with a
large number of users (even non-simultaneous) in mind.  Because a
*second* notebook on the same physical server is much faster than the first.

Jeroen.

-- 
To post to this group, send an email to sage-devel@googlegroups.com
To unsubscribe from this group, send an email to 
sage-devel+unsubscr...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/sage-devel
URL: http://www.sagemath.org


[sage-devel] Re: Make Parma Polyhedra Library a standard spkg

2010-10-19 Thread Volker Braun
gfan definitely depends on cddlib.

Unless it is somehow broken I would keep sage.geometry.groebner_fan
and the gfan spkg for now. In the long term we should rewrite
sage.geometry.groebner_fan to work with the new Fan class from the
toric geometry stuff. And I think it would be easy enough to take
Singular's groebner fan code (which uses polymake internally) and
replace its use of cddlib and TOPCOM with Sage's Cone/Fan and
triangulation code. Then we wouldn't need gfan any more...

-- 
To post to this group, send an email to sage-devel@googlegroups.com
To unsubscribe from this group, send an email to 
sage-devel+unsubscr...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/sage-devel
URL: http://www.sagemath.org


[sage-devel] Re: Wolfram Alpha low bandwidth portal into Sage to attract new users?

2010-10-19 Thread Roman Pearce
On Oct 19, 9:09 am, kcrisman  wrote:
> Yes, let's keep in mind that notebook servers with fewer users are
> usually very snappy and a great resource.   It's not CPU power, but
> number of simultaneous users, I think.

That suggests the bottleneck is disk I/O.  Sage is quite large, so
it's not a surprise.  Anything you to slim down the software will make
it "snappier" under load, and this is actually true at all levels of
the memory hierarchy.  Since Sage tries to be inclusive, you might try
just slimming down the average case.  How many libraries really need
to be loaded at startup, etc?  This is usually difficult to do.  But
for public servers it's unavoidable, and for software that runs in a
"cloud", bloat = $$$.

-- 
To post to this group, send an email to sage-devel@googlegroups.com
To unsubscribe from this group, send an email to 
sage-devel+unsubscr...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/sage-devel
URL: http://www.sagemath.org


[sage-devel] Re: Make Parma Polyhedra Library a standard spkg

2010-10-19 Thread Volker Braun
On Oct 19, 3:37 pm, Andrey Novoseltsev  wrote:
> By the way - does PPL use any random numbers like cddlib?

I'm pretty sure that it does not randomize the output; certainly grep
doesn't find any references to rand(). And there is absolutely no
reason to call a pseudo random number generator for the polyhedral
algorithms in the first place.

-- 
To post to this group, send an email to sage-devel@googlegroups.com
To unsubscribe from this group, send an email to 
sage-devel+unsubscr...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/sage-devel
URL: http://www.sagemath.org


[sage-devel] Re: Wolfram Alpha low bandwidth portal into Sage to attract new users?

2010-10-19 Thread kcrisman


On Oct 19, 11:31 am, Jeroen Demeyer  wrote:
> On 2010-10-19 17:25, Tom Boothby wrote:
>
> >> Is it really true that the public access servers are often bogged down
> >> with lots of users?
>
> > Yes.  Everybody that I talk to is very disappointed with the public 
> > notebook.
>
> I totally agree (I'm just coming back from an exercice class where
> students tried to usewww.sagenb.organd it was essentially unusable).
> However, I think it's more a matter of implementation of the notebook
> rather than a problem of CPU power.

Yes, let's keep in mind that notebook servers with fewer users are
usually very snappy and a great resource.   It's not CPU power, but
number of simultaneous users, I think.

Maybe it's time to relieve the strain on sagenb by publicizing more of
the other 'semi-secret' servers like David mentions.  But that would
be up to the people in charge of them.

- kcrisman

-- 
To post to this group, send an email to sage-devel@googlegroups.com
To unsubscribe from this group, send an email to 
sage-devel+unsubscr...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/sage-devel
URL: http://www.sagemath.org


[sage-devel] Re: bug wranglers

2010-10-19 Thread kcrisman

> I was not suggesting anyone spend 10,000 hours studying the subject of
> software engeering. I'm not suggesting people need to be experts. But
> perhaps spending 20-50 hours on it is not unreasonable. I don't know
> about you, but I've probably devoted 1000 hours to working on Sage, so
> 20-50 is a small percentage. I think 20-50 hours would be for you
> too.

It's not clear to me that without a specific time and place to do so,
that it would be particularly effective to spend 20-50 hours reading
books about this.  Software seems to be one of those things that is
hard to really learn how to do without actually doing it.   10-20
hours spent trying to do some Sage development, but with a couple
quality software engineers looking over your shoulder the whole time,
might do it.  The idea of having one piece of a Sage days devoted to
people sharing ideas from books they read in a coordinated way sounds
plausible as well, though probably it would really depend on the Sage
days in question.


> "I personally have been burned enough times now by obvious bugs that
> have shown up when I try to demonstrate what
> I'm doing in sage, that I hesitate now to shares things readily."

This probably depends a lot on what mathematics you are doing with
Sage, of course.

> Currently one person with poor Python skills can review the work of
> another with poor Python skills, and the code get committed to Sage.
> There's little filtering.

Condensed version of much longer response I started with:

I often find that people who contact us (and even contact me
personally) about this are more likely to not want to contribute
*anything*, even very minor bugfixes or documentation improvements,
because they are not confident in their skills.  Most people who feel
confident enough to review are confident enough to point out things
that look bad, and those who don't still will often point out
something wrong/suboptimal.

What happens more often, I think, is that someone with decent/good
Python skills is tired or lackadaisical and reviews something they
want to get in without spending the 1+ hours it takes to really test
edge cases and so forth of a patch also written by someone with decent/
good Python skills who is tired or lackadaisical... etc.   Since such
a person also contributes and reviews in quality ways most of the
time, it's much harder to filter for that.

Finally, I think that MANY of the new bugs in Sage are *not* a result
of someone destroying old code, but rather of a bug appearing where
before there was no functionality!  I think that to most Sage
developers, it is better to have 99 out of 100 cases give the right
answer, and have it tested out and hopefully fix the bug soon that
surely is there, than to have a NotImplementedError for years and
years.   Stagnation is the way to not attract the new developers we
would need (for time's sake) to improve our software engineering
practice, indeed.

To be sure, this is a design decision of sorts, and one at odds with
your books, perhaps.  But unless we also can operate under the
implicit assumptions of them (which probably include things like
actual employers, or perhaps a pool of developers who all have similar
skill sets - neither of which is the case here, in a project which is
monstrously diverse in terms of skill needs and obviously very non-
hierarchical), I don't see how it's feasible to implement your ideas
on this, other than the reminders of good practice you give in public
fora such as this and on Trac tickets.  Which I think that is having a
positive impact, incidentally!

:)

- kcrisman

-- 
To post to this group, send an email to sage-devel@googlegroups.com
To unsubscribe from this group, send an email to 
sage-devel+unsubscr...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/sage-devel
URL: http://www.sagemath.org


Re: [sage-devel] Re: Wolfram Alpha low bandwidth portal into Sage to attract new users?

2010-10-19 Thread Jeroen Demeyer
On 2010-10-19 17:25, Tom Boothby wrote:
>> Is it really true that the public access servers are often bogged down
>> with lots of users?
> 
> Yes.  Everybody that I talk to is very disappointed with the public notebook.

I totally agree (I'm just coming back from an exercice class where
students tried to use www.sagenb.org and it was essentially unusable).
However, I think it's more a matter of implementation of the notebook
rather than a problem of CPU power.

Jeroen.

-- 
To post to this group, send an email to sage-devel@googlegroups.com
To unsubscribe from this group, send an email to 
sage-devel+unsubscr...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/sage-devel
URL: http://www.sagemath.org


Re: [sage-devel] Re: Wolfram Alpha low bandwidth portal into Sage to attract new users?

2010-10-19 Thread Tom Boothby
> Is it really true that the public access servers are often bogged down
> with lots of users?

Yes.  Everybody that I talk to is very disappointed with the public notebook.

-- 
To post to this group, send an email to sage-devel@googlegroups.com
To unsubscribe from this group, send an email to 
sage-devel+unsubscr...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/sage-devel
URL: http://www.sagemath.org


[sage-devel] Re: Wolfram Alpha low bandwidth portal into Sage to attract new users?

2010-10-19 Thread Dr David Kirkby


On 18 Oct, 15:38, Chris Seberino  wrote:
> Wolfram Alpha is a low bandwidth portal into Mathematica that doesn't
> provide the full notebook interface.


It's not in Wolfram Research's interst to make the full power of
Mathematica available to anyone for free. If they did, their sales of
Mathematica would drop dramatically.

> Does something like this exist for Sage?  It seems it would be
> valuable marketing wise because it is even easier to try that than the
> freely available notebook interfaces.    The free public notebook
> servers are often bogged down with lots of users.

Is it really true that the public access servers are often bogged down
with lots of users? Try

http://t2nb.math.washington.edu:8000/

it's not very fast, but is not bogged down with many users either.

I can't imagine there would be much enthusiasm for maintaining a cut-
down version of the notebook by Sage developers.

> I'm guessing Wolfram Alpha interface would be able to support more
> users?
>
> cs

I don't know, but I suspect Wolfram Alpha is designed properly and
will be able to support more users by adding computational power to
it. The amount of CPU time that a computation can use is limited, so I
doubt there is any need to split a computation across several systems
for increased performance. So servers don't need to communicate with
each other.

Adding the power to handle more users with Wolfram Alpha would appear
to me to be quite trivial, but I don't know for sure.

Dave

Dave

-- 
To post to this group, send an email to sage-devel@googlegroups.com
To unsubscribe from this group, send an email to 
sage-devel+unsubscr...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/sage-devel
URL: http://www.sagemath.org


Re: [sage-devel] Re: bug wranglers

2010-10-19 Thread Mike Hansen
On Tue, Oct 19, 2010 at 8:09 AM, Dr David Kirkby  wrote:
> If that crashes Sage, and stops lots of people working on a
> Sage server, I think that's pretty serious, though not as bad as
> incorrect results.

It only crashes that one user's session.  Each worksheet is run in a
different process.

--Mike

-- 
To post to this group, send an email to sage-devel@googlegroups.com
To unsubscribe from this group, send an email to 
sage-devel+unsubscr...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/sage-devel
URL: http://www.sagemath.org


[sage-devel] Re: bug wranglers

2010-10-19 Thread Dr David Kirkby


On 18 Oct, 21:33, Robert Bradshaw 
wrote:
> On Sun, Oct 17, 2010 at 6:39 AM, Dr. David Kirkby

> On Sun, Oct 17, 2010 at 6:39 AM, Dr. David Kirkby
> > sage: seed(1,2)
> > sage: seed(100,34)
> > sage: seed(1,2,3,4,5,6,7)
>
> > will all crash Sage with an "Unhandled SIGSEGV". Plenty more sets of invalid
> > input to other commands will hang Sage, so the only answer is to kill the
> > process.
>
> Though in an ideal world, this kind of thing wouldn't crash Sage, I'm
> more worried about the kinds of bugs where valid input causes a
> segfault, or, much worse, an incorrect answer.

Obviously getting incorrect results is the worst possible case bug -
especially if the results look believable.  If you try to factorise an
integer and get a Bessel function as an answer, it is obviously wrong.
Some results look reasonable and so are very bad news.

I'd also agree getting crashes with valid input is bad, but its a fact
of life people do enter invalid input. Sometimes how one uses a
function is not very obvious, so using invalid input is going to
happen. If that crashes Sage, and stops lots of people working on a
Sage server, I think that's pretty serious, though not as bad as
incorrect results.

> > I think the main problem is ignorance. Good software engineering techniques
> > do not form part of mathematics degrees, so most Sage developers are totally
> > ignorant of the issues. Then those motivated to find more information soon
> > hit the fact that books on this topic are not cheap. I have an 18-year old
> > copy of this book, which despite the complaints the 7th edition is out of
> > date, I think much of the material would be useful to Sage developers.
>
> >http://www.amazon.com/Software-Engineering-Practitioners-Approach-Int...
>
> > There's also plenty of books on software testing.
>
> >http://www.amazon.com/s/ref=nb_sb_noss?url=search-alias%3Dstripbooks&;...
>
> > Perhaps when William assembles the team in Seattle, he could find the money
> > to buy each person a book on software testing. Buy each person a different
> > book, then hopefully Sage developers will able to independently review the
> > material. Perhaps they each write a Wiki page on what they though was the
> > most important things they learned from the book.
>
> I would submit that practicing good software engineering techniques is
> more than a matter of finding the money (and especially time) to read
> a good book on it--we all have different priorities on what we can
> afford to spend "10,000 hours" on. (Note, I'm not saying it wouldn't
> be useful for all of us to learn these things, just that I don't
> expect working mathematicians to all find enough time on the side to
> become expert software developers as well).

> - Robert

IMHO, if Sage is every to become a viable alternative to Maple,
Mathematica or MATLAB, then practicing good software engineering is an
absolute *must* - not an option. (I purposely excluded Magma from that
list, as I know nothing about that tool).

If you believe that levels of quality equal to those three commercial
packages can be achieved without such skills, then we will have to
agree to differ. Of course, for some users Sage is no doubt already
the best of these packages, but it is unlikely to be so for a mass
audience without major changes.

I was not suggesting anyone spend 10,000 hours studying the subject of
software engeering. I'm not suggesting people need to be experts. But
perhaps spending 20-50 hours on it is not unreasonable. I don't know
about you, but I've probably devoted 1000 hours to working on Sage, so
20-50 is a small percentage. I think 20-50 hours would be for you
too.

It's a fact of life that you often have to learn new skills. 20-50
hours would not mean taking a week off of work, but reading a book on
a train to work, or at night instead of a bit of TV. Expecting a new
developer to spend such time would be unreasonable, but then their
contributions should in my opinion come under closer scrutiny from
those with better knowledge.

Mike Witt said above, with reference to the Sage bugs:

"I personally have been burned enough times now by obvious bugs that
have shown up when I try to demonstrate what
I'm doing in sage, that I hesitate now to shares things readily."

It's clear to me (and perhaps Mike) the current methodology is not
working. I certainly would not hesitate to show people things with
MATLAB or Mathematica. If one of these tools did crash, I would not
have egg on my face. But with Sage I would.

Currently one person with poor Python skills can review the work of
another with poor Python skills, and the code get committed to Sage.
There's little filtering.

I know Kcrisman has said +1 to your comments, so I'd say I'd have to
disagree with him too.

> On a more practical note, I think it may help things if we actually
> used the priority field. Certainly

> Blocker: 14
> Critical: 68
> Major: 1609
> Minor: 516
> Trivial: 26

Of course most are "Major" as that is the default. Many

[sage-devel] Re: Make Parma Polyhedra Library a standard spkg

2010-10-19 Thread Andrey Novoseltsev
On Oct 19, 8:53 am, William Stein  wrote:
> Does gfan depend on cddlib?  If we remove cddlib, would we then also have to
> remove gfan?  From deps:

I'd rather leave cddlib for polyhedra over RDF until there is an
alternative.

-- 
To post to this group, send an email to sage-devel@googlegroups.com
To unsubscribe from this group, send an email to 
sage-devel+unsubscr...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/sage-devel
URL: http://www.sagemath.org


Re: [sage-devel] Re: Make Parma Polyhedra Library a standard spkg

2010-10-19 Thread William Stein
On Tue, Oct 19, 2010 at 6:35 AM, mhampton  wrote:

> I support replacing cddlib with PPL for the default computation of
> exact polyhedra.
>

Does gfan depend on cddlib?  If we remove cddlib, would we then also have to
remove gfan?  From deps:

$(INST)/$(GFAN): $(BASE) $(INST)/$(MPIR) $(INST)/$(CDDLIB)
$(INSTALL) "$(SAGE_SPKG) $(GFAN) 2>&1" "tee -a
$(SAGE_LOGS)/$(GFAN).log"

I would personally be fine with removing gfan, unless some people strongly
object.


>
> Eventually I would really like to see lrs as a standard component as
> well, because:
> 1) It is small and compiles on all our supported platforms.
> 2) David Avis has always been very responsive to any emails about lrs.
> 3) It uses a very different algorithm from PPL; sometimes it performs
> much better, and always with relatively little memory use.
> 4) It has been an optional package for a couple of years now, with no
> known problems.
>
> PPL can be the default, ideally with lrs as an optional backend.
>
> For numerical polytopes we should keep cddlib for now.  Qhull might be
> the better long-term choice for numerical polytopes, since it was
> written from the beginning with that in mind.  For now I am working on
> Qhull as an optional package (but its not very high on my priority
> list).
>
> -Marshall
>
>
> On Oct 18, 7:13 am, Volker Braun  wrote:
> > === Introduction ===
> >
> > I would like to have the Parma Polyhedra Library (PPL) included
> > as a standard spkg. My goal is to rewrite as much of the
> > sage.geometry.* modules on top of a Cython PPL wrapper as opposed
> > to piping ASCII to/from cddlib. Some of the reasons are:
> >
> > * PPL is already faster by itself, and having a Cython wrapper reduces
> >   overhead. I'm seeing about 20x speedup on medium-sized problems.
> >
> > * PPL is the only polyhedral computation toolkit that is from the
> >   ground up designed to be used as a shared library.(1)
> >
> > * PPL is mature, well tested, has an active development including bug
> >   tracker and mailing list. It is used in a variety of other projects,
> >   including gcc's Graphite loop optimizer. It has been tested on
> >   Linux, FreeBSD, OpenBSD, Solaris, IRIX64, Mac OS X, Cygwin, DEC
> >   OSF/1.
> >
> > cddlib was the first really useful software package back in the day
> > and it was hugely influential for many subsequent codes. But nowadays
> > there are alternatives that combine the same algorithms with better
> > implementations and software development practices.(2)
> >
> > Note that I'm not proposing to remove cddlib entirely. It is still a
> > requirement for gfan and the only program to do polyhedral
> > computations over floating point numbers.(3)
> >
> > === Work Plan ===
> >
> > I have written a PPL spkg and a Cython (C++) wrapper that should cover
> > all functions necessary for dealing with polyhedra in Sage. You can
> > find it here:
> >
> > http://trac.sagemath.org/sage_trac/ticket/10039
> >
> > Using this wrapper, I patched sage.geometry.cone:
> >
> > http://trac.sagemath.org/sage_trac/ticket/10140
> >
> > I think that the PPL spkg and the Cython wrapper is ready for
> > inclusion in the next Sage release (4.6.1?). In the subsequent release
> > we can then rebase sage.geometry modules on top of the wrapper.
> >
> > Right now I would like to invite any comments on this plan!
> >
> > === Notes ===
> >
> > (1) cddlib also comes with a shared library. But its poorly documented
> > and, according to valgrind, leaks memory. Other toolkits like lrs and
> > qhull don't build shared libraries but have minimal instructions for
> > statically linking with parts of their code.
> >
> > (2) In particular, cddlib has no bug tracker, no new release in the
> > last 5 years, and segfaults on some of its own testsuite.
> >
> > (3) Though in a numerically unstable way, see Trac #10046, #10037.
>
> --
> To post to this group, send an email to sage-devel@googlegroups.com
> To unsubscribe from this group, send an email to
> sage-devel+unsubscr...@googlegroups.com
> For more options, visit this group at
> http://groups.google.com/group/sage-devel
> URL: http://www.sagemath.org
>



-- 
William Stein
Professor of Mathematics
University of Washington
http://wstein.org

-- 
To post to this group, send an email to sage-devel@googlegroups.com
To unsubscribe from this group, send an email to 
sage-devel+unsubscr...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/sage-devel
URL: http://www.sagemath.org


[sage-devel] Re: Make Parma Polyhedra Library a standard spkg

2010-10-19 Thread Andrey Novoseltsev
On Oct 19, 4:37 am, Volker Braun  wrote:
> Yes, PALP has some useful toric functionality and I think we should
> definitely keep it around. But I think the long-term goal should be to
> reduce the reliance of the LatticePolytope class on PALP. In
> particular enumerating the lattice points is a problem that pops up
> frequently enough that an implementation without the dimension
> limitations of PALP would be nice. Did you ever figure out which
> algorithm PALP uses? I also looked at the source code but I quickly
> gave up...

No, I didn't. Although as far as I know I read all available
documentation on it. I think that so far I needed lattice points only
inside reflexive polytopes in dimension up to 6 and in this case PALP
limitations do not show up. I also didn't have any need to do it for
sequences of polytopes where next elements are computed based on
previous ones, so my work-around (all_points) to eliminate extra
system call overheads was sufficient.

By the way - does PPL use any random numbers like cddlib? I like
referencing polytope vertices/points/facets by their numbers and it
will be impossible if the order can change from session to session. I
don't care about having some specific order - just a fixed one (except
that vertices should be listed in the same way in which they were
given by the user, I think).

-- 
To post to this group, send an email to sage-devel@googlegroups.com
To unsubscribe from this group, send an email to 
sage-devel+unsubscr...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/sage-devel
URL: http://www.sagemath.org


[sage-devel] Re: Make Parma Polyhedra Library a standard spkg

2010-10-19 Thread mhampton
I support replacing cddlib with PPL for the default computation of
exact polyhedra.

Eventually I would really like to see lrs as a standard component as
well, because:
1) It is small and compiles on all our supported platforms.
2) David Avis has always been very responsive to any emails about lrs.
3) It uses a very different algorithm from PPL; sometimes it performs
much better, and always with relatively little memory use.
4) It has been an optional package for a couple of years now, with no
known problems.

PPL can be the default, ideally with lrs as an optional backend.

For numerical polytopes we should keep cddlib for now.  Qhull might be
the better long-term choice for numerical polytopes, since it was
written from the beginning with that in mind.  For now I am working on
Qhull as an optional package (but its not very high on my priority
list).

-Marshall


On Oct 18, 7:13 am, Volker Braun  wrote:
> === Introduction ===
>
> I would like to have the Parma Polyhedra Library (PPL) included
> as a standard spkg. My goal is to rewrite as much of the
> sage.geometry.* modules on top of a Cython PPL wrapper as opposed
> to piping ASCII to/from cddlib. Some of the reasons are:
>
> * PPL is already faster by itself, and having a Cython wrapper reduces
>   overhead. I'm seeing about 20x speedup on medium-sized problems.
>
> * PPL is the only polyhedral computation toolkit that is from the
>   ground up designed to be used as a shared library.(1)
>
> * PPL is mature, well tested, has an active development including bug
>   tracker and mailing list. It is used in a variety of other projects,
>   including gcc's Graphite loop optimizer. It has been tested on
>   Linux, FreeBSD, OpenBSD, Solaris, IRIX64, Mac OS X, Cygwin, DEC
>   OSF/1.
>
> cddlib was the first really useful software package back in the day
> and it was hugely influential for many subsequent codes. But nowadays
> there are alternatives that combine the same algorithms with better
> implementations and software development practices.(2)
>
> Note that I'm not proposing to remove cddlib entirely. It is still a
> requirement for gfan and the only program to do polyhedral
> computations over floating point numbers.(3)
>
> === Work Plan ===
>
> I have written a PPL spkg and a Cython (C++) wrapper that should cover
> all functions necessary for dealing with polyhedra in Sage. You can
> find it here:
>
> http://trac.sagemath.org/sage_trac/ticket/10039
>
> Using this wrapper, I patched sage.geometry.cone:
>
> http://trac.sagemath.org/sage_trac/ticket/10140
>
> I think that the PPL spkg and the Cython wrapper is ready for
> inclusion in the next Sage release (4.6.1?). In the subsequent release
> we can then rebase sage.geometry modules on top of the wrapper.
>
> Right now I would like to invite any comments on this plan!
>
> === Notes ===
>
> (1) cddlib also comes with a shared library. But its poorly documented
> and, according to valgrind, leaks memory. Other toolkits like lrs and
> qhull don't build shared libraries but have minimal instructions for
> statically linking with parts of their code.
>
> (2) In particular, cddlib has no bug tracker, no new release in the
> last 5 years, and segfaults on some of its own testsuite.
>
> (3) Though in a numerically unstable way, see Trac #10046, #10037.

-- 
To post to this group, send an email to sage-devel@googlegroups.com
To unsubscribe from this group, send an email to 
sage-devel+unsubscr...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/sage-devel
URL: http://www.sagemath.org


Re: [sage-devel] Re: libpari segfault related to 64bit?

2010-10-19 Thread John Cremona
Setting SAGE_CHECK=yes just means that after building the pari
library, the self-test routines are also run.  It does not affect Sage
after the new spkg is installed.

John

On Tue, Oct 19, 2010 at 1:32 PM, Jan Groenewald  wrote:
> Hi
>
> On Sun, Oct 17, 2010 at 07:16:58PM +0200, Jeroen Demeyer wrote:
>> env SAGE_CHECK=yes ./sage -f
>> http://sage.math.washington.edu/home/release/sage-4.6.alpha3/sage-4.6.alpha3/spkg/standard/pari-2.4.3.svn-12577.p7.spkg
>
> This still caused a segfault for me in dmesg while doctests pass.
> Is SAGE_CHECK supposed to give more output? Where?
> Can I have pari give more output? I'm just guessing wildly here:
>
> r...@capepoint:~#cd /usr/local/src/sage-4.5.3/spkg/standard/
> r...@capepoint:/usr/local/src/sage-4.5.3/spkg/standard#tar xjf  
> pari-2.3.5.p4.spkg
> r...@capepoint:/usr/local/src/sage-4.5.3/spkg/standard#cd pari-2.3.5.p4/
> r...@capepoint:/usr/local/src/sage-4.5.3/spkg/standard/pari-2.3.5.p4#grep -ri 
> "DEBUGLEVEL = " *
> src/src/language/init.c:  DEBUGFILES = DEBUGLEVEL = DEBUGMEM = 0;
> src/src/language/init.c:    if (oldval >= 0) { DEBUGLEVEL = oldval; oldval = 
> -1; }
> src/src/language/init.c:    { oldval = DEBUGLEVEL; DEBUGLEVEL = val; }
> src/src/functions/programming/default: ("debug",small):small:parens           
>    DEBUGLEVEL = $2
> r...@capepoint:/usr/local/src/sage-4.5.3/spkg/standard/pari-2.3.5.p4#sed -i 
> 's/DEBUGFILES = DEBUGLEVEL = DEBUGMEM = 0;/DEBUGFILES = DEBUGLEVEL = DEBUGMEM 
> = 9;/' src/src/language/init.c
> r...@capepoint:/usr/local/src/sage-4.5.3/spkg/standard/pari-2.3.5.p4#cd ../
> r...@capepoint:/usr/local/src/sage-4.5.3/spkg/standard#sage -spkg 
> pari-2.3.5.p4
> Creating Sage package pari-2.3.5.p4
> ...
> r...@capepoint:/usr/local/src/sage-4.5.3/spkg/standard#env SAGE_CHECK=yes 
> sage -f pari-2.3.5.p4.spkg
> Force installing pari-2.3.5.p4.spkg
> ...
> Finished installing pari-2.3.5.p4.spkg
> r...@capepoint:/usr/local/src/sage-4.5.3/spkg/standard#dmesg|grep segfault|wc 
> -l; sage -t devel/sage/sage/interfaces/sage0.py; dmesg|grep segfault
> 0
> sage -t  "devel/sage/sage/interfaces/sage0.py"
>         [18.2 s]
>
> --
> All tests passed!
> Total time for all tests: 18.2 seconds
> [79234.381854] python[17992]: segfault at 7200ae ip 7f3fce620fa1 sp 
> 7fff0a28cbe0 error 4 in libpari-gmp.so.2[7f3fce42c000+2c6000]
>
> Even if it is slow, is there a way to tell pari to write some output
> somewhere?
>
> regards,
> Jan
> --
>   .~.
>   /V\     Jan Groenewald
>  /( )\    www.aims.ac.za
>  ^^-^^
>
> --
> To post to this group, send an email to sage-devel@googlegroups.com
> To unsubscribe from this group, send an email to 
> sage-devel+unsubscr...@googlegroups.com
> For more options, visit this group at 
> http://groups.google.com/group/sage-devel
> URL: http://www.sagemath.org
>

-- 
To post to this group, send an email to sage-devel@googlegroups.com
To unsubscribe from this group, send an email to 
sage-devel+unsubscr...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/sage-devel
URL: http://www.sagemath.org


Re: [sage-devel] Re: libpari segfault related to 64bit?

2010-10-19 Thread Jan Groenewald
Hi

On Sun, Oct 17, 2010 at 07:16:58PM +0200, Jeroen Demeyer wrote:
> env SAGE_CHECK=yes ./sage -f
> http://sage.math.washington.edu/home/release/sage-4.6.alpha3/sage-4.6.alpha3/spkg/standard/pari-2.4.3.svn-12577.p7.spkg

This still caused a segfault for me in dmesg while doctests pass.
Is SAGE_CHECK supposed to give more output? Where?
Can I have pari give more output? I'm just guessing wildly here:

r...@capepoint:~#cd /usr/local/src/sage-4.5.3/spkg/standard/
r...@capepoint:/usr/local/src/sage-4.5.3/spkg/standard#tar xjf  
pari-2.3.5.p4.spkg
r...@capepoint:/usr/local/src/sage-4.5.3/spkg/standard#cd pari-2.3.5.p4/
r...@capepoint:/usr/local/src/sage-4.5.3/spkg/standard/pari-2.3.5.p4#grep -ri 
"DEBUGLEVEL = " *
src/src/language/init.c:  DEBUGFILES = DEBUGLEVEL = DEBUGMEM = 0;
src/src/language/init.c:if (oldval >= 0) { DEBUGLEVEL = oldval; oldval = 
-1; }
src/src/language/init.c:{ oldval = DEBUGLEVEL; DEBUGLEVEL = val; }
src/src/functions/programming/default: ("debug",small):small:parens 
 DEBUGLEVEL = $2
r...@capepoint:/usr/local/src/sage-4.5.3/spkg/standard/pari-2.3.5.p4#sed -i 
's/DEBUGFILES = DEBUGLEVEL = DEBUGMEM = 0;/DEBUGFILES = DEBUGLEVEL = DEBUGMEM = 
9;/' src/src/language/init.c
r...@capepoint:/usr/local/src/sage-4.5.3/spkg/standard/pari-2.3.5.p4#cd ../
r...@capepoint:/usr/local/src/sage-4.5.3/spkg/standard#sage -spkg pari-2.3.5.p4
Creating Sage package pari-2.3.5.p4
...
r...@capepoint:/usr/local/src/sage-4.5.3/spkg/standard#env SAGE_CHECK=yes sage 
-f pari-2.3.5.p4.spkg
Force installing pari-2.3.5.p4.spkg
...
Finished installing pari-2.3.5.p4.spkg
r...@capepoint:/usr/local/src/sage-4.5.3/spkg/standard#dmesg|grep segfault|wc 
-l; sage -t devel/sage/sage/interfaces/sage0.py; dmesg|grep segfault
0
sage -t  "devel/sage/sage/interfaces/sage0.py"  
 [18.2 s]
  
--
All tests passed!
Total time for all tests: 18.2 seconds
[79234.381854] python[17992]: segfault at 7200ae ip 7f3fce620fa1 sp 
7fff0a28cbe0 error 4 in libpari-gmp.so.2[7f3fce42c000+2c6000]

Even if it is slow, is there a way to tell pari to write some output
somewhere? 

regards,
Jan
-- 
   .~. 
   /V\ Jan Groenewald
  /( )\www.aims.ac.za
  ^^-^^ 

-- 
To post to this group, send an email to sage-devel@googlegroups.com
To unsubscribe from this group, send an email to 
sage-devel+unsubscr...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/sage-devel
URL: http://www.sagemath.org


[sage-devel] Re: Make Parma Polyhedra Library a standard spkg

2010-10-19 Thread Volker Braun
On Oct 19, 5:35 am, Andrey Novoseltsev  wrote:
> As with cddlib, I want to
> keep PALP in Sage for computing lattice points inside polytopes as
> well as nef partitions, but using PPL as a library for computing
> convex hulls and facets will make life much better.

Yes, PALP has some useful toric functionality and I think we should
definitely keep it around. But I think the long-term goal should be to
reduce the reliance of the LatticePolytope class on PALP. In
particular, enumerating the lattice points is a problem that pops up
frequently enough that an implementation without the dimension
limitations of PALP would be nice. Did you ever figure out which
algorithm PALP uses? I also looked at the source code but I quickly
gave up...

-- 
To post to this group, send an email to sage-devel@googlegroups.com
To unsubscribe from this group, send an email to 
sage-devel+unsubscr...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/sage-devel
URL: http://www.sagemath.org


[sage-devel] Re: Make Parma Polyhedra Library a standard spkg

2010-10-19 Thread Volker Braun
On Oct 19, 5:56 am, Dima Pasechnik  wrote:
> Are you saying that PPL cannot work with floating point numbers?

The short answer is no. The PPL can work with floating point types for
some upper-approximations of polyhedral regions. But right now the
Cython wrapper only exposes the core functionality for Polyhedra,(1)
which always works with gmp/mpir integers.(2)

(1) Polyhedra can be both closed (defined by <= inequalities) and "not
necessarily closed" (combinations of < and <= inequalities). I don't
know any other polyhedral computation code that can do this, certainly
not cddlib.

(2) Internally all computations are done with mpz_t integers, but
point and closure point coordinates can be specified with an overall
divisor. So, mathematically, the PPL supports polyhedra over QQ.

-- 
To post to this group, send an email to sage-devel@googlegroups.com
To unsubscribe from this group, send an email to 
sage-devel+unsubscr...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/sage-devel
URL: http://www.sagemath.org