# [Maxima] XML package and MathML

fred.wang at free.fr fred.wang at free.fr
Mon Jun 16 01:33:48 CDT 2008

```Thanks Robert,

I took into account what you proposed to make changes in my package (not on line
for the moment). I have some remarks:

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)?
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".

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)

Also, I try to translate some operations using combination of Maxima functions,
but please indicate me if there are more direct functions to do that.

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

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

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

Finally there are other operations that I was not able to translate. Here are
some of them:

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/>)

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

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))

Best regards,

Frédéric
```