1 | initial version |

The issue arises because you have not fully defined the transition maps on the manifold: the inverse maps are missing. You have to generate them by invoking

```
ChangeFirst_to_Second.inverse()
```

just after the definition of `ChangeFirst_to_Second`

and

```
ChangeSecond_to_Third.inverse()
```

just after the definition of `ChangeSecond_to_Third`

. Then everything is OK.

The reason why the inverse transition maps are not automatically evaluated is that in certain cases Sage is not capable to compute them (the method `inverse()`

returns then an error); the user has then to provide them by hand, via the method set_inverse().

2 | No.2 Revision |

The issue arises because you have not fully defined the transition maps on the manifold: the inverse maps are missing. You have to generate them by invoking

```
ChangeFirst_to_Second.inverse()
```

just after the definition of `ChangeFirst_to_Second`

and

```
ChangeSecond_to_Third.inverse()
```

just after the definition of `ChangeSecond_to_Third`

. Then everything is OK.

The reason why the inverse transition maps are not automatically evaluated is that in certain cases Sage is not capable to compute them (the method `inverse()`

returns then an error); the user has then to provide them by hand, via the method set_inverse().

**EDIT:** actually, in the present case, the inverse transition maps should not be required to compute the expression of $g$ in the third frame. This will be fixed in the next release of SageMath, thanks to the Trac ticket #28072, which has been merged in SageMath 8.9.beta2.

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.