I would be interested in how you propose to encode a statement like this
sin(pi/6)
written in XML
to Maxima.
The reason I give this example is that if you type sin(%pi/6) in to Maxima,
you
get the value 1/2.
Thus if you had the XML for the statement
sin(pi/6)=1/2
and you "implemented it in Maxima" it seems you get the (very different)
statement,
1/2=1/2.
whereas if you had the statement
sin(pi/12)=sqrt(2)*(sqrt(3)-1)/4
then Maxima would not visibly change the statement. (Although commercial
Macsyma would!)
?
In answer to your questions, and partly in answer to my own question above,
you could make up new names for every previously unknown operation, such as
mathml_P, mathml_N, mathml_vectorproduct, ...
and that perhaps you should also have mathml_sin() since using Maxima's
sin()
may be unsuitable.
But then, Maxima's +, *, /, - may be unsuitable too.
For example, the form of the result of (x+y)^2 depends on the setting of
expop [default 0].
Is the goal of the Maxima MathML project is to provide an alternative
(incredibly clumsy) input syntax for Maxima, that seems plausible and
perhaps has been achieved. But that doesn't convey semantics, it seems to
me.
[And of course the incredibly clumsy syntax of MathML can be created by some
much nicer MathML editor, so a human need not look at it.]
RJF
> -----Original Message-----
> From: maxima-bounces at math.utexas.edu
> [mailto:maxima-bounces at math.utexas.edu] On Behalf Of Fr?d?ric WANG
> Sent: Friday, June 06, 2008 1:49 AM
> To: Robert Dodier
> Cc: maxima at math.utexas.edu
> Subject: Re: [Maxima] XML package and MathML
>
> Hi Robert,
>
> First, I have no objection against licensing my files as "GPL, no
> specific version" to be compatible with the license of Maxima.
>
> Since my last post, I have implemented a lot of Content MathML
> functions (both "Strict" and "Pragmatic" syntaxes *). Nevertheless, I
> did not find in the help how to translate some MathML elements into a
> Maxima string (numbers refer to MathML 3 Working Draft *).
> Here is some
> of them:
>
> a) 4.4.2.1 to 4.4.2.3: sets related to functions (domain,
> range, image)
> b) 4.4.14.1 to 4.4.14.6: the sets of numbers P, N, Q, R, C
> c) 4.4.3.1 |vectorproduct| (|<vectorproduct/>|) and 4.4.3.3
> |outerproduct| (|<outerproduct/>|): the operations on vectors.
> d) 4.4.4.1 equivalent (<equivalent/>), 4.4.4.5 xor (<xor/>), 4.4.4.9
> implies (<implies/>): the logical operations.
> e) 4.4.13.3 trunc (<trunc/>) and 4.4.13.4 round (<round/>):
> approximations of result (different from ceiling and floor).
>
> c) and d) can be expressed using other Maxima functions though.
>
> Best regards,
>
> Fr?d?ric
>
> * http://www.w3.org/TR/MathML3/chapter4.html
> > Hi Frederic,
> >
> > Thanks for your message about the XML package. Please keep us
> > posted and feel free to ask for help to resolve any problems you
> > encounter.
> >
> > I see that you have licensed the files in the package as
> GPL version 3
> > or later. I wonder if I can ask you to change the license to GPL,
> > no specific version. It turns out that the main source code
> of Maxima
> > is licensed as GPL, no specific version. So it would be easiest if
> > the share files were licensed the same as the main source code.
> > Let me know what you think.
> >
> > All the best,
> >
> > Robert Dodier
> >
> >
> >
> _______________________________________________
> Maxima mailing list
> Maxima at math.utexas.edu
> http://www.math.utexas.edu/mailman/listinfo/maxima
>