Paul,

p is a polynomial over the base field. eval expects to return a
polynomial of the same type.

Perhaps this is what you intended?

(6) -> eval(p::POLY gf16, x,a)::gf16

           2
   (6)  %A  + 1
                Type: FiniteFieldExtensionByPolynomial(PrimeField(2),?^4+?+1)

Regards,
Bill Page.

On Wed, Aug 10, 2011 at 5:13 PM, Paul Onions <[email protected]> wrote:
> I have the following problem when I try to evaluate a polynomial in a
> finite-field extension:
>
> -- START OF TRANSCRIPT --
> gf2 := PrimeField 2   -- the base field
>
>   (1)  PrimeField(2)
>
> Type: Type
> gf16 := FiniteFieldExtensionByPolynomial(gf2, x**4 + x + 1)  -- the
> extension field
>
>   (2)  FiniteFieldExtensionByPolynomial(PrimeField(2),?^4+?+1)
>
> Type: Type
> a := index(2)$gf16  -- a primitive element of the extension field
>
>   (3)  %A
>                Type: FiniteFieldExtensionByPolynomial(PrimeField(2),?
> ^4+?+1)
> order a  -- check primitiveness
>
>   (4)  15
>                                                        Type:
> PositiveInteger
> p := x**2 + 1 :: POLY gf2  -- a polynomial over the base field
>
>         2
>   (5)  x  + 1
>                                              Type:
> Polynomial(PrimeField(2))
> eval(p, x=a)
>
>   There are 3 exposed and 0 unexposed library operations named
>      equation having 2 argument(s) but none was determined to be
>      applicable. Use HyperDoc Browse, or issue
>                            )display op equation
>      to learn more about the available operations. Perhaps
>      package-calling the operation or using coercions on the
> arguments
>      will allow you to apply the operation.
>
>   Cannot find a definition or applicable library operation named
>      equation with argument type(s)
>                                 Variable(x)
>           FiniteFieldExtensionByPolynomial(PrimeField(2),?^4+?+1)
>
>      Perhaps you should use "@" to indicate the required return
> type,
>      or "$" to specify which version of the function you need.
> -- END OF TRANSCRIPT --
>
> where I expect
>  eval(p,x=a)
> to give the same result as
>  a**2 + 1
> which does indeed work, as follows:
>
> -- START OF TRANSCRIPT --
> (6) -> a**2 + 1
>
>          2
>   (6)  %A  + 1
>                Type: FiniteFieldExtensionByPolynomial(PrimeField(2),?
> ^4+?+1)
> -- END OF TRANSCRIPT --
>
> Any idea what I'm doing wrong?
>
> Thanks,
> Paul
>
> --
> 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.
>
>

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

Reply via email to