1 | initial version |

When you write:

```
sage: f = 1
```

You define `f`

as the integer `1`

:

```
sage: f.parent()
Integer Ring
```

So, it is unlikely that we will define a `.integral()`

method for this, otherwise there will be too much methods for such a universal object. See

```
sage: f.<TAB>
```

to see how many methods there exist already for the integer `1`

. So i guess there should not be a `.integral()`

method for integers (or Python should have a mechanism to understand that it should try the `integrate`

function, or something like that).

Note that `x`

is a symbolic expression (and an element of the symbolic ring), hence it has an `.integral()`

method:

```
sage: x.parent()
Symbolic Ring
sage: type(x)
<type 'sage.symbolic.expression.Expression'>
```

Now, when you write:

```
sage: f = 1 + x - x
```

There is a coercion mechanism that transforms the integer `1`

as an element of the symbolic ring so that it can be added to `x`

, hence here `f`

is a symbolic expression, not an integer:

```
sage: f.parent()
Symbolic Ring
```

This is why you can apply the `.integral()`

method.

So, there are two ways to integrate `1`

easily. First, you can use the `integrate()`

function:

```
sage: integrate(1,x,0,1)
1
```

Second, you can transform the integer 1 as an element of the symbolic ring:

```
sage: f = SR(1)
sage: f.integrate(x,0,1)
1
```

2 | No.2 Revision |

When you write:

```
sage: f = 1
```

You define `f`

as the integer `1`

:

```
sage: f.parent()
Integer Ring
```

So, it is unlikely that we will define a

method for this, otherwise there will be too much methods for such a universal object. See ~~.integral()~~.integrate()

```
sage: f.<TAB>
```

to see how many methods there exist already for the integer `1`

. So i guess there should not be a

method for integers (or Python should have a mechanism to understand that it should try the ~~.integral()~~.integrate()`integrate`

function, or something like that).

Note that `x`

is a symbolic expression (and an element of the symbolic ring), hence it has an

method:~~.integral()~~.integrate()

```
sage: x.parent()
Symbolic Ring
sage: type(x)
<type 'sage.symbolic.expression.Expression'>
```

Now, when you write:

```
sage: f = 1 + x - x
```

There is a coercion mechanism that transforms the integer `1`

as an element of the symbolic ring so that it can be added to `x`

, hence here `f`

is a symbolic expression, not an integer:

```
sage: f.parent()
Symbolic Ring
```

This is why you can apply the

method.~~.integral()~~.integrate()

So, there are two ways to integrate `1`

easily. First, you can use the `integrate()`

function:

```
sage: integrate(1,x,0,1)
1
```

Second, you can transform the integer 1 as an element of the symbolic ring:

```
sage: f = SR(1)
sage: f.integrate(x,0,1)
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.