> Well, some parts of machinery related to PolynomialFactorizationExplicit
> are still unimplemented.

I guess it is not clear to everyone that PolynomialFactorizationExplicit
is a general idea to create efficient code for certain domains.

That is a domain R implements a function for a domain where R is a kind
of coefficient domain. So Integer implements a function

  squareFreePolynomial: SUP(Integer) -> Factored SUP Integer

for SUP = SparseUnivariatePolynomial.

Then the implementation of squareFree in SparseUnivariatePolynomial(R)
where R has PolynomialFactorizationExplicit can simply be

  squareFree(x: %): Factored % == squareFreePolynomial(x)$F

and that should be efficient, because specific properties of the
coefficient domain are dealt with in the coefficient domain itself.

Unfortunately, it is not done that way in FriCAS. I see from HyperDoc,
then squareFree of SUP(Integer) is implemented by the default package of
UnivariatePolynomialCategory and there it is:

    if R has GcdDomain then
      squareFree(p : %) ==
        squareFree(p)$UnivariatePolynomialSquareFree(R, %)

Ralf

-- 
You received this message because you are subscribed to the Google Groups 
"FriCAS - computer algebra system" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/fricas-devel/14c7b3a7-4a25-e98d-6b7b-2211a17d60d0%40hemmecke.org.

Reply via email to