Hi!

> I have a couple of questions about Giac/XCas and also you.  They are all over
> the map.  Answer what you want and ignore the other questions.
>
> 1. Is this the public svn development server for Giac/Xcas?
>
>  http://xcas.svn.sourceforge.net/viewvc/xcas/
>

Yes. But it is currently used only as a backup for the source files
and it would require someone with knowledge about autotools to make it
compilable.

> 2. Is this the only mailing list for Giac/XCas?
>
>  http://sourceforge.net/mailarchive/forum.php?forum_name=xcas-devel
>
> It seems to have only 5 posts in the last 2 years, so maybe it isn't
> the right list.
>

No, the right list is the Xcas forum
http://pcm1.e.ujf-grenoble.fr/XCAS
It is currently mostly used by some French Xcas users.

> 3. Are you the only Giac/XCas developer?   If so, why? (I was the only
> Sage developer for a long time...)
>

I'm currently the only C++ coder. Renée is writing the documentation
and doing all kinds of tests. There is also Jean-Pierre Branchard who
is working on the online version of giac and other projects using CAS
(like a spreadsheet from a browser).

> 4. What exactly is the goal of Giac/XCas?  I have looked at your web page
> a lot and slides, etc., but I don't get it.  My guess is that you like
> me decided
> to take the amazing range of open source software available -- PARI,
> NTL, GSL, etc., and put them together, then fill in all the
> gaps motivated by a goal to create an alternative to certain
> commercial software.  In your case, I'm guessing
> the commercial software that motivated you is Maple, Mupad and the TI-89.
> In my case it was primarily Magma (and perhaps Mathematica later).
>

The goal is indeed to be an alternative to Maple and also TI
calculators. That's why there is a syntax compatibility mode. You can
for example open maple V.5 worksheets inside xcas, and for common
undergraduate commands, there is even a chance that they will run
without modification.
This goal is perhaps one of the reason I'm isolated on the coding
side, people simply do not believe that xcas can be an alternative to
maple and people in the CA research field are not interested to "fill
the gap" in areas that are essential to be usable in the education
market.

> 5.  Why does the OS X binary of Giac/XCas not link in PARI?
>

I had no idea and lacked time to analyse. The fact is that when I
tried to link with pari, I get some strange errors even when working
with integers. Since my current user basis does not require the
advanced arithmetic functions of pari, it's not a priority.

> 6.  How much time can you send on Giac/XCas development?  (I.e., is
> it your full time research?  Your hobby?  etc.)
>

I work on giac/xcas almost full time (that is outside the time I'm
teaching). But a part of my teaching is done with my students using
Xcas, where I get feedback and collect bugs (novice users are some of
the best users for bugs because they try many inputs that expert users
would never try).

> 7. Is there any connection between Giac/Xcas and Mathemagix, which
> is another French project with perhaps similar goals and strategies?
>

No connection. I don't know how actively Joris is developping
mathemagix, I have the feeling he has not much time, because of
texmacs.

> 8. If I want to build Giac from source, do I need *all* of these libraries
> to be installed first? (Your web page describes these as *both* required
> and recommended in the same line, which is _very_ confusing):
>     *  GMP
>     * MPFR
>     * NTL
>     * PARI 2.3
>     * CoCoA 0.99
>     * GSL
>     * FLTK
>

No, the only mandatory library is GMP. I recommend you to use the
giac_unstable.tgz source file. I'll check the website...

>  9. When did the xcas/giac project start?  How long has it been under
> development?
>

It started about 8 years ago. The first usable binaries were available
around 2 years later. A major rewrite of the xcas user interface began
in 2005. There are today more than 1000 downloads per month on my main
site, mainly from French speaking countries. I hope to get more users
worldwide, now that the user doc is (partially) available in English.
The version number is still < 1, before releasing version 1, I want to
1/ finish the transition to thread-safe code (with a context pointer
for all functions that require information from the context)
2/ have enough CAS capabilities to be an alternative at the
undergraduate level (for example I'm currently working on definite
integration and summation).
My target for version 1 is around 2010.

> 10. The first steps in improving Sage/Giac integration would be:
>     (a) create an optional Giac package that doesn't build any of the FLTK/X11
>           Xcas stuff.  It's best if this can build from source easily
> into an existing
>           Sage install.

this should already the case if you configure with --disable-gui.
Since I don't know how to do conditionals in a Makefile.am it will
compile a fake xcas which does just show an error message. The
readline version will of course be functional, except that you won't
be able to display a plot.

>     (b) Create a pexpect interace to the command line Giac.  This is fairly
>           straightforward (and is perhaps similar to making Giac usable from
>           texmacs).

Since I did it for texmacs, it is certainly easy to do it for icas.cc,
I can add a --sage flag, I just need to know what is the equivalent of
texmacs escape character sequences, like
#define TEXMACS_DATA_BEGIN   ((char) 2)
#define TEXMACS_DATA_END     ((char) 5)
#define TEXMACS_DATA_ESCAPE  ((char) 27)
#define TEXMACS_DATA_COMMAND ((char) 16)

>     (c)  Create some sort of C/C++ library interface.  This is very
> very difficult.
>

I had some hope that swig could help do the bridge between the C++
giac library and python, but I never tried.

> Just (a), (b) would make it very easy for any Sage user to install giac on
> their system and use it from within Sage to try things out.
>
> To do (a) though requires making it very clear how to build giac from
> source without X support, and also very much clarifying exactly what
> the dependencies of giac really are (exact versions, which are needed, etc.).
> For any dependency not already in Sage (e.g., cocoa), that dependency would
> have to be removed from giac or added to Sage.

I'm pretty sure that the required version of GMP for example is
already in Sage. Cocoa is not required, giac configure should build
giac without cocoa support if it is not present.

> Getting anything as
> complicated as Giac to build robustly as a Sage spkg (on all the platforms
> Sage supports) is potentially a several week project for somebody working
> full time.   It's similar to getting something into Debian, say.  Anyway, 
> that's
> maybe optimistic, since I suspect that Macaulay2 is similar in many ways
> including complexity to Giac, and we *still* do *not* have building Macaulay
> 2 up to snuff in Sage yet, which is really frustrating 
> (seehttp://trac.sagemath.org/sage_trac/ticket/10).
>

I don't know sage, so obvioulsy I can't say how long it would take.
But as explained above, only GMP is required to build giac. Most
optional libraries are in sage and should be compatible with giac. X
support can be disabled, which makes me think that maybe your first
estimate is a little bit pessimistic.


>
> Anyway, if I understand much better what the point of Giac/Xcas is about,
> it would help me see whether there is any way in which you can help the
> Sage project and the Sage project can help you and Giac/Xcas.  That's what
> the above questions are motivated by.
>

Thanks for the opportunity to clarify to the sage community.

Bernard
--~--~---------~--~----~------------~-------~--~----~
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
-~----------~----~----~----~------~----~------~--~---

Reply via email to