1 | initial version |

You should use

```
sage: sage: Q.<i,j,k> = QuaternionAlgebra(CC,1,1)
sage: i * CC(-1).sqrt()
1.00000000000000*I*i
sage: j * CC(2).sqrt()
1.41421356237310*j
```

The reason it fails with your code is that the function sqrt returns symbolic objects when called with non square integers

```
sage: s = sqrt(2)
sage: print s ,type(s)
sqrt(2) <type 'sage.symbolic.expression.Expression'>
```

But the symbolic world has nothing such as generalized quaternions and hence it fails. As you wanted a result in your algebra just avoid symbolic objects.

Note that the following works fine

```
sage: sqrt(CC(-1))
1.00000000000000*I
sage: parent(_)
Complex Field with 53 bits of precision
```

To be compared with

```
sage: sqrt(-1)
I
sage: parent(_)
Symbolic Ring
```

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.