Hi, I maintain an R package, but there is one place where a symbolic solution is needed to verify a result. I would like to write an R function that prints proper SAGE input so that users can easily feed it to SAGE. However, I have not yet been able to get SAGE to produce the expected behavior for a relatively simple published example and have run out of ideas.
The example (for anyone interested) is from http://scholar.google.com/scholar?num=100&hl=en&lr=&q=allintitle%3A%22Uniqueness+does+not+imply+identification%22&btnG=Search and involves a system of 10 equations and 10 unknowns. But some of the equations are redundant, and there are multiple solutions. I was expecting SAGE to give me a symbolic solution where at least one unknown was expressed in terms of another unknown, but instead it says empty set. If there were a unique solution, I would want SAGE to express lambda_** and Theta2_** in terms of Sigma_** Here is the input that causes [] to be outputted: # Define variables lambda_11, lambda_21, lambda_31, lambda_41, lambda_12, lambda_22, lambda_32, lambda_42, Phi_11, Phi_21, Phi_22, Theta2_11, Theta2_22, Theta2_33, Theta2_44, Sigma_11, Sigma_21, Sigma_31, Sigma_41, Sigma_22, Sigma_32, Sigma_42, Sigma_33, Sigma_43, Sigma_44 = var('lambda_11 lambda_21 lambda_31 lambda_41 lambda_12 lambda_22 lambda_32 lambda_42 Phi_11 Phi_21 Phi_22 Theta2_11 Theta2_22 Theta2_33 Theta2_44 Sigma_11 Sigma_21 Sigma_31 Sigma_41 Sigma_22 Sigma_32 Sigma_42 Sigma_33 Sigma_43 Sigma_44') # Specify constraints lambda_12 = 0/1 lambda_31 = 0/1 lambda_41 = 0/1 Phi_11 = 1/1 Phi_22 = 1/1 # Write out 10 equations from the matrix algebra eq1 = Sigma_11 == ( (lambda_11 * Phi_11 + lambda_12 * Phi_21) * lambda_11 + (lambda_11 * Phi_21 + lambda_12 * Phi_22) * lambda_12 ) + Theta2_11 eq2 = Sigma_21 == ( (lambda_21 * Phi_11 + lambda_22 * Phi_21) * lambda_11 + (lambda_21 * Phi_21 + lambda_22 * Phi_22) * lambda_12 ) eq3 = Sigma_31 == ( (lambda_31 * Phi_11 + lambda_32 * Phi_21) * lambda_11 + (lambda_31 * Phi_21 + lambda_32 * Phi_22) * lambda_12 ) eq4 = Sigma_41 == ( (lambda_41 * Phi_11 + lambda_42 * Phi_21) * lambda_11 + (lambda_41 * Phi_21 + lambda_42 * Phi_22) * lambda_12 ) eq5 = Sigma_22 == ( (lambda_21 * Phi_11 + lambda_22 * Phi_21) * lambda_21 + (lambda_21 * Phi_21 + lambda_22 * Phi_22) * lambda_22 ) + Theta2_22 eq6 = Sigma_32 == ( (lambda_31 * Phi_11 + lambda_32 * Phi_21) * lambda_21 + (lambda_31 * Phi_21 + lambda_32 * Phi_22) * lambda_22 ) eq7 = Sigma_42 == ( (lambda_41 * Phi_11 + lambda_42 * Phi_21) * lambda_21 + (lambda_41 * Phi_21 + lambda_42 * Phi_22) * lambda_22 ) eq8 = Sigma_33 == ( (lambda_31 * Phi_11 + lambda_32 * Phi_21) * lambda_31 + (lambda_31 * Phi_21 + lambda_32 * Phi_22) * lambda_32 ) + Theta2_33 eq9 = Sigma_43 == ( (lambda_41 * Phi_11 + lambda_42 * Phi_21) * lambda_31 + (lambda_41 * Phi_21 + lambda_42 * Phi_22) * lambda_32 ) eq10 = Sigma_44 == ( (lambda_41 * Phi_11 + lambda_42 * Phi_21) * lambda_41 + (lambda_41 * Phi_21 + lambda_42 * Phi_22) * lambda_42 ) + Theta2_44 # Try to solve for 10 unknowns solutions = solve([eq1,eq2,eq3,eq4,eq5,eq6,eq7,eq8,eq9,eq10], lambda_11, lambda_21, lambda_22, lambda_32, lambda_42, Phi_21, Theta2_11, Theta2_22, Theta2_33, Theta2_44) solutions # empty set But if you fill in the values from a known solution, then eq1 through eq10 all evaluate to True # Solution from Table 1 in paper lambda_11 = 1/2 lambda_21 = 1/1 lambda_22 = 1/5 lambda_32 = 2/1 lambda_42 = 3/2 Phi_21 = 4/5 Theta2_11 = 1/1 Theta2_22 = 1/2 Theta2_33 = 3/2 Theta2_44 = 2/1 Sigma_11 = 5/4 Sigma_21 = 58/100 Sigma_31 = 4/5 Sigma_41 = 3/5 Sigma_22 = 186/100 Sigma_32 = 2/1 Sigma_42 = 3/2 Sigma_33 = 55/10 Sigma_43 = 3/1 Sigma_44 = 425/100 print(eq1); print(eq2); print(eq3); print(eq4); print(eq5); print(eq6); print(eq7); print(eq8); print(eq9); print(eq10) # all True Thus, I do not understand why SAGE says there is no solution to this system of equations. What should I be doing differently? Thanks in advance, Ben --~--~---------~--~----~------------~-------~--~----~ To post to this group, send email to sage-support@googlegroups.com 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 -~----------~----~----~----~------~----~------~--~---