1 | initial version |

You can read the documentation for `is_real`

by evaluating `x.is_real?`

: "Return True if this expression is known to be a real number." In particular, it is defined for expressions, which in Sage can include variables. If you evaluate `parent(x)`

, the answer will be `Symbolic Ring`

, the same as `parent(pi)`

.

`RR`

, on the other hand, is "An approximation to the field of real numbers using floating point numbers with any specified precision." For something to lie in `RR`

, there must be a way to convert it to an actual floating point number, so `pi in RR`

will return `True`

, whereas `x in RR`

will not:

```
sage: RR(pi)
3.14159265358979
```

and

```
sage: RR(x)
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
[snip]
TypeError: Cannot evaluate symbolic expression to a numeric value.
```

and

```
sage: RR(I)
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
[snip]
TypeError: unable to convert '1.00000000000000*I' to a real number
```

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.