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