XML package and MathML



On 6/16/08, fred.wang at free.fr <fred.wang at free.fr> wrote:

>  1) For the sets of numbers, maybe we should use a "%" ( %prime_numbers,
>  %natural_numbers...), just as it is the case with other constants (%e, %gamma)?

OK by me either way, with or without % .

>  By the way, I forgot to mention the "NaN" (not a number constant). The spec
>  defines it as "The result of an ill-posed floating computation", but I don't
>  think it is used in Maxima. Let's translate it as "%NaN".

OK.

>  2) For the logical operations, maybe we can use infix notations:
>         - a => b rather than implies(a,b)
>         - a <=> b rather than equivalent(a,b)

No, I would rather see words than symbols here.
Maxima doesn't already have these operators and I don't think they
should be invented just for this purpose.

>  1) 4.4.1.12 root (<root/>) - For the nth root of x, I use x^(1/n)

OK.

>  2) 4.4.10.1 factorof (<factorof/>) - For a "is a factor of" b, I use
>  "is(remainder(b,a)=0)"

I think remainder(b, a) = 0 is better (i.e. without the call to "is").

>  3) 4.4.27.1 log (<log/>) - For the log of x in the base b, I use log(x)/log(b)

OK.

>  1) Operations on functions. I guess they do not exist in Maxima since it was the
>  case for the set related to functions (domain, image...):
>
>  ;; 4.4.2.5 left_inverse
>  ;; 4.4.2.6 right_inverse
>  ;; 4.4.2.7 inverse (<inverse/>)
>  ;; 4.4.2.8 left_compose (<compose/>)

For all of these, and other named functions, just translate to the same
name in Maxima.

>  2) Selectors on vector/matrix:
>         - 4.4.3.6 vector_selector (<selector/>). A function that returns the ith
>  coordinate of a vector.

Well, I think if the vector is x, then this vector_selector is x[i].

>         - 4.4.3.7 matrix_selector (<matrix_selector/>). A function to get the element
>  (i,j) of a matrix. I only found functions to extract a column/row.

Likewise a[i, j] for a matrix a.

>  3) Definition of matrix by column: 4.4.17.3 matrix (<matrix.column/>)
>         I propose matrix_column(C1, C2, ... Cn) where Ci are lists.
>         Otherwise I can translate it as transpose(matrix(C1, ... Cn))

transpose(matrix(C1, ... Cn)) is better since it works already and
matrix_column is undefined.

Thanks for working on this!

Robert Dodier