MathGroup Archive 2001

[Date Index] [Thread Index] [Author Index]

Search the Archive

Re: Re: task

  • To: mathgroup at
  • Subject: [mg26781] Re: [mg26766] Re: [mg26731] task
  • From: Andrzej Kozlowski <andrzej at>
  • Date: Wed, 24 Jan 2001 04:18:28 -0500 (EST)
  • Sender: owner-wri-mathgroup at

When I saw this message I assumed that some one is trying to get us to do
his school homework for him and since I would not feel very happy about my
students doing this sort of thing I hesitated to offer my help. But since
Daniel Lichblau has already answered this I feel free to point out that one
does not need to use such a high powered tool as Groebner Basis (of which I
am a great fan) or even the ability to solve systems of non-linear equations
to deal with what is an elementary trigoneometry problem (except  its final
stage!). Let's denote the angles at the base by alpha nad beta. The we
obviously have:

d == h(Cot[alpha] +Cot[beta])
Since by similar triangles Cot[alpha]==d/Sqrt[a^2-d^2] and
Cot[beta]==d/Sqrt[b^2-d^2] we get the equation


Now, to solve this for d does indeed need Mathematica, (so I suspect there
might have been a mistake in the picture) , but in any case one can get a
(horrible looking) answer with


Andrzej Kozlowski
Toyama International University

on 1/22/01 5:09 PM, Daniel Lichtblau at danl at wrote:

> Alexey Kolenko wrote:
>> Please help me.
>> Need solve this geometry task in symbolically form.
>> Need find "d" via "a", "b", "h".
>> Picture at address:
>> Bye.
>> Alexey.
> I'll annotate your picture. Let x be the left side vertical, y be the
> right side vertical. Split side a into a1 and a2 with a2 northwest of
> a1. Split b into b1 and b2 with b1 southwest of b2. Split d into d1 and
> d2 with d1 left of d2. With this, we will get nine equations in nine
> unknowns (we regard a, b, and h as known parameters). As we only care
> about getting a relation between d and these parameters, we can
> eliminate everything else.
> In[1]:= polys = {x^2+d^2-a^2, y^2+d^2-b^2, a1+a2-a, b1+b2-b, d1+d2-d,
> d1^2+h^2-b1^2, d2^2+h^2-a1^2, d1*y-h*d, d2*x-h*d};
> In[2]:= InputForm[Timing[poly = First[GroebnerBasis[polys, d,
> {x,y,a1,a2,b1,b2,d1,d2},
> MonomialOrder->EliminationOrder,
> CoefficientDomain->RationalFunctions]]]]
> Out[2]//InputForm=
> {0.42999999999999994*Second, -d^9 + d^7*(2*a^2 + 2*b^2 - 4*h^2) +
> d^5*(-a^4 - 4*a^2*b^2 - b^4 + 6*a^2*h^2 + 6*b^2*h^2) +
> d^3*(2*a^4*b^2 + 2*a^2*b^4 - 2*a^4*h^2 - 8*a^2*b^2*h^2 - 2*b^4*h^2) +
> d*(-(a^4*b^4) + 2*a^4*b^2*h^2 + 2*a^2*b^4*h^2 - a^4*h^4 +
> 2*a^2*b^2*h^4 - 
> b^4*h^4)}
> Now Solve poly==0 for d to get a lengthy radical solution.
> You could instead do
> sol = Solve[polys==0, d, {x,y,a1,a2,b1,b2,d1,d2}]
> which can be less efficient (but works fine in this case).
> Daniel Lichtblau
> Wolfram Research

  • Prev by Date: Re: Who can help me?
  • Next by Date: Re: idiom for recurrence relations
  • Previous by thread: task
  • Next by thread: HELP!