On 9/16/07, David Joyner <[EMAIL PROTECTED]> wrote:
> Some comments on the recent GAP comments relevant to SAGE:
>
> (0) The talk on SAGE went quite well and generated interest.

Excellent.

> (1) Many GAP developers and some GAP packages authors like
> SAGE and plan on looking into the extra functionality of "GAP-SAGE"
> (ie, the GAP that comes with SAGE). Especially the HAP team.
> I would like to include HAP as standard as soon as we can.
> (There still is a documented HAP function which returns a list sometimes
> and an integer others. I have them 2 ways to remedy this which are
> fairly easy. Once they fix this, i would like it to be included.
> Further HAP development will use polymake, which is already a
> SAGE package.)

Just get it to work for me easily and I'll include it.

> (2) Many really liked the SAGE gui. Unfortunately, the TUB (Tech Univ at
> Braunschweig) wirefall blocked the online authentication so it could not
> be used and there was no internet at the hotel.

For future reference, about 3-4 days ago I changed things so that the
public notebook server:
   (1) Doesn't use ssl at all, and
   (2) Is at http://sagenb.org  (and another at http://sagenb.com), so
         there is no funny business with ports.
Thus the above setup shouldn't get blocked anywhere anymore.
Obviously (1) means people could sniff password on the public notebook
easily, but this really isn't too worrisome given that the thing is free,
etc., so what should people expect?

> (3) The Browse package authors (which used ncurses to do some fancy
> display tricks with large character tables, for example) wished that it
> could be used in the gui. I have no idea if you can pipe ncurses
> special characters through to the browser and make it look nicer.

I have no clue if that is possible or if it would be a good idea. Probably not.

> In general, for SAGE's browser, how do you view a section of a huge
> (say character or Cayley) table? They have solved this problem using Browse,
> which leaves the side and top alone (which index the rows and columns)
> but allows you to browse 5 or 10 consecutive rows and column entries.

I suspect HTML and any good web browser solves this problem ok -- just
make aread-only textarea or span or div tag with a limited number of
rows and columns, and the browser provides good scroll functionality.  This
is one thing that browsers are surprisingly good at.

> (4) Single processor machines are almost a thing of the past.
> How do we start to adjust for this increase in processors?

DSAGE, IPython1, multithreaded BLAS, etc.

> Can SAGE use a single GAP workspace but start two (or more)
> threads using that?

I don't know what that means, due to my lack of knowledge about
GAP.

>  Which basic commands (like polynomial
> multiplication) can be parallelized?

For atomic operations like that, most anything can be parallelized.
The amusing thing is that usually the overhead of starting threads
and keeping track of them ends up making the resulting code
slower than not using threads at all.   In my opinion the *only* reason
to ever use parallelism is to make things faster -- period.  If
a parallel implementation isn't demonstrably faster than a serial
one, then there is no point (though there are some issues of scaling).

In numerous cases basic arithmetic, linear algebra, etc. in SAGE / GAP
is way slower than Magma's serial implementations, so in such cases
one should at least catch up with (or beat) them first.   Finally, in many
cases Sage's basic arithmetic is done by third-party libraries,
in order to avoid us reinventing the wheel... our multivariate polynomial
arithmetic is often done by Singular -- and it would probably takes
years of hard work to come up with our own serial multivariate polynomial
arithmetic that would beat Singular (note that Singular actually beats
Magma in many cases). And then once we understand our serial
implementation, we have to do something parallel that is even better.

So I think nontrivial parallelization at the low-level arithmetic level is not
something that is going to happen soon, except if any third party
libraries were to do it.   One exception is linear algebra, where SAGE
uses Linbox, which in turn using a system-wide optimized BLAS -- and
one can get optimized BLAS's that really do leverage multicore machines,
e.g., this is standard on OS X.  So already much of SAGE's linear algebra
benefits from multicore machines, without us doing any work to make
that happen.

Parallelization at a higher level, e.g., dsage, ipython1, etc., is of course
very important and is currently being used all the time by people.

> (5) How easy would it be to "certify" a computation? Suppose
> f is a function, x is input and y is output and I claim GAP (or SAGE)
> tells me that, after several days, y = f(x). I want you to believe me,
> so I "certify this". One way (maybe) is to have SAGE encrypt the
> start time, finish time, and printout (and maybe a pickle of some
> relevant data) into a file. This file looks random but a SAGE Oracle can
> verify its authenticity within a reasonable probability.

Probably anything you could imagine doing along the above lines
could be forged.  In any case, it's such a standard problem/question
that either it has been solved in other programs or systems
like Mathematica, and it's obvious what to do, or it's like DRM and
there is always a way to trick it.  If somebody knows something about
this sort of question, please reply...

Are we supposed to assume the person doing the signature is
malicious?   Are do we assume the person is somewhat like me
who is -- I claim -- not malicious, and just isn't very good at keeping
track of what they are doing, and wants a double check on what
they've computed?  Then wouldn't a log be good enough?

> (6) At SD4 the topic of Bruhat orderings came up (maybe in a different
> guise). Frank Luebeck told me about
> http://math.univ-lyon1.fr/~ducloux/coxeter/coxeter3/english/coxeter3_e.html
> Sadly, du Cloux died recently, but it is GPL'd. It may or may not be
> included in Atlas (which he was also the main author).

Cool.

> I'm happy to post any or some of this on the sage-devel or
> you can just reply there and cut out what you want.

Done.

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

--~--~---------~--~----~------------~-------~--~----~
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://sage.scipy.org/sage/ and http://modular.math.washington.edu/sage/
-~----------~----~----~----~------~----~------~--~---

Reply via email to