RE: Programming an algebraic experiment
- To: mathgroup at smc.vnet.net
- Subject: [mg34717] RE: [mg34687] Programming an algebraic experiment
- From: "DrBob" <majort at cox-internet.com>
- Date: Sun, 2 Jun 2002 01:14:56 -0400 (EDT)
- Reply-to: <drbob at bigfoot.com>
- Sender: owner-wri-mathgroup at wolfram.com
First of all, spend a half hour putting that in Mathematica notation, as you should have done in the first place... using Re[], Im[], and Conjugate[] rather than real (), imag(), and conj(). Clarify whether abs(s1)^2 means Abs[s1^2] or Abs[s1]^2. (I suppose it doesn't matter.) Then make a change of variables using a rule like polarDefns={s1 -> E^(I*\[Theta]1)*r1, s2 -> E^(I*\[Theta]2)*r2, s3 -> E^(I*\[Theta]3)*r3, s4 -> E^(I*\[Theta]4)*r4} That is, if vec = { Abs[s1^2] + Abs[s2^2] + Abs[s3^2] + Abs[s4^2 ], -Abs[s1^2] + Abs[s2^2] - Abs[s3^2] + Abs[s4^2], Re[s2*conj[s3] + s1 conj[s4] ], Im[ s2*conj[s3] - s1*conj[s4]], - Abs(s1)^2 + Abs(s2)^2 + Abs(s3)^2 - Abs(s4)^2, Abs(s1)^2 + Abs(s2)^2 - Abs(s3)^2 - Abs(s4)^2, real( s2*conj(s3) - s1*conj(s4) ), imag( s2*conj(s3) + s1*conj(s4) ), real( s2*conj(s4) + s1*conj(s3) ), imag( s2*conj(s4) - s1*conj(s3) ), real( s1*conj(s2) + s3*conj(s4) ), imag( conj(s1)*s2 + conj(s3)*s4 ), imag( conj(s2)*s4 + s1*conj(s3) ), imag( conj(s2)*s4 - s1*conj(s3) ), imag( s1*conj(s2) - s3*conj(s4) ), real( s1*conj(s2) - s3*conj(s4) ) }; (this has been partially tamed) then after you've fixed all the notation, form polarVec=vec/.polarDefns to put it all in polar coordinates. That will simplify things a lot, eliminating Conjugate, Re, and Im at the cost of introducing Sin and Cos. Then... what do you want? y1 + y2 to be a linear combination of the elements of that vector? Well, in a sense, that's entirely trivial. y1 + y2, being real, is in the linear span of ANY single non-zero real number, so if any of the elements (they're all real) are non-zero you're in bidness. (Most of them are non-zero if the si are not zero.) Until you make the question clear, though, it can't have a meaningful answer. Bobby Treat -----Original Message----- From: riefler at iwt.uni-bremen.de [mailto:riefler at iwt.uni-bremen.de] To: mathgroup at smc.vnet.net Subject: [mg34717] [mg34687] Programming an algebraic experiment Hi Given 4 complex numbers S1, S2, S3 and S4 with Si = xi + i*yi, i=1,2,3,4. These 4 numbers are the basis for the following 16 eqn.s: S11 = 1/2 * ( abs(S1)^2 + abs(S2)^2 + abs(S3)^2 + abs(S4)^2 ); S12 = 1/2 * ( - abs(S1)^2 + abs(S2)^2 - abs(S3)^2 + abs(S4)^2 ); S13 = real( S2*conj(S3) + S1*conj(S4) ); S14 = imag( S2*conj(S3) - S1*conj(S4) ); S21 = 1/2 * ( - abs(S1)^2 + abs(S2)^2 + abs(S3)^2 - abs(S4)^2 ); S22 = 1/2 * ( abs(S1)^2 + abs(S2)^2 - abs(S3)^2 - abs(S4)^2 ); S23 = real( S2*conj(S3) - S1*conj(S4) ); S24 = imag( S2*conj(S3) + S1*conj(S4) ); S31 = real( S2*conj(S4) + S1*conj(S3) ); S32 = imag( S2*conj(S4) - S1*conj(S3) ); S33 = real( S1*conj(S2) + S3*conj(S4) ); S34 = imag( conj(S1)*S2 + conj(S3)*S4 ); S41 = imag( conj(S2)*S4 + S1*conj(S3) ); S42 = imag( conj(S2)*S4 - S1*conj(S3) ); S43 = imag( S1*conj(S2) - S3*conj(S4) ); S44 = real( S1*conj(S2) - S3*conj(S4) ); "abs" stands for the absolute value and "conj" for the complex conjugate value of the Si. Now my aim is to find any combination - independent how long - with and between these Sii to get the following result: K=y1+y2 Now my question to you is: How can I instruct Mathematica that it will look for an answer? I want to see Mathematica that it is carried out as much as possible combinations, simplify these combinations algeabraically and then compare the simplified solution with K. Thank you Norbert