Hi, I hope it is ok to stay on this thread with my question:
On Dec 17, 11:15 am, Simon King <[email protected]> wrote: --snip-- > sage: solve((A*A.transpose()-MatrixSpace(QQ,2)(1)).list(), A.list()) > --------------------------------------------------------------------------- > ValueError Traceback (most recent call > last) > ... > ValueError: Unable to solve [a_0_1^2 + a_0_0^2 - 1, a_0_1*a_1_1 + > a_0_0*a_1_0, a_0_1*a_1_1 + a_0_0*a_1_0, a_1_1^2 + a_1_0^2 - 1] for > ([a_0_0, a_0_1, a_1_0, a_1_1],) Why is it not possible to find solutions? After a substitution, everything works: sage: solve([X.substitute({A[1,1]:sin(x)}) for X in (A*A.transpose ()-1).list()], A.list()) [[a_0_0 == -sin(x), a_0_1 == sqrt(1 - sin(x))*sqrt(sin(x) + 1), a_1_0 == sqrt(1 - sin(x)^2), a_1_1 == r13], [a_0_0 == -sin(x), a_0_1 == -sqrt (1 - sin(x))*sqrt(sin(x) + 1), a_1_0 == -sqrt(1 - sin(x)^2), a_1_1 == r14], [a_0_0 == sin(x), a_0_1 == -sqrt(1 - sin(x))*sqrt(sin(x) + 1), a_1_0 == sqrt(1 - sin(x)^2), a_1_1 == r15], [a_0_0 == sin(x), a_0_1 == sqrt(1 - sin(x))*sqrt(sin(x) + 1), a_1_0 == -sqrt(1 - sin(x)^2), a_1_1 == r16]] I thought that such substitution has the same effect as saying that A [1,1] is between -1 and 1. But it won't help: sage: assume(A[1,1]>=-1) sage: assume(A[1,1]<=1) sage: solve((A*A.transpose()-1).list(), A.list()) --------------------------------------------------------------------------- ValueError Traceback (most recent call last) ... ValueError: Unable to solve [a_0_1^2 + a_0_0^2 - 1, a_0_1*a_1_1 + a_0_0*a_1_0, a_0_1*a_1_1 + a_0_0*a_1_0, a_1_1^2 + a_1_0^2 - 1] for ([a_0_0, a_0_1, a_1_0, a_1_1],) Just out of curiosity: What goes wrong? Cheers, Simon --~--~---------~--~----~------------~-------~--~----~ To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/sage-support URLs: http://www.sagemath.org -~----------~----~----~----~------~----~------~--~---
