MathGroup Archive 2012

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

Search the Archive

Struggling to prove simple triangle inequality


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,

  • Prev by Date: Re: 2D Gaussian fit
  • Next by Date: Mathematica NB file to LaTeX for publication?
  • Previous by thread: Re: Creating 'smart' textbooks with mathematica?
  • Next by thread: Mathematica NB file to LaTeX for publication?