axiom-math
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [fricas-devel] Re: [Axiom-math] Selection of roots


From: Martin Rubey
Subject: Re: [fricas-devel] Re: [Axiom-math] Selection of roots
Date: 03 Nov 2008 20:53:14 +0100
User-agent: Gnus/5.09 (Gnus v5.9.0) Emacs/21.4

"Bill Page" <address@hidden> writes:

> Hmmm... So what is the meaning of < in AN? Ok, I guess that it is just
> whatever is exported by Expression Integer. The fact that the positive
> roots appear < 0 while the negative roots appear > 0 must be just an
> accident of some strange lexical ordering rules for expressions. :-(

Well, it's not so strange, it's the order used for hashing.

Yes, it's high time to separate mathematical order and internal hashing order.
Waldek proposed a programme in the thread "RFC: Orders in algebra" some time
ago, as you know.  There was a long discussion, but little result.

I believe that we wanted too much.

Here is the original programme:

> 1) create a new category, say Comparable which has functions
>    like lessThen, lessOrEqual etc. 
> 2) Change domains that use unnatural order to use comparisons from
>    Comparable
> 3) Undefine unnatural orders (remove them from OrderedSet)
> 4) If possible define natural ones
> 
> In particular for Expression w probably should _not_ define an
> order, but rather make '<' produce elements of new domain
> 'Inequality' (like Equation, but for ordered comparisons).

I guess it would be best to just go ahead and implement a simple version of
this at first.  In fact, Bill, you did already implement a version of
Inequation and Inequality.

There was a lot of discussion about that, too.  So I guess, there was *too
much* functionality.  It's probably better to start with uncontroversial
things.

Sage also implements some functionality for equation, inequations and
inequalities, maybe this could serve as comparison.

Martin

sage: var('x y')
(x, y)
sage: sin(x) < 5
sin(x) < 5
sage: ieq = _
sage: ieq.
ieq.add_to_both_sides         ieq.expand                    ieq.operator
ieq.solve
ieq.assume                    ieq.find_root                 ieq.rename
ieq.subs
ieq.category                  ieq.forget                    ieq.reset_name
ieq.substitute
ieq.db                        ieq.left                      ieq.rhs
ieq.subtract_from_both_sides
ieq.divide_both_sides         ieq.left_hand_side            ieq.right
ieq.variables
ieq.dump                      ieq.lhs                       ieq.right_hand_side
ieq.version
ieq.dumps                     ieq.multiply_both_sides       ieq.save
sage: ieq2 = sin(x) <> 5
sage: ieq2.
ieq2.add_to_both_sides         ieq2.expand                    ieq2.operator
ieq2.solve
ieq2.assume                    ieq2.find_root                 ieq2.rename
ieq2.subs
ieq2.category                  ieq2.forget                    ieq2.reset_name
ieq2.substitute
ieq2.db                        ieq2.left                      ieq2.rhs
ieq2.subtract_from_both_sides
ieq2.divide_both_sides         ieq2.left_hand_side            ieq2.right
ieq2.variables
ieq2.dump                      ieq2.lhs
ieq2.right_hand_side           ieq2.version
ieq2.dumps                     ieq2.multiply_both_sides       ieq2.save







reply via email to

[Prev in Thread] Current Thread [Next in Thread]