home bbs files messages ]

Forums before death by AOL, social media and spammers... "We can't have nice things"

   comp.programming      Programming issues that transcend langua      57,431 messages   

[   << oldest   |   < older   |   list   |   newer >   |   newest >>   ]

   Message 56,912 of 57,431   
   Dmitry A. Kazakov to Ben Bacarisse   
   Re: Another little puzzle   
   08 Jan 23 22:31:21   
   
   From: mailbox@dmitry-kazakov.de   
      
   On 2023-01-08 21:41, Ben Bacarisse wrote:   
      
   > But   
   > the problem is /finding/ a specific average -- the point (or angle) that   
   > minimises the sum of squares of the distances (or angles) from that   
   > average point (or angle).   
      
   That is not a programming problem. It is a problem space's one. You must   
   go to the corresponding part of science or engineering or economics etc   
   and formulate it there in terms of that space.   
      
   Average is just such formulation of finding a representative member from   
   some set having some specific properties. E.g. least squares in physics   
   usually has the meaning of least energy etc. So, it goes in this order   
   (not in reverse):   
      
   1. You need the least energy representative.   
   2. An average gives you that.   
   3. You measure the inputs.   
      
   After that you ask yourself given these measures how to compute the   
   average? And only now it becomes a programming issue.   
      
   > The fact that it makes no odds (as everyone knows) whether we consider   
   > angles (often called central angles in this context) or great circle   
   > distances is not the issue.  It's finding the average that minimises the   
   > sum of squares of differences that's the issue.   
      
   Minimum of squares (Euclidean norm) is represented by the mathematical mean.   
      
   > You say you need a formula, so I'll try...  Let P_n be a collection of n   
   > unit vectors specifying n points on a unit sphere.  Find the unit vector   
   > A that minimises   
   >   
   >    Sum_{i=1,n} ( arctan( |A x P_n|  /  A . P_n ) )^2   
   >   
   > (arctan is the "all quadrant" version that is often called atan2 in   
   > programming languages.)   
      
   1. atan2 has two arguments (the adjacent and the opposite legs);   
   2. What is "A";   
   3. What operations(?) "x" and "." denote?   
      
   >> Programs are written according to the specifications. Numeric programs   
   >> require a properly stated problem, rather than a bunch of words   
   >> arbitrarily thrown in a meaningless sentence as above.   
   >   
   > Given the context, I think that's a very biased characterisation of   
   > what's been said here.   
   >   
   > My first job was as a "numerical analyst", and the very first program I   
   > was employed to write was for a professor of statistics.  It was to   
   > calculate a novel kind of fit line.  The specification was just a few   
   > sentences.  No formulas.  It was perfectly clear, and I could get the   
   > job done.  I don't think this is unusual.  Words are often enough, and   
   > they can avoid undue over specification.  For example, the problem in   
   > question is essentially the same if the points are given by latitude and   
   > longitude on a non-unit sphere, but the formula would look very   
   > different.   
      
   This just means that you formulated the specifications yourself, being   
   able to read your professor's mind. Not everybody's mind is easy read or   
   worth reading... (:-))   
      
   --   
   Regards,   
   Dmitry A. Kazakov   
   http://www.dmitry-kazakov.de   
      
   --- SoupGate-Win32 v1.05   
    * Origin: you cannot sedate... all the things you hate (1:229/2)   

[   << oldest   |   < older   |   list   |   newer >   |   newest >>   ]


(c) 1994,  bbs@darkrealms.ca