# Revision history [back]

Not every method -- i.e. a function which lives inside an object -- has a function form. What I mean is that sometimes you can write sqrt(2), because sqrt is a function, but you could also write 2.sqrt(), but not everything is exactly the same.

This holds for simplify too. There is a simplify function, but you can get much tighter control by calling the simplify methods. You can usually look inside an object by hitting TAB. For example:

sage: q = ( sqrt(2) + sqrt(3) ) * ( sqrt(2) - sqrt(3) )
sage: q.[HERE I HIT TAB]
q.N                         q.exp_simplify              q.leading_coeff             q.reduce_trig
q.Order                     q.expand                    q.leading_coefficient       q.rename
q.abs                       q.expand_log                q.left                      q.reset_name
q.add                       q.expand_rational           q.left_hand_side            q.rhs
q.add_to_both_sides         q.expand_trig               q.lgamma                    q.right
q.additive_order            q.factor                    q.lhs                       q.right_hand_side
[etc..]


In sage, lots of functionality lives objects like this. If you type sage: q.simp[TAB] q.simplify q.simplify_factorial q.simplify_log q.simplify_rational
q.simplify_exp q.simplify_full q.simplify_radical q.simplify_trig

you'll see a bunch of possibilities. If you type

sage: q.simplify_radical?


you can see the docs for it (and two ?? show the code.)

All of that is a long-winded way to bring us here:

sage: q = ( sqrt(2) + sqrt(3) ) * ( sqrt(2) - sqrt(3) )
-1
sage: q.simplify_full()
-1


Not every method -- i.e. a function which lives inside an object -- has a function form. What I mean is that sometimes you can write sqrt(2), because sqrt is a function, but and you could also write 2.sqrt(), but not everything is exactly the same.paired up like that.

This holds for simplify too. There is a simplify function, but you can get much tighter control by calling the simplify methods. You can usually look inside an object by hitting TAB. For example:

sage: q = ( sqrt(2) + sqrt(3) ) * ( sqrt(2) - sqrt(3) )
sage: q.[HERE I HIT TAB]
q.N                         q.exp_simplify              q.leading_coeff             q.reduce_trig
q.Order                     q.expand                    q.leading_coefficient       q.rename
q.abs                       q.expand_log                q.left                      q.reset_name
q.add                       q.expand_rational           q.left_hand_side            q.rhs
q.add_to_both_sides         q.expand_trig               q.lgamma                    q.right
q.additive_order            q.factor                    q.lhs                       q.right_hand_side
[etc..]


In sage, lots of functionality lives objects like this. If you type sage: q.simp[TAB] q.simplify q.simplify_factorial q.simplify_log q.simplify_rational
q.simplify_exp q.simplify_full q.simplify_radical q.simplify_trig

you'll see a bunch of possibilities. If you type

sage: q.simplify_radical?


you can see the docs for it (and two ?? show the code.)

All of that is a long-winded way to bring us here:

sage: q = ( sqrt(2) + sqrt(3) ) * ( sqrt(2) - sqrt(3) )
-1
sage: q.simplify_full()
-1


Not every method -- i.e. a function which lives inside an object -- has a function form. What I mean is that you can write sqrt(2), because sqrt is a function, and you could also write 2.sqrt(), but not everything is paired up like that.

This holds for simplify too. There is a simplify function, but you can get much tighter control by calling the simplify methods. You can usually look inside an object by hitting TAB. For example:

sage: q = ( sqrt(2) + sqrt(3) ) * ( sqrt(2) - sqrt(3) )
sage: q.[HERE I HIT TAB]
q.N                         q.exp_simplify              q.leading_coeff             q.reduce_trig
q.Order                     q.expand                    q.leading_coefficient       q.rename
q.abs                       q.expand_log                q.left                      q.reset_name
q.add                       q.expand_rational           q.left_hand_side            q.rhs
q.add_to_both_sides         q.expand_trig               q.lgamma                    q.right
q.additive_order            q.factor                    q.lhs                       q.right_hand_side
[etc..]


In sage, lots of functionality lives inside objects like this. If you type sage: q.simp[TAB] q.simplify q.simplify_factorial q.simplify_log q.simplify_rational
q.simplify_exp q.simplify_full q.simplify_radical q.simplify_trig

you'll see a bunch of possibilities. If you type

sage: q.simplify_radical?


you can see the docs for it (and two ?? show the code.)

All of that is a long-winded way to bring us here:

sage: q = ( sqrt(2) + sqrt(3) ) * ( sqrt(2) - sqrt(3) )
-1
sage: q.simplify_full()
-1


Not every method -- i.e. a function which lives inside an object -- has a function form. What I mean is that you can write sqrt(2), because sqrt is a function, and you could also write 2.sqrt(), but not everything is paired up like that.

This holds for simplify too. There is a simplify function, but you can get much tighter control by calling the simplify methods. You can usually look inside an object by hitting TAB. For example:

sage: q = ( sqrt(2) + sqrt(3) ) * ( sqrt(2) - sqrt(3) )
sage: q.[HERE I HIT TAB]
q.N                         q.exp_simplify              q.leading_coeff             q.reduce_trig
q.Order                     q.expand                    q.leading_coefficient       q.rename
q.abs                       q.expand_log                q.left                      q.reset_name
q.add                       q.expand_rational           q.left_hand_side            q.rhs
q.add_to_both_sides         q.expand_trig               q.lgamma                    q.right
q.additive_order            q.factor                    q.lhs                       q.right_hand_side
[etc..]


In sage, lots of functionality lives inside objects like this. If you type type

sage: q.simp[TAB]
q.simplify            q.simplify_factorial  q.simplify_log        q.simplify_rational
q.simplify_exp        q.simplify_full       q.simplify_radical    q.simplify_trig       q.simplify_trig


you'll see a bunch of possibilities. If you type

sage: q.simplify_radical?


you can see the docs for it (and two ?? show the code.)

All of that is a long-winded way to bring us here:

sage: q = ( sqrt(2) + sqrt(3) ) * ( sqrt(2) - sqrt(3) )