| 1 | initial version |
Sagemath will reduce an equation to True if the canonical form of its arguments (the "sides" of the equation) are the same.
sage: 1+1==2
True
This prints True because the canonoical form of 1+1 is 2, identical to the canonical form of the other argument, and this of these forms are "simple enough" (not formally defined). Counter-example :
sage: var("a, b")
(a, b)
sage: sin(a+b)==sin(a+b)
sin(a + b) == sin(a + b)
In less obvious cases, the canonical forms of the (mathematically equal) arguments are different :
sage: sin(x)^2+cos(x)^2==1
cos(x)^2 + sin(x)^2 == 1
The bool function actively tries to find a common form of its arguments :
sage: bool(sin(x)^2+cos(x)^2==1)
True
sage: sin(a+b)==sin(a+b).trig_expand()
sin(a + b) == cos(b)*sin(a) + cos(a)*sin(b)
sage: bool(sin(a+b)==sin(a+b).trig_expand())
True
HTH,
| 2 | No.2 Revision |
EDIT : This answer is at least partially false ; as far a s I can tell, tmonteil below is right...
Sagemath will reduce an equation to True if the canonical form of its arguments (the "sides" of the equation) are the same.
sage: 1+1==2
True
This prints True because the canonoical form of 1+1 is 2, identical to the canonical form of the other argument, and this of these forms are "simple enough" (not formally defined). Counter-example :
sage: var("a, b")
(a, b)
sage: sin(a+b)==sin(a+b)
sin(a + b) == sin(a + b)
In less obvious cases, the canonical forms of the (mathematically equal) arguments are different :
sage: sin(x)^2+cos(x)^2==1
cos(x)^2 + sin(x)^2 == 1
The bool function actively tries to find a common form of its arguments :
sage: bool(sin(x)^2+cos(x)^2==1)
True
sage: sin(a+b)==sin(a+b).trig_expand()
sin(a + b) == cos(b)*sin(a) + cos(a)*sin(b)
sage: bool(sin(a+b)==sin(a+b).trig_expand())
True
HTH,
| 3 | No.3 Revision |
EDIT : This answer is at least partially false ; as far a s as I can tell, tmonteil below is right...
Kept for the edification of future users...
Sagemath will reduce an equation to True if the canonical form of its arguments (the "sides" of the equation) are the same.
sage: 1+1==2
True
This prints True because the canonoical form of 1+1 is 2, identical to the canonical form of the other argument, and this of these forms are "simple enough" (not formally defined). Counter-example :
sage: var("a, b")
(a, b)
sage: sin(a+b)==sin(a+b)
sin(a + b) == sin(a + b)
In less obvious cases, the canonical forms of the (mathematically equal) arguments are different :
sage: sin(x)^2+cos(x)^2==1
cos(x)^2 + sin(x)^2 == 1
The bool function actively tries to find a common form of its arguments :
sage: bool(sin(x)^2+cos(x)^2==1)
True
sage: sin(a+b)==sin(a+b).trig_expand()
sin(a + b) == cos(b)*sin(a) + cos(a)*sin(b)
sage: bool(sin(a+b)==sin(a+b).trig_expand())
True
HTH,
Copyright Sage, 2010. Some rights reserved under creative commons license. Content on this site is licensed under a Creative Commons Attribution Share Alike 3.0 license.