From: Antti Karttunen
Subject: Symbolic algebra package for Scheme?
Date: 
Message-ID: <a1i3cs$er0$1@walrus.megabaud.fi>
In article <····························@posting.google.com>,
····@pobox.com <····@pobox.com> wrote:
>Jeffrey Mark Siskind has asked to post the following message regarding
>the discussion about SVD and eigenvalues:
>
>> Doesn't Stalin or QobiScheme already include SVD implementation? I
>> seem to remember mentioning of SVD on Jeffrey Mark Siskind's web
>> site. The web site seems to have changed since then.
>
>In the long term I would like to see a high quality comprehensive
>numerical computing and symbolic algebra package written in
>Scheme. Matlab and Maple have good numerical routines but the
>programming languages that they are based on leave much to be desired.

Me too, definitely!
I just installed MIT Scheme on my PC, and seeing how swiftly it
performs (compared to Maple), and being myself an old Lisp aficionado,
I decided that from this day onward, as far as possible I'll code all
my mathematical code in Scheme instead of Maple. But before that, it
would be nice to have various often usen libraries of Maple implemented
in Scheme. I personally need mostly the packages related with
elementary number theory, linear algebra, group theory and combinatorics.
(I.e. mostly things discrete/symbolic, not numeric).


Here are the lists of functions what one finds in those Maple libraries:

?combinat;
Description: The combinat package contains combinatorial functions such as
permutations, combinations, and partitions. 

The functions available are:
Chi         bell        binomial cartprod   character  
choose      composition conjpart decodepart encodepart 
fibonacci   firstpart   graycode inttovec   lastpart   
multinomial nextpart    numbcomb numbcomp   numbpart   
numbperm    partition   permute  powerset   prevpart   
randcomb    randpart    randperm stirling1  stirling2  
subsets     vectoint                                    
 

?group;
The functions in this package are the following:
DerivedS     LCS      NormalClosure RandElement Sylow       
areconjugate center   centralizer   convert     core        
cosets       cosrep   derived       grelgroup   groupmember 
grouporder   inter    invperm       isabelian   isnormal    
issubgroup   mulperms normalizer    orbit       permgroup   
permrep      pres     subgrel       type            

In addition, when this package has been loaded, the type function
will accept disjcyc, and the convert function will accept disjcyc
and permlist as second arguments.
These provide type-checking and conversion routines for the data
types used within the group package. See the information on
the type and convert functions for details. 

E.g. stuff like this:

with(group):
> convert([3,4,1,2,7,6,5],'disjcyc');
                       [[1, 3], [2, 4], [5, 7]]

> pg := permgroup(7, {a=[[1,2]], b = [[1,2,3,4,5,6,7]]}):
> convert([a,b,1/a],'disjcyc',pg);

                       [[1, 3, 4, 5, 6, 7, 2]]

> convert([[2,4,1], [7,3]],'permlist',7);

                        [2, 4, 7, 1, 5, 6, 3]



Then one should be also able to iterate (map) any particular
function over an abstractly specified group (with either
using relators and generators or just permutation generators)
using an algorithm like Schreier-Sims given for
example in D. L. Kreher and D. R. Stinson,
Combinatorial Algorithms, Generation, Enumeration and Search,
CRC Press, 1998.



?numtheory;

The functions available are:
B          F          GIgcd     J         L         
M          bernoulli  bigomega  cfrac     cfracpol  
cyclotomic divisors   euler     factorEQ  factorset 
fermat     ifactor    ifactors  imagunit  index     
invcfrac   invphi     isolve    isprime   issqrfree 
ithprime   jacobi     kronecker lambda    legendre  
mcombine   mersenne   minkowski mipolys   mlog      
mobius     mroot      msqrt     nearestp  nextprime 
nthconver  nthdenom   nthnumer  nthpow    order     
pdexpand   phi        pprimroot prevprime primroot  
quadres    rootsunity safeprime sigma     sq2factor 
sum2sqr    tau        thue                          


?linalg;

The functions available are:
GramSchmidt JordanBlock LUdecomp    QRdecomp    addcol      
addrow      adjoint     angle       augment     backsub     
band        basis       bezout      blockmatrix charmat     
charpoly    cholesky    col         coldim      colspace    
colspan     companion   cond        copyinto    crossprod   
curl        definite    delcols     delrows     det         
diag        diverge     dotprod     eigenval    eigenvect   
entermatrix equal       exponential extend      ffgausselim 
fibonacci   forwardsub  frobenius   gausselim   gaussjord   
geneqns     genmatrix   grad        hadamard    hermite     
hessian     hilbert     htranspose  ihermite    indexfunc   
innerprod   intbasis    inverse     ismith      issimilar   
iszero      jacobian    jordan      kernel      laplacian   
leastsqrs   linsolve    matadd      matrix      minor       
minpoly     mulcol      multiply    norm        normalize   
orthog      permanent   pivot       potential   randmatrix  
randvector  rank        references  row         rowdim      
rowspace    rowspan     scalarmul   singval     smith       
stack       submatrix   subvector   sumbasis    swapcol     
swaprow     sylvester   toeplitz    trace       transpose   
vandermonde vecpotent   vectdim     vector      wronskian    



Then also the such equation solving-functions as solve, msolve, rsolve
(possibly also dsolve) would be nice to have, although
that would require more programming (deductive) power, I guess.

So, any pointers for any work already done to this direction?
(or is there any such Lisp-library which would be a reasonably
easy to convert to Scheme?)



Yours,

Antti Karttunen

From: Sashank Varma
Subject: Re: Symbolic algebra package for Scheme?
Date: 
Message-ID: <sashank.varma-0901022035480001@129.59.212.53>
In article <············@walrus.megabaud.fi>, ······@walrus.megabaud.fi
(Antti Karttunen) wrote:

>I just installed MIT Scheme on my PC, and seeing how swiftly it
>performs (compared to Maple), and being myself an old Lisp aficionado,
>I decided that from this day onward, as far as possible I'll code all
>my mathematical code in Scheme instead of Maple. But before that, it
>would be nice to have various often usen libraries of Maple implemented
>in Scheme. I personally need mostly the packages related with
>elementary number theory, linear algebra, group theory and combinatorics.
>(I.e. mostly things discrete/symbolic, not numeric).

Could some of the code in xlisp-state and R, the GNU version of
S whose language is derived from Scheme, supply some of the
routines you seek?
From: Antti Karttunen
Subject: Re: Symbolic algebra package for Scheme?
Date: 
Message-ID: <a1jpi8$bfr$1@walrus.megabaud.fi>
In article <······························@129.59.212.53>,
Sashank Varma <·············@vanderbilt.edu> wrote:
>In article <············@walrus.megabaud.fi>, ······@walrus.megabaud.fi
>(Antti Karttunen) wrote:
>
>>I just installed MIT Scheme on my PC, and seeing how swiftly it
>>performs (compared to Maple), and being myself an old Lisp aficionado,
>>I decided that from this day onward, as far as possible I'll code all
>>my mathematical code in Scheme instead of Maple. But before that, it
>>would be nice to have various often usen libraries of Maple implemented
>>in Scheme. I personally need mostly the packages related with
>>elementary number theory, linear algebra, group theory and combinatorics.
>>(I.e. mostly things discrete/symbolic, not numeric).
>
>Could some of the code in xlisp-state and R, the GNU version of
>S whose language is derived from Scheme, supply some of the
>routines you seek?

R and S? (it's hard to find appropriate sites from Google
or Altavista with these keywords... Reminds me of the time,
when I was trying to find information about the programming
language called "M"). Could you supply some URLs please?


Meanwhile, I found this site from CMU Artificial Intelligence Repository:

http://www-2.cs.cmu.edu/afs/cs/project/ai-repository/ai/lang/scheme/code/math/0.html


Math Library: Scheme code for various mathematical functions.

lang/scheme/code/math/

   fib/       Fib: Four different implementations of Fibonacci.
   jacal/     JACAL: Symbolic math system written in Scheme.
   matrix/    Matrix: Scheme procedures for matrix manipulation
   misc/      Math Library: Miscellaneous mathematical Scheme 
              code
   primes/    Primes: Simple sieve-based generator of prime 
              numbers.
   random/    Random number generator
   satisfy/   SATISFY: Simple program to solve satisfiability.



I think these would give a good start (or at least be instructive)
for building a non-proprietary and free alternative to
Maple/Mathematica in Scheme.


Terveisin,

Antti Karttunen
From: Andrzej Lewandowski
Subject: Re: Symbolic algebra package for Scheme?
Date: 
Message-ID: <iucr3ukc1uu67hfnmhtlettlslpla46m7h@4ax.com>
On 10 Jan 2002 12:14:32 +0200, ······@walrus.megabaud.fi (Antti
Karttunen) wrote:

> 
>>Could some of the code in xlisp-state and R, the GNU version of
>>S whose language is derived from Scheme, supply some of the
>>routines you seek?
>
>R and S? (it's hard to find appropriate sites from Google
>or Altavista with these keywords... Reminds me of the time,
>when I was trying to find information about the programming
>language called "M"). Could you supply some URLs please?
>

http://www.r-project.org/

A.L.
From: Jussi Piitulainen
Subject: Re: Symbolic algebra package for Scheme?
Date: 
Message-ID: <qotvgeah0q2.fsf@ahtela.ling.helsinki.fi>
Antti Karttunen writes:

> R and S? (it's hard to find appropriate sites from Google
> or Altavista with these keywords... Reminds me of the time,
> when I was trying to find information about the programming
> language called "M"). Could you supply some URLs please?

<http://www.r-project.org>
-- 
From: Sashank Varma
Subject: Re: Symbolic algebra package for Scheme?
Date: 
Message-ID: <sashank.varma-1001020848480001@129.59.212.53>
In article <···············@ahtela.ling.helsinki.fi>, Jussi Piitulainen
<········@ling.helsinki.fi> wrote:

>Antti Karttunen writes:
>
>> R and S? (it's hard to find appropriate sites from Google
>> or Altavista with these keywords... Reminds me of the time,
>> when I was trying to find information about the programming
>> language called "M"). Could you supply some URLs please?
>
><http://www.r-project.org>

Thanks for saving me the trouble of looking this up.

Relevant quote from the FAQ at this site:

===
The design of R has been heavily influenced by two existing languages:
Becker, Chambers & Wilks' S (see What is S?) and Sussman's Scheme. Whereas
the resulting language is very similar in appearance to S, the underlying
implementation and semantics are derived from Scheme.
===

Seemed pretty nice when I looked at it a year or two ago.  Aside
from the infix notation, it *felt* like Lisp/Scheme.

By the way, if you wind up translating R code into Scheme or
(better yet!) Common Lisp, please do post a pointer to your
work so others can benefit.
From: Oliver Bandel
Subject: Re: Symbolic algebra package for Scheme?
Date: 
Message-ID: <a1k63k$11v@first.in-berlin.de>
In comp.lang.scheme Antti Karttunen <······@walrus.megabaud.fi> wrote:
> In article <······························@129.59.212.53>,
> Sashank Varma <·············@vanderbilt.edu> wrote:
>>In article <············@walrus.megabaud.fi>, ······@walrus.megabaud.fi
>>(Antti Karttunen) wrote:
>>
>>>I just installed MIT Scheme on my PC, and seeing how swiftly it
>>>performs (compared to Maple), and being myself an old Lisp aficionado,
>>>I decided that from this day onward, as far as possible I'll code all
>>>my mathematical code in Scheme instead of Maple. But before that, it
>>>would be nice to have various often usen libraries of Maple implemented
>>>in Scheme. I personally need mostly the packages related with
>>>elementary number theory, linear algebra, group theory and combinatorics.
>>>(I.e. mostly things discrete/symbolic, not numeric).
>>
>>Could some of the code in xlisp-state and R, the GNU version of
>>S whose language is derived from Scheme, supply some of the
>>routines you seek?

> R and S? (it's hard to find appropriate sites from Google
> or Altavista with these keywords... Reminds me of the time,
> when I was trying to find information about the programming
> language called "M"). Could you supply some URLs please?
[...]

There was an article in the german "Linux-Magazin" 12/1998
with a lots of URLs.
A lot of the older articles are freely available from
their website: http://www.linux-magazin.de

If that Article on statistics is not available, send me
a mail and I can scan the list of URLs and send you it
via mail.

There are a lot of statistics-programs, and some of them
are free.

But that R and S are derived from scheme is new to me
and I'm sceptical about this.


Ciao,
   Oliver
From: Sashank Varma
Subject: Re: Symbolic algebra package for Scheme?
Date: 
Message-ID: <sashank.varma-1001020944160001@129.59.212.53>
In article <··········@first.in-berlin.de>, Oliver Bandel
<······@first.in-berlin.de> wrote:

>But that R and S are derived from scheme is new to me
>and I'm sceptical about this.

Not S, just R.  The R FAQ claims the language is essentially
S with the semantics of Scheme.  This is exactly how it felt
to me when I played around with it a year or two ago.
From: Sampo Smolander
Subject: Re: Symbolic algebra package for Scheme?
Date: 
Message-ID: <a1kaiq$1np$1@oravannahka.helsinki.fi>
In comp.lang.scheme Oliver Bandel <······@first.in-berlin.de> wrote:
> But that R and S are derived from scheme is new to me
> and I'm sceptical about this.

"Stages in the Evolution of S"
  http://cm.bell-labs.com/cm/ms/departments/sia/S/history.html
does not mention Sceme or Lisp, but R-faq in
  http://www.r-project.org/
tells:

"The design of R has been heavily influenced by two existing languages:
Becker, Chambers & Wilks' S (see What is S?) and Sussman's Scheme.
Whereas the resulting language is very similar in appearance to S,
the underlying implementation and semantics are derived from Scheme."

The main difference maybe being, S uses static scope,
R uses lexical scope.

(Btw, how does dynamic scope relate to the previous two?)

-- 
Sampo Smolander at Helsinki Fi......http://www.rni.helsinki.fi/~shs/
"Grandmothers gave birth to the human race simply by refusing to die 
 when their ovaries did." - Kristen Hawkes
From: Sampo Smolander
Subject: Re: Symbolic algebra package for Scheme?
Date: 
Message-ID: <a1me11$619$1@oravannahka.helsinki.fi>
Sampo Smolander <····················@helsinki.fi> wrote:
> The main difference maybe being, S uses static scope,
> R uses lexical scope.
> (Btw, how does dynamic scope relate to the previous two?)

Or, at least, that is how the R-faq puts it:
"Whereas S (like C) by default uses static scoping,
R (like Scheme) has adopted lexical scoping."

Other sources seem to say that static and lexical mean the same.
Not knowing how the scoping in S works, I cannot guess whether
there is a misconception in the R-faq...

 - Sampo Smolander
From: David Rush
Subject: Re: Symbolic algebra package for Scheme?
Date: 
Message-ID: <okf6665gn3h.fsf@bellsouth.net>
Sampo Smolander <····················@helsinki.fi> writes:
> Sampo Smolander <····················@helsinki.fi> wrote:
> > The main difference maybe being, S uses static scope,
> > R uses lexical scope.
> > (Btw, how does dynamic scope relate to the previous two?)
> 
> Or, at least, that is how the R-faq puts it:
> "Whereas S (like C) by default uses static scoping,
> R (like Scheme) has adopted lexical scoping."

From this I would have to assume that in S:

        1) No closures, or IOW
        2) In nested functions, free vars refer to globals

david rush
-- 
Research is what I am doing when I don't know what I am doing."
	-- Wernher von Braun
From: Brian P Templeton
Subject: Re: Symbolic algebra package for Scheme?
Date: 
Message-ID: <87y9j3ila2.fsf@tunes.org>
Sampo Smolander <····················@helsinki.fi> writes:

> In comp.lang.scheme Oliver Bandel <······@first.in-berlin.de> wrote:
>> But that R and S are derived from scheme is new to me
>> and I'm sceptical about this.
> 
> "Stages in the Evolution of S"
>   http://cm.bell-labs.com/cm/ms/departments/sia/S/history.html
> does not mention Sceme or Lisp, but R-faq in
>   http://www.r-project.org/
> tells:
> 
> "The design of R has been heavily influenced by two existing languages:
> Becker, Chambers & Wilks' S (see What is S?) and Sussman's Scheme.
> Whereas the resulting language is very similar in appearance to S,
> the underlying implementation and semantics are derived from Scheme."
> 
> The main difference maybe being, S uses static scope,
> R uses lexical scope.
> 
According to FOLDOC, static scope *is* lexical scope. However, FOLDOC
is often wrong (for example, it lists refcounters as a type of garbage
collector).

> (Btw, how does dynamic scope relate to the previous two?)
> 
Since I've already got an XTerm opened, here's the FOLDOC entry for
dynamic scope:

(Here's another example of FOLDOC being very incorrect. ``Most''
versions of Lisp do not use dynamic scope, although some early
implementations (until Scheme and Common Lisp) did.
     ________________________
____/ `dict "dynamic scope"' \________________________________________
| 1 definition found
| 
| From The Free On-line Dictionary of Computing (07Oct99) [foldoc]:
| 
|   dynamic scope
|   
|           <language> In a dynamically scoped language, e.g. most
|           versions of {Lisp}, an {identifier} can be referred to, not
|           only in the block where it is declared, but also in any
|           function or procedure called from within that block, even if
|           the called procedure is declared outside the block.
|   
|           This can be implemented as a simple stack of (identifier,
|           value) pairs, accessed by searching down from the top of stack
|           for the most recent instance of a given identifier.
|   
|           The opposite is {lexical scope}.  A common implementation of
|           dynamic scope is {shallow binding}.
|   
|           (1996-07-11)
|_____________________________________________________________________

> -- 
> Sampo Smolander at Helsinki Fi......http://www.rni.helsinki.fi/~shs/
> "Grandmothers gave birth to the human race simply by refusing to die 
>  when their ovaries did." - Kristen Hawkes

hth,
-- 
BPT <···@tunes.org>	    		/"\ ASCII Ribbon Campaign
backronym for Linux:			\ / No HTML or RTF in mail
	Linux Is Not Unix			 X  No MS-Word in mail
Meme plague ;)   --------->		/ \ Respect Open Standards
From: Lauri Alanko
Subject: Garbage Collection (Re: Symbolic algebra package for Scheme?)
Date: 
Message-ID: <slrna4667m.tr.la@la.pp.htv.fi>
Brian P Templeton spake thusly:
> According to FOLDOC, static scope *is* lexical scope. However, FOLDOC
> is often wrong (for example, it lists refcounters as a type of garbage
> collector).

And how is this wrong? For example, Paul Wilson's classic survey
"Uniprocessor Garbage Collection Techniques" begins with: "Garbage
collection is the automatic reclamation of computer storage". Clearly
refcounting falls inside this definition, and in fact it is the first
technique discussed in Wilson's paper.

Of course, plain refcounting is not a very good GC technique, but its
purpose definitely is the same as that of all the others: free the
programmer from the burden of having to free resources when they are no
longer needed.

You probably associate the term "garbage collection" with copying or
mark-sweep -collectors, but I think that's a bit too restrictive.
Wilson's paper labels these techniques as "tracing".

[Followups to comp.lang.scheme, since .scheme/.lisp -crossposting is Not
A Good Idea.]


Lauri Alanko
··@iki.fi
From: israel r t
Subject: Re: Symbolic algebra package for Scheme?
Date: 
Message-ID: <gvuu3uk7s3v79e94roni87t7hfr6gdjurq@4ax.com>
On 10 Jan 2002 12:14:32 +0200, ······@walrus.megabaud.fi (Antti
Karttunen) wrote:


>R and S? (it's hard to find appropriate sites from Google
>or Altavista with these keywords... Reminds me of the time,
>when I was trying to find information about the programming
>language called "M"). Could you supply some URLs please?
Google search:

"R" language

The first three returned are:

The R Project for Statistical Computing
The R Project for Statistical Computing. Your browser seems not to
support
frames, here is the contents page of the R Project's website. 
Description: R, also known as `GNU S', is a free system for
statistical computation and graphics similar to S....
Category: Computers > Artificial Intelligence > Machine Learning >
Software
www.r-project.org/ - 1k - Cached - Similar pages

The R Language
Statistical Data Analysis. Manuals. An Introduction to R, Writing R
Extensions. The R language definition, R Data Import/Export. ...
www.stat.math.ethz.ch/R-alpha/R-patched/doc/html/ - 2k - Cached -
Similar pages

The R Language
Statistical Data Analysis. Choose from the R Project Home page,. the
newest
versions of the R manuals, (ie, their "help.start()" / HTML version),.
...
www.stat.math.ethz.ch/R/ - 2k - Cached - Similar pages
[ More results from www.stat.math.ethz.ch ]
From: Rob Warnock
Subject: Re: Symbolic algebra package for Scheme?
Date: 
Message-ID: <a2ddaf$542ko$1@fido.engr.sgi.com>
Antti Karttunen <······@walrus.megabaud.fi> wrote:
+---------------
| >Could some of the code in xlisp-state and R, the GNU version of
| >S whose language is derived from Scheme, supply some of the
| >routines you seek?
| 
| R and S? (it's hard to find appropriate sites from Google
| or Altavista with these keywords... Reminds me of the time,
| when I was trying to find information about the programming
| language called "M").
+---------------

As per <URL:http://www.google.com/help/basics.html>, Google provides
the prefix "+" to force inclusion of "common" or overly-short words,
single digits, or letters, even inside quoted strings (which they call
"phrase searches") Therefore if you search on:

	"programming language +R"
or:
	"programming language +M"

you immediately find many useful hits.


-Rob

-----
Rob Warnock, 30-3-510		<····@sgi.com>
SGI Network Engineering		<http://www.meer.net/~rpw3/>
1600 Amphitheatre Pkwy.		Phone: 650-933-1673
Mountain View, CA  94043	PP-ASEL-IA

[Note: ·········@sgi.com and ········@sgi.com aren't for humans ]  
From: ····@safebunch.com
Subject: Re: Symbolic algebra package for Scheme?
Date: 
Message-ID: <qb2%7.10631$cD4.22726@www.newsranger.com>
Hi All,

can someone please enlighten me on Scheme?

Have never heard of it.  Is it freeware and what are it's applications or scope?

I'll research on the web and see what I can find.

Thanks for any input, Flip
From: Christopher Browne
Subject: Re: Symbolic algebra package for Scheme?
Date: 
Message-ID: <m3g05fjjza.fsf@chvatal.cbbrowne.com>
····@safebunch.com writes:
> can someone please enlighten me on Scheme?

   In the days when Sussman was a novice, Minsky once came to him as he
   sat hacking at the PDP-6.

   "What are you doing?", asked Minsky.

   "I am training a randomly wired neural net to play Tic-Tac-Toe",
   Sussman replied.

   "Why is the net wired randomly?", asked Minsky.

   "I do not want it to have any preconceptions of how to play", Sussman
   said.

   Minsky then shut his eyes.

   "Why do you close your eyes?", Sussman asked his teacher.

   "So that the room will be empty."

   At that moment, Sussman was enlightened.

> Have never heard of it.  Is it freeware and what are it's
> applications or scope?

It is the name of a computer language.  There are MANY
implementations, with all sorts of licensing arrangements.

The word "scope" is an ironic one to use; early versions of Scheme
(back in the 1980s) were amongst the first languages to use lexical
scope instead of dynamic scope, and the addition of lexical scoping to
Common Lisp is generally attributed as a result of the Scheme
experiments.
-- 
(reverse (concatenate 'string ·············@" "enworbbc"))
http://www3.sympatico.ca/cbbrowne/scheme.html
"X is like pavement:  once you figure out how to lay  it on the ground
and  paint yellow  lines on  it, there  isn't much  left to  say about
it. The exciting new developments  are happening in things that run ON
TOP of  the pavement, like  cars, bicycles, trucks,  and motorcycles."
-- Eugene O'Neil <······@cs.umb.edu>
From: Martin Gay
Subject: Re: Symbolic algebra package for Scheme?
Date: 
Message-ID: <3C3D34EF.23F430A@bigpond.com>
Antti Karttunen wrote:

> In article <····························@posting.google.com>,
> ····@pobox.com <····@pobox.com> wrote:
> >Jeffrey Mark Siskind has asked to post the following message regarding
> >the discussion about SVD and eigenvalues:
> >
> >> Doesn't Stalin or QobiScheme already include SVD implementation? I
> >> seem to remember mentioning of SVD on Jeffrey Mark Siskind's web
> >> site. The web site seems to have changed since then.
> >
> >In the long term I would like to see a high quality comprehensive
> >numerical computing and symbolic algebra package written in
> >Scheme. Matlab and Maple have good numerical routines but the
> >programming languages that they are based on leave much to be desired.
>
> Me too, definitely!
> I just installed MIT Scheme on my PC, and seeing how swiftly it
> performs (compared to Maple), and being myself an old Lisp aficionado,
> I decided that from this day onward, as far as possible I'll code all
> my mathematical code in Scheme instead of Maple. But before that, it
> would be nice to have various often usen libraries of Maple implemented
> in Scheme. I personally need mostly the packages related with
> elementary number theory, linear algebra, group theory and combinatorics.
> (I.e. mostly things discrete/symbolic, not numeric).
>
> Here are the lists of functions what one finds in those Maple libraries:
>
> ?combinat;
> Description: The combinat package contains combinatorial functions such as
> permutations, combinations, and partitions.
>
> The functions available are:
> Chi         bell        binomial cartprod   character
> choose      composition conjpart decodepart encodepart
> fibonacci   firstpart   graycode inttovec   lastpart
> multinomial nextpart    numbcomb numbcomp   numbpart
> numbperm    partition   permute  powerset   prevpart
> randcomb    randpart    randperm stirling1  stirling2
> subsets     vectoint
>
>
> ?group;
> The functions in this package are the following:
> DerivedS     LCS      NormalClosure RandElement Sylow
> areconjugate center   centralizer   convert     core
> cosets       cosrep   derived       grelgroup   groupmember
> grouporder   inter    invperm       isabelian   isnormal
> issubgroup   mulperms normalizer    orbit       permgroup
> permrep      pres     subgrel       type
>
> In addition, when this package has been loaded, the type function
> will accept disjcyc, and the convert function will accept disjcyc
> and permlist as second arguments.
> These provide type-checking and conversion routines for the data
> types used within the group package. See the information on
> the type and convert functions for details.
>
> E.g. stuff like this:
>
> with(group):
> > convert([3,4,1,2,7,6,5],'disjcyc');
>                        [[1, 3], [2, 4], [5, 7]]
>
> > pg := permgroup(7, {a=[[1,2]], b = [[1,2,3,4,5,6,7]]}):
> > convert([a,b,1/a],'disjcyc',pg);
>
>                        [[1, 3, 4, 5, 6, 7, 2]]
>
> > convert([[2,4,1], [7,3]],'permlist',7);
>
>                         [2, 4, 7, 1, 5, 6, 3]
>
> Then one should be also able to iterate (map) any particular
> function over an abstractly specified group (with either
> using relators and generators or just permutation generators)
> using an algorithm like Schreier-Sims given for
> example in D. L. Kreher and D. R. Stinson,
> Combinatorial Algorithms, Generation, Enumeration and Search,
> CRC Press, 1998.
>
> ?numtheory;
>
> The functions available are:
> B          F          GIgcd     J         L
> M          bernoulli  bigomega  cfrac     cfracpol
> cyclotomic divisors   euler     factorEQ  factorset
> fermat     ifactor    ifactors  imagunit  index
> invcfrac   invphi     isolve    isprime   issqrfree
> ithprime   jacobi     kronecker lambda    legendre
> mcombine   mersenne   minkowski mipolys   mlog
> mobius     mroot      msqrt     nearestp  nextprime
> nthconver  nthdenom   nthnumer  nthpow    order
> pdexpand   phi        pprimroot prevprime primroot
> quadres    rootsunity safeprime sigma     sq2factor
> sum2sqr    tau        thue
>
> ?linalg;
>
> The functions available are:
> GramSchmidt JordanBlock LUdecomp    QRdecomp    addcol
> addrow      adjoint     angle       augment     backsub
> band        basis       bezout      blockmatrix charmat
> charpoly    cholesky    col         coldim      colspace
> colspan     companion   cond        copyinto    crossprod
> curl        definite    delcols     delrows     det
> diag        diverge     dotprod     eigenval    eigenvect
> entermatrix equal       exponential extend      ffgausselim
> fibonacci   forwardsub  frobenius   gausselim   gaussjord
> geneqns     genmatrix   grad        hadamard    hermite
> hessian     hilbert     htranspose  ihermite    indexfunc
> innerprod   intbasis    inverse     ismith      issimilar
> iszero      jacobian    jordan      kernel      laplacian
> leastsqrs   linsolve    matadd      matrix      minor
> minpoly     mulcol      multiply    norm        normalize
> orthog      permanent   pivot       potential   randmatrix
> randvector  rank        references  row         rowdim
> rowspace    rowspan     scalarmul   singval     smith
> stack       submatrix   subvector   sumbasis    swapcol
> swaprow     sylvester   toeplitz    trace       transpose
> vandermonde vecpotent   vectdim     vector      wronskian
>
> Then also the such equation solving-functions as solve, msolve, rsolve
> (possibly also dsolve) would be nice to have, although
> that would require more programming (deductive) power, I guess.
>
> So, any pointers for any work already done to this direction?
> (or is there any such Lisp-library which would be a reasonably
> easy to convert to Scheme?)
>
> Yours,
>
> Antti Karttunen

hihi

Try http://www-swiss.ai.mit.edu/~gjs/6946/linux-install
Associated with the book "Structure and Interpretation of Classical
Mechanics".

Probably has some of the stuff you are after and I'm sure is expandable.
I also am attracted to the language and can see a lot of nice ways of doing
stuff like differential geometry etc . Possible applications in the financial
markets
from a trading perspective as well...who knows !!!

regards
marty
From: Jeff Greif
Subject: Re: Symbolic algebra package for Scheme?
Date: 
Message-ID: <x6N%7.90773$WK1.24023310@typhoon.we.rr.com>
Some of what you want might be in Jacal

http://www.swiss.ai.mit.edu/~jaffer/jacal_1.html

Jeff
From: Henry Lebowzki
Subject: Re: Symbolic algebra package for Scheme?
Date: 
Message-ID: <a1oa1c$ru34l$1@ID-78052.news.dfncis.de>
Hello-


    Why not look at the Maxima CAS from MIT?

    It's written in CLisp, and it's open-source.

    Regs,
    hzi
"Jeff Greif" <······@spam-me-not.alumni.princeton.edu> escreveu na mensagem
·····························@typhoon.we.rr.com...
> Some of what you want might be in Jacal
>
> http://www.swiss.ai.mit.edu/~jaffer/jacal_1.html
>
> Jeff
>
>
From: Christopher Stacy
Subject: Re: Symbolic algebra package for Scheme?
Date: 
Message-ID: <u1ygwhwb4.fsf@spacy.Boston.MA.US>
>>>>> On Sat, 12 Jan 2002 01:14:35 -0200, Henry Lebowzki ("Henry") writes:
 Henry> Hello-
 Henry>     Why not look at the Maxima CAS from MIT?
 Henry>     It's written in CLisp, and it's open-source.
 Henry>     Regs,
 Henry>     hzi

We like to call the language "Common Lisp", not "CLisp", 
because "CLISP" is the name of one particular vendor's 
Common Lisp programming system.

MACSYMA is the name of a program written at MIT on the PDP-10 in MACLISP
(the language from which Common Lisp descended), and a particular branch of
the MACSYMA source code (basically, the main part of MACSYMA circa 1982 that
the U.S. Department of Energy decided it had paid for).  It has been mostly
ported to Common Lisp (and some enhancements made) under the name MAXIMA by
William F. Shelter, and made available to the public under the GNU public
license.  You can find MAXIMA by looking at 
  <http://www.ma.utexas.edu/users/wfs/maxima.html>.
The source code is available there, and there packages 
and executables for Linux and Windows.

Back around 1982 MACSYMA was exclusively licensed to Symbolics, 
where development continued and Kent Pitman ported it from MACLISP 
to Common Lisp.  Later, it was spun off as a seperate company called
Macsyma, Inc.  Many very substantial enhancements were made by them.
Not long ago, MACSYMA was acquired by Symbolics Technology, Inc, which
is the latest company to own the (long bankrupt) Symbolics assets.
However, the domain www.macsyma.com seems to have gone away,
and the web page at www.symbolics.com doesn't mention Macsyma.
So I don't know who's got the commercial version of Macsyma now.
From: Andreas Bogk
Subject: Re: Symbolic algebra package for Scheme?
Date: 
Message-ID: <876667lfne.fsf@teonanacatl.andreas.org>
Christopher Stacy <······@spacy.Boston.MA.US> writes:

> the U.S. Department of Energy decided it had paid for).  It has been mostly
> ported to Common Lisp (and some enhancements made) under the name MAXIMA by
> William F. Shelter, and made available to the public under the GNU public
> license.  You can find MAXIMA by looking at 
>   <http://www.ma.utexas.edu/users/wfs/maxima.html>.

William Shelter has passed, and development is now hosted at
http://maxima.sourceforge.net.

MAXIMA is probably the most advanced open source algebra package
available.

> However, the domain www.macsyma.com seems to have gone away,
> and the web page at www.symbolics.com doesn't mention Macsyma.
> So I don't know who's got the commercial version of Macsyma now.

The macsyma.com domain is still registered to Macsyma Inc.  The
software has probably gone the way of all commercial software that no
longer pays for itself...

Andreas

-- 
"In my eyes it is never a crime to steal knowledge. It is a good
theft. The pirate of knowledge is a good pirate."
                                                       (Michel Serres)
From: P.M.
Subject: Re: Symbolic algebra package for Scheme?
Date: 
Message-ID: <6db3f637.0201131707.6261b166@posting.google.com>
Andreas Bogk <·······@andreas.org> wrote in message 
> 
> MAXIMA is probably the most advanced open source algebra package
> available.

It would be great if there were a std scheme version of this (minus
the pretty graphics).  I wonder if Jacal would be a good starting
point?
From: Christopher Stacy
Subject: Re: Symbolic algebra package for Scheme?
Date: 
Message-ID: <u1ygtockc.fsf@spacy.Boston.MA.US>
>>>>> On 13 Jan 2002 17:07:37 -0800, P M ("P") writes:

 P> Andreas Bogk <·······@andreas.org> wrote in message 
 >> 
 >> MAXIMA is probably the most advanced open source algebra package
 >> available.

 P> It would be great if there were a std scheme version of this
 P> (minus the pretty graphics).  I wonder if Jacal would be a good
 P> starting point?

Why don't you write one?
From: P.M.
Subject: Re: Symbolic algebra package for Scheme?
Date: 
Message-ID: <6db3f637.0201140035.7e8f983d@posting.google.com>
Christopher Stacy <······@spacy.Boston.MA.US> wrote in message news:<·············@spacy.Boston.MA.US>...
> >>>>> On 13 Jan 2002 17:07:37 -0800, P M ("P") writes:
> 
>  P> Andreas Bogk <·······@andreas.org> wrote in message 
>  >> 
>  >> MAXIMA is probably the most advanced open source algebra package
>  >> available.
> 
>  P> It would be great if there were a std scheme version of this
>  P> (minus the pretty graphics).  I wonder if Jacal would be a good
>  P> starting point?
> 
> Why don't you write one?

I'd love to, except that:
1. I'm not exactly a genius when it comes to mathematics.
2. I'm not so good with scheme (but getting better).

Of course, it would be a great learning excercise, but I fear the end
result of my efforts would be bug ridden, poorly implemented, and not
satisfactory to the majority of mathematically inclined scheme users
and mathemeticians.