[Date Index]
[Thread Index]
[Author Index]
Re: RE: [Q] Equation solving?
*To*: mathgroup at smc.vnet.net
*Subject*: [mg23335] Re: [mg23318] RE: [mg23282] [Q] Equation solving?
*From*: Andrzej Kozlowski <andrzej at tuins.ac.jp>
*Date*: Thu, 4 May 2000 02:59:05 -0400 (EDT)
*Sender*: owner-wri-mathgroup at wolfram.com
David,
In[1]:=
eqns = {Q1 == (2*z + 1 - 1)^2 + 4*1*1,
k1 == 1/Sqrt[Q1]*(v*z - 3/2*(2*z + 1 + 1 -
Sqrt[Q1])), Q2 == (2*z + 1 - 1)^2 + 4*1*1,
k2 == 1/Sqrt[Q2]*((6.1 - v)*z -
2/2*(2*z + 1 + 1 - Sqrt[Q2])),
3/2*(2*z + 1 + 1) + (k1 - 3/2)*Sqrt[Q1] ==
6.1*z - (2/2*(2*z + 1 + 1) + (k2 - 2/2)*Sqrt[Q2])};
In[2]:=
eqns2 = Eliminate[eqns, {Q1, Q2}];
In[3]:=
ans = Solve[eqns2, {k1, k2, z}]
Out[3]=
{{z -> 0., k1 -> 0., k2 -> 0.}, {z -> 0., k1 -> 0., k2 -> 2.}, {z -> 0.,
k1 -> 3., k2 -> 0.}, {z -> 0., k1 -> 3., k2 -> 2.}}
However, this is not the end of the story! Now let's try to verify the
answer.
In[4]:=
eqns /. ans // FullSimplify
Out[4]=
2. 2.
{{Q1 == 4., 1. == --------, Q2 == 4., 1. == --------,
Sqrt[Q1] Sqrt[Q2]
5. == 1.5 Sqrt[Q1] + 1. Sqrt[Q2]},
2. 2.
{Q1 == 4., 1. == --------, Q2 == 4., 1. + -------- == 0,
Sqrt[Q1] Sqrt[Q2]
5. + 1. Sqrt[Q2] == 1.5 Sqrt[Q1]},
2. 2.
{Q1 == 4., 1. + -------- == 0, Q2 == 4., 1. == --------,
Sqrt[Q1] Sqrt[Q2]
5. + 1.5 Sqrt[Q1] == 1. Sqrt[Q2]},
2.
{Q1 == 4., 1. + -------- == 0, Q2 == 4.,
Sqrt[Q1]
2.
1. + -------- == 0, 5. + 1.5 Sqrt[Q1] + 1. Sqrt[Q2] == 0}}
Sqrt[Q2]
Just look at the last equation: 5. + 1.5 Sqrt[Q1] + 1. Sqrt[Q2] == 0 .
Clearly this is not possible. In general you can't rely on any solutions
Mathematica gives you to equations of this sort. This is not a bug: spurious
solutions naturally arise as part of the slving process and since (in
general) it is impossible for Mathematica to verify their correctness (in
equations with parameters) it does not even try to do so.
Andrzej Kozlowski
on 5/2/00 7:00 AM, David Park at djmp at earthlink.net wrote:
>
>
>> From: James [mailto:research at proton.csl.uiuc.edu]
To: mathgroup at smc.vnet.net
> To: mathgroup at smc.vnet.net
>> Hello!
>>
>> I'm a newbie to Mathematica
>> and have a question about what's wrong in the following
>> expression.
>> (The parameters are generated by the program,
>> so there're some terms that can be cancelled out.)
>>
>> Solve[{ Q1==(2*z+1-1)^2+4*1*1 ,
>> k1==(1/Sqrt[Q1])*(v*z-(3/2)*(2*z+1+1-Sqrt[Q1])) ,
>> Q2==(2*z+1-1)^2+4*1*1 ,
>> k2==(1/Sqrt[Q2])*((6.10-v)* z-(2/2)*(2*z+1+1-Sqrt[Q2])) ,
>> (3/2)*(2*z+1+1)+(k1-(3/2))*Sqrt[Q1] ==
>> 6.10*z-((2/2)*(2*z+1+1)+(k2-(2/2))*Sqrt[Q2])}, {z,v}]
>>
>> I want to solve the above equations according to 'z',
>> and I tried several ways in expressing {z,v} or z, {v}, etc
>> to get an answer(s), but all in vain.
>>
>> Is there anyone who can tell me how to express the equations?
>> Sorry about the question, if this is trivial.
>> Thank you.
>>
>>
>> James.
>>
>
> This seems to work:
>
> eqns = {Q1 == (2*z + 1 - 1)^2 + 4*1*1,
> k1 == 1/Sqrt[Q1]*(v*z - 3/2*(2*z + 1 + 1 -
> Sqrt[Q1])), Q2 == (2*z + 1 - 1)^2 + 4*1*1,
> k2 == 1/Sqrt[Q2]*((6.1 - v)*z -
> 2/2*(2*z + 1 + 1 - Sqrt[Q2])),
> 3/2*(2*z + 1 + 1) + (k1 - 3/2)*Sqrt[Q1] ==
> 6.1*z - (2/2*(2*z + 1 + 1) + (k2 - 2/2)*Sqrt[Q2])};
>
> Eliminate[eqns, {Q1, Q2}]
> Solve[%, {k1, k2, z}]
>
> -3.*k1 + k1^2 == 0. && -2.*k2 + k2^2 == 0. && z == 0.
>
> {{z -> 0., k1 -> 0., k2 -> 0.}, {z -> 0., k1 -> 0.,
> k2 -> 2.}, {z -> 0., k1 -> 3., k2 -> 0.},
> {z -> 0., k1 -> 3., k2 -> 2.}}
>
> Or...
>
> Eliminate[eqns, {k1, k2}]
> Solve[%, {Q1, Q2, z}]
>
> Q1 == 4. && Q2 == 4. && z == 0. && Q1 != 0. && Q2 != 0.
>
> {{Q1 -> 4., Q2 -> 4., z -> 0.}}
>
> It appears that v drops out of the equations.
>
> David Park
> djmp at earthlink.net
> http://home.earthlink.net/~djmp/
>
Prev by Date:
**Re: avoid spurious vertical segment in step function plot**
Next by Date:
**Why is Timing so irregular? How should I measure efficiency?**
Previous by thread:
**RE: RE: [Q] Equation solving?**
Next by thread:
**Re: RE: [Q] Equation solving?**
| |