From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00 autolearn=ham autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII X-Google-Thread: 103376,c212e60d58417232 X-Google-Attributes: gid103376,public X-Google-ArrivalTime: 2004-03-12 05:38:11 PST Path: archiver1.google.com!news2.google.com!fu-berlin.de!uni-berlin.de!tar-meneldur.cbb-automation.DE!not-for-mail From: Dmitry A. Kazakov Newsgroups: comp.lang.ada Subject: Re: [OT] Hints for an algorithm - avoiding O(n^2) Date: Fri, 12 Mar 2004 14:48:53 +0100 Message-ID: References: <5d6fdb61.0403120115.7c102e3c@posting.google.com> <7j5s2c.32r.ln@skymaster> <4051B337.B0374E2A@0.0> NNTP-Posting-Host: tar-meneldur.cbb-automation.de (212.79.194.119) Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 8bit X-Trace: news.uni-berlin.de 1079098690 66428260 I 212.79.194.119 ([77047]) X-Newsreader: Forte Agent 1.8/32.548 Xref: archiver1.google.com comp.lang.ada:6270 Date: 2004-03-12T14:48:53+01:00 List-Id: On Fri, 12 Mar 2004 12:55:19 +0000, Stuart Palin wrote: >Jean-Pierre Rosen wrote: >> >> "Jano" <402450@cepsz.unizar.es> a �crit dans le message de >news:5d6fdb61.0403120115.7c102e3c@posting.google.com... >> > The problem is a simple one: I'm planning to write a simulator of >> > sideral-like objects using the Newton laws (precision is not a top >> > priority). The obvious way is to compute the force interactions >> > between each pair of objects, sum them all, and iterate over... but >> > this is O(n^2). To be precise, there are n(n-1)/2 forces to be >> > computed if I'm right (n the number of objects). >> > >> If I remember my Newton laws correctly, you just need to compute the force >> between an object and the center of mass of all other objects. > >No! It is quite a straight-forward proof to show that for a >point inside a uniformly dense sphere the mass at a greater >distance from the centre (than the point) has no net >gravitational effect on the point. > >Also a counter-example is very easy to construct. Consider >two large equal masses separated by a large distance. Their >centre of mass (which will be the sum of their masses) is at >the mid-point of the shortest line joining them. Another >mass placed a little way from this mid-point will in fact >feel little gravitational effect because the masses are a >long way away. However, a calculation based on the centre >of mass would suggest there is a very strong force acting! This is because the third object is within the sphere containing the first two. If I correctly remember, that is a consequence of the Gauss theorem. But if you arrange your objects in spheric clusters centered in their mass centers, so that the interesting object will be outside of any of them, then the result will hold. Whether that will be better than O(n**2) is another question. >No help to the OP - they might be better off posting in an >astronomical group as this is more likely to be where people >with knowledge of any special algorithms might hang out. -- Regards, Dmitry Kazakov www.dmitry-kazakov.de