1 | initial version |

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) )
sage: q.simplify_radical()
-1
sage: q.simplify_full()
-1
```

2 | No.2 Revision |

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) )
sage: q.simplify_radical()
-1
sage: q.simplify_full()
-1
```

3 | No.3 Revision |

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) )
sage: q.simplify_radical()
-1
sage: q.simplify_full()
-1
```

4 | No.4 Revision |

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.

*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) )
sage: q.simplify_radical()
-1
sage: q.simplify_full()
-1
```

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.