On 08/11/2011 02:55 PM, Paul Onions wrote:
(5) -> eval(p, x::POLY gf16 = alpha)
2
(5) %A + 1
Type: Polynomial(FiniteFieldExtensionByPolynomial(PrimeField(2),?
^4+?+1))
-- TRANSCRIPT --
So here I think alpha is first coerced from a gf16 to a POLY gf16 then
p is lifted from a POLY gf2 to a POLY gf16.
Yes.
P:=POLY(gf16)
Basically the following coercions happen
x::P
a::P
Then x::P=alpha::P is of type Equation(P).
Since eval: (%, Equation(%)) -> %, the first argument p must be coerced
to P in order to be able actually call eval with correct argument type.
All that happens *before* eval is called. And here is exactly the place
where the FriCAS interpreter is supposed to inject these coercion
functions for you (if it is able to figure out something reasonable).
> Untyped expressions are perhaps easy to work with, but with typed
> expressions, you have more information at hand when you need it and thus
> it's less risky to do something wrong by accident.
Yes, that's what attracts me to FriCAS/Axiom: being less likely to get
undetected bogus results.
Good. I hope, we soon have a new developer. ;-)
Ralf
--
You received this message because you are subscribed to the Google Groups "FriCAS -
computer algebra system" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/fricas-devel?hl=en.