axiom-developer
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Axiom-developer] literate programming and Claerbout's Insight


From: C Y
Subject: Re: [Axiom-developer] literate programming and Claerbout's Insight
Date: Sun, 29 Jul 2007 08:49:54 -0700 (PDT)

--- Bill Page <address@hidden> wrote:

> I do not agree that open source is a completely "different ballgame".
> As Tim has explained even when Axiom was a research project at IBM is
> was quite freely given out to those researchers who had a real
> interest in it.

Well, I can't speak for others but for myself I would have had little
interest in such a tool.  Part of the appeal of open source is that it
is an explicit, public granting of permission to modify, tweak, and
distribute.  The last step sounds legally problematic without that
guarantee - there's too much chance of managers/lawyers shutting the
party down.
 
> And even during the time that Axiom has been officially open source,
> by far the majority of the new Axiom users would seem to prefer to be
> able to use Axiom in essentially the same way as if it were a
> commercial product.

Of course!  We all want a finished product we can use, but Axiom ISN'T
THERE YET.  So the project is to create that tool, using the released
code from IBM/NAG as a starting point.  HOW we do that seems to be the
issue at hand.  FriCAS is trying a different approach, and I fully
expect for the majority of users it will be (in the short term) the
more appealing output.  But for myself immediate appeal is less
important than long term foundation building, even at the cost of
longer lead times.

> If it doesn't work rather quickly for them, then
> they just look elsewhere rather than joining the project and trying
> to improve it. Only a small minority are willing to do that.

That was my impression from the beginning.  However, the long term
potential of the Axiom approach was ultimately what convinced me to
stay here rather than resume with Maxima - the up front effort looks to
me like it has an impressive long term payoff.  Maybe I'm just a
statistical anomaly.

> But the point is that these would better be addressed *first* before
> settling in to even harder to achieve long term goals like making all
> of Axiom a literate program.

Isn't that what FriCAS is likely to achieve?
 
> I think most people would be willing to concede this point if they
> get the feeling that something is really being done about it.

Eventually I expect it will.  I don't think we are ready to tackle
Algebra design yet - certainly not without either SPAD or Aldor in good
shape, at a minimum.

> What is truly wrong with the foundation on which Axiom was originally
> built? The build environment inherited from the 80's and which for
> the most part persists in the Axiom Gold and Silver was certainly not
> consistent with what is currently considered best practice, but that
> his been addressed in the build-improvements branch.

In the long term, you want ALL the code in the project to be literate,
easily understandable, and easily fixed.  As I understand it, the
original foundation in Axiom doesn't really satisfy any of those goals.

> Contrary to when I started working with Axiom, I no longer consider
> literate program an essential part of this foundation.

I disagree.

> I think that is a different issue. I still believe literate
> programming to be a worthwhile long term goal - especially for the
> the Axiom library (Spad) code. I am just not convinced that we really
> know how to do it.

Well, I don't know how we will figure it out unless we try.

> And I don't think this should stop the further development of Axiom
> until we learn to do it right.

We're trying to do it in parallel.  Steve's new tool should be enough
to build on, and if I can get my part of this in some kind of working
order we can begin sorting out system components and examining them.

Note that this doesn't need to stop any sort of work in other branches.
 What is stopping the development of Axiom in other directions?

> I seriously doubt that this "literate re-write" will ever really
> occur. Instead it seems most likely to me that improvements will
> continue to be made via bug fixes and by major new contributions by
> researchers and dedicated Axiom users if there are a sufficient
> number of these so that chances of someone both motivated and
> qualified is sufficiently high.

Well, we will see.  Nothing is stopping any of that from happening, and
a few of us are going to try a literate re-write.  It's an experiment -
it may succeed or fail.  But I believe it is worth trying.

> Reading Spad code is particularly easy. That is what it was designed
> to be: a highly expressive and easy to understand notation for
> mathematical algorithms. In most cases when you look at Spad code and
> compare it to published algorithms the connection and details of the
> implementation and obvious.

Once we can focus on the mathematical parts of this issue I think
things will begin working MUCH better as a project.

> I think this is completely the wrong attitude. It is the "If you
> build it, they will come." approach. (Do you remember that movie of
> a decade ago about the guy who built the baseball diamond on the
> middle of his corn field? What was the title?) Even in the big wide
> world of the Internet I do not think there is any reason to believe
> that this approach will work.

Bill, there is nothing stopping anyone from taking any approach they
like.  A few of us want to pursue the idealistic long term goals. 
Waldek's FriCAS is more pragmatic about getting things done.  Perhaps
the various goals will converge in the end, but I don't think anyone is
going to abandon his/her particular goals at this point.

> > It is probably safe to say it won't be heavy duty speed critical
> > numerical simulations (e.g. those who optimize down to the assembly
> > level) and it is not clear yet whether a system can strive for
> > rigor in the mathematical sense and remain a good
> > "engineering/casual use CAS."  For me, the target audience is the
> > audience that wants to be as sure as humanly possible that the
> > answers they are getting to questions put to the CAS are correct
> > mathematically.  Whether other applications follow from that
> > remains to be seen.  But of course, that's just me.
> 
> I think you are wrong.

What do you mean wrong?  I said "for me, the target audience is...".  I
make no claim that it is a large target audience, the most practical
audience to work toward acquiring, or a shared target audience of the
Axiom developers.  That is strictly a definition of the goals I have in
mind when I work on Axiom, nothing more.  Perhaps success would mean a
re-shaping of the mathematical/computational community methods and
expectations, to REQUIRE such correctness proofs as a starting point.

> You should take a very close look at the large
> number of developers in the Sage project and the kind of (mostly
> leading edge) things they are doing. People have very high
> expectations for computer algebra systems these days. Afterall this
> is the seventh year of the twenty first century.

Certainly.  I never said Sage wasn't an impressive project, but their
goals are different from mine.  Sage is pulling together lots of
different tools to create a very useful system.  Looking at SAGE's long
term goals:  http://sage.scipy.org/sage/doc/html/tut/node6.html  I
don't see anything about incorporating proof generation and checking
into all the various tools they are tying in.  How will they ensure
mathematically correct results across all of those different libraries?
 It looks like they are having to trust the developers of the various
libraries.  Can those libraries all be used to produce proofs of
correctness?

If you go for maximum functionality, that's a good way to get an
audience and do lots of useful things.  I have a somewhat different
interest - I have absolutely nothing against functionality but I want
to be able to provide a robust answer to the question "why should I
trust that this answer is correct?"

Cheers,
CY


       
____________________________________________________________________________________
Choose the right car based on your needs.  Check out Yahoo! Autos new Car 
Finder tool.
http://autos.yahoo.com/carfinder/




reply via email to

[Prev in Thread] Current Thread [Next in Thread]