Hello !
So I try :
> P := DistributedMultivariatePolynomial([x,y],Expression Integer)
> a: P := x
> a/x
> However, I guess, most people find this confusing.
Indeed...
Why axiom doesn't see the denominator as a DMP ([x,y], Expr Int) ?
The numerator is a DMP ([x,y], Expr Int).
Numerator and denominator of any fraction are in the same ring,
and have the same type.
The x variable can't be a variable of the Expression Integer Ring,
because this a is one of the polynomial.
// 1 //
I was waiting that axiom read a/x as (a::P)/(x::P) because I wait
the same calculus from my students on a sheet of paper.
Is it too difficult ?
// 2 //
I also wait a fail result for the command :
b := monomial(x,[0,0]::DirectProduct(2,NNI))$P
I understand wat is R[X], (R[X])[Y], (R[Y])[X], R[X,Y] and R[Y,X].
I don't understand what is (R[X])[X], so axiom might forget it.
And I don't understand why it's not interessing to add this patch :
.....
However for our purposes something rather primitive is sufficient:
All domains that contain variables need to export a function
variables2: % -> List Symbol. Then we can say in 'QFCAT':
if S has variables2: S -> List Symbol then
variables2: % -> List Symbol
variables2 f ==
merge(variables2(numer(f)), variables2(denom(f)))
and add the following to UP and 'MPOLY':
if R has variables2: R -> List Symbol then
coerce(r:R):% ==
if member?(x, variables2(r)) then
error "coefficient contains variable"
else coerce(r)$Rep
......
// 3 //
Why DMP doesn't accept OrderedSet but only List Symbol ?
* one writes a new domain with a new representation. For
'DistributedExpression' I failed to do so, since the proper representation
would be 'DMP', but this only accepts a 'List Symbol' as variables, for
expressions I need to allow an arbitrary 'OrderedSet' however.
If I'm right Expression are built over POLY which accept OrderedSet
or <<kernel>> as sin x and so.
_______________________________________________
Axiom-developer mailing list
[email protected]
http://lists.nongnu.org/mailman/listinfo/axiom-developer