MathGroup Archive 2012

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

Search the Archive

Re: Struggling to prove simple triangle inequality

  • To: mathgroup at smc.vnet.net
  • Subject: [mg126327] Re: Struggling to prove simple triangle inequality
  • From: Andrzej Kozlowski <akozlowski at gmail.com>
  • Date: Tue, 1 May 2012 05:23:29 -0400 (EDT)
  • Delivered-to: l-mathgroup@mail-archive0.wolfram.com
  • References: <201204300842.EAA23670@smc.vnet.net>

On 30 Apr 2012, at 10:42, Vladimir M wrote:

> Greetings!
>
> Given two 3D vectors A and B, I want to prove that length of their sum
> is less or equal than the sum of their lengths:
>
> length[v_] := Sqrt[v.v];
> a = {ax, ay, az};
> b = {bx, by, bz};
> inequality = length[a + b] <= length[a] + length[b];
>
> This is famous, well-known and quite obvious: triangle side is shorter
> than the sum of other sides, straight line is shorter than non-
> straight, etc. However, proving it formally is hard.
>
> This fails:
>
> assum = Element[ax | ay | az | bx | by | bz, Reals];
> FullSimplify[inequality, assum]
>
>
> This takes ages on a high-end PC with unknown result:
>
> vars = {ax, ay, az, bx, by, bz};
> Reduce[inequality, vars, Reals]
>
> Anyone can help? I think Reduce should somehow make it because it
> actually succeeds at least with 2D vectors.
>
>
> --
> All the best,
> Vladimir
>

Not really. To solve this sort of problem Reduce uses the algorithm 
called cylindrical algebraic decomposition, which is implemented in 
Mathematica as CylindricalDecomposition. This algorithm's complexity is 
double exponential (i.e. 2^n^n where n is the number of variables.). So 
the fact that it works in a reasonable time for 4 variables (two 
dimensional case) is not a good reason to expect it will work for 6 
variables (three dimensional case),
e.g. see here http://en.wikipedia.org/wiki/Double_exponential_function

Andrzej Kozlowski



  • Prev by Date: Re: a bug in V8 when computing hypergeometric function 2F0 ?
  • Next by Date: Re: Mathematica NB file to LaTeX for publication?
  • Previous by thread: Re: a bug in V8 when computing hypergeometric function 2F0 ?
  • Next by thread: Re: Struggling to prove simple triangle inequality