Hi Waldek,
My new machinery did not consider situations of the form
if % has Ring then
minPoly: K -> SparseUnivariatePolynomial %
++ minPoly(k) returns p such that \spad{p(k) = 0}.
This is actual code from the code of ExpressionSpace.
https://github.com/hemmecke/fricas-svn/blob/master/src/algebra/fspace.spad.pamphlet#L165
Although this might be a syntactically correct statement and it probably
also works, since "% has Ring" is evaluated at runtime, it still looks a
bit wierd to me.
Why? Because it needs something like
D: Join(ExpressionSpace, Ring)
in order for D to provide "minPoly".
So an "external" category triggers whether "minPoly" is exported or not.
But, OK, that's the way it is.
Only one question, where can I find the code that deals with this case?
Will it also just doe something like
if % has T then
foo: X -> Dom(% pretend S)
where S is the category from the argument of Dom, i.e. Dom was defined as:
Dome(D: S): with ...
?
There is no checking of Join(categoryOf(%), T) actually refines S (so it
is somewhat unsafe, but at least it should work.
Ralf
PS: The documentation for "minPoly is questionable.
1) Always returning the zero polynomial would perfectly match the
specification.
2) Nothing says that the returned polynomial has minimal degree.
3) Nothing says that a *non-zero* polynomial exists (and in general
domains it certainly doesn't).
--
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.