On Fri, Dec 4, 2009 at 11:15 PM, Waldek Hebisch wrote: > This is an attempt at brainstorming. I wander if any of you > considered similar idea: > > 1) non-cancelling fraction domain. Cancelling common factors may > be expensive, so in cases where there is limied amount of > cancellation it may be faster to keep fractions in non-simplified > form. Even if there is a lot of cancellation it still may > be faster to do cancel common factor only in selected > places. Current FriCAS Fraction domain for GCD domains > always cancel common factors. Natural way to avoid > cancellation would be a new domain, like Fraction, but > which do not cancell common factors.
Waldek, I presume you are aware of the code by M.G. Richardson: src/algebra/ffrac.as.pamphlet This domain is written in Aldor but it is easily converted to Spad. See: http://axiom-wiki.newsynthesis.org/FormalFraction Is what you have in mind more complicated than this? > 2) algebraic numbers with integer denominators. It is always > possible to remove irrationals from denominator, so "canonical" > representaion of algebraic numbers may have integer > denominator. Removing irrationals from denominator may be > expensive, but it allows canceling common factors between > numerator and denominator, so it may limit coefficient > growth due to common factors. Similar idea may apply to > Expression(Integer) I like it. > 3) Expression with value in finite fields. In in the past > expression required OrderdSet and finite fields have no > natural order. But now Comparable is enough, and we may > easily add Comparable to finite fields. So it is possible > to create such expressions. A lot of things will be broken > because the code assumed characteristic 0 without saying so > explicitly (ordered field is necessarily of characteristic 0). > Yes I would like to see Expression generalized in this manner. Given properly conditional exports most of this breakage should be avoidable. In fact I think it should be possible to make sure that it works properly for all domains that have Comparable by default. For example it should always be possible to at least create symbolic operators for any such domain. Right? Regards, Bill Page. -- 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 fricas-de...@googlegroups.com. To unsubscribe from this group, send email to fricas-devel+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/fricas-devel?hl=en.