Track your comments!
[x]


When you register, comments on your articles and replies to your comments appear here. Register Now!

Sign in to your account
[x]

Not a Scientific Blogging member yet?

Register Now for a Free Scientificblogging.com Account

  • Customize your profile with pictures, banner, a blogroll and more.
  • Leave comments on articles, add other members to your friend lists, chat with people on the site.
  • Write blog posts that can be seen by hundreds of thousands of readers.

It's free and it only takes a minute!

Already a Scientific Blogging member?

Sign In Now

Banner
By Patrick Lockerby | April 10th 2009 04:26 PM | 10 comments | Print | E-mail | Track Comments
.

More The Chatter Box articles

All

About Patrick Lockerby

Retired engineer, 60+ years young.
Computer builder and programmer.
Linguist specialising in language acquisition and computational linguistics.
Interested in every human endeavour except the... Full Bio

Part 1, which begins our examination of the question 'what is time?' can be viewed here.
Part 2 Some travels through time can be viewed  here.
Part 3 discussing language, sequence and order, can be viewed  here.
Part 4 a brief discussion of clocks, Steno, Foucault and Allais, can be viewed here.

Note: this blog on time is speculative, not established fact.

A Theory of Time Part 5 : Some Thoughts on Velocity

"the only method to obtain positive knowledge is to leave the incomprehensible unexplained until sooner or later the explanation emerges of its own accord from facts which are so plain that divided opinions about them can scarcely arise. "

Wilhelm Ostwald - Nobel Lecture, December 12, 1909

Time as a pattern matching exercise.

In part 4,  I wrote: "Objectively, synchronising any two clocks is a process that can be reduced mathematically to the same paradigm as dendrochronology. Time in the abstract is not necessary to the process: it is simply a matter of pattern matching."  I shall now show an example of this from everyday experience.

Image three cars, carts or trolleys. Each one carries an inking device, which may be a pen, an ink jet or anything similar. The 'pen down' mechanism in each car is a simple oscillator, balance wheel, or any mechanism with a regular beat, a regular causal chain.  The three cars are set in motion on three lines, and each produces a chain of marks. These marks can be plotted on a chart.

The chart is not marked with units of measure. Such units are entirely arbitrary, an imposition by the mind on the observed data in order to make sense of it. It matters not whether we mark the events as locations along a path in space or as events in time, or even if we leave them entirely unmarked. The outcome is the same: we can determine a relational difference between the three cars.

We note that, when one car has covered a distance which is a multiple of 3, the others have covered the same multiple of 2 and unit distance respectively. The ratio of distances covered is 3:2:1. This is the speed ratio, determined without reference to time as a factor.   In all such calculations, if uniform velocity is a factor,we can reduce any calculation to one in which distance substitutes for velocity.

We can express the relational difference in terms of velocity, which seems to imply that time must exist. However, we can also state the relation in terms of comparative distances by notional alignment of - or counting of - pen-down events.   Or, rather, by adding up the distances between pen-down events.  If we accept the uniformity of the 'clocks', the relative spacings are explained.  If we insist that, for each observer, the linear spacings are in some way identical, we must deduce that the 'clocks' are not synchronous.  The model also works for pulse events, if we model pulse separations as wavelengths instead of time units.  In using an oscilloscope, we commonly measure events in the millimeters of the graticule.

In the case of non-uniform motion, e.g. acceleration, we can still use the same method. In this case, the pen-down events are non-uniform in space, but may still be aligned to derive either an accelerating force or time. If it is accepted that time has no real existence, then a focus on the accelerating force is appropriate.

The N-Body Problem - a suggested heuristic.

The examples of motion along a single vector are easy to calculate. Ultimately, it is a simple tally process. I suggest that, by a stepwise calculation in space rather than in time, the N-body problem has a solution in a heuristic that is reducible to a simple tally.

I shall show how the heuristic is developed by showing a 3-body problem, but the heuristic can be applied to any number of bodies which exert mutual influences.

For each object A, B, C ... N we set up two data arrays, A[a][b] B[a][b] ... N[a][b]
In each a array N[a] we store vectors for location, velocity and rotation, and a variable for the mass.  By including rotation, we can determine tidal effects between objects.  Mass is a variable rather than a constant so that we can model mass loss in radiating bodies as it affects gravitational paths.

The method:  
(Note:  the following part was edited to correct the omission of the derived ratio vel.)

In implementing the heuristic, we determine an increment of distance, LV for each body, which is the length component of the velocity.  The time component is disregarded.  For each iteration of the heuristic, we determine the lowest LLv and highest HLv values of LV amongst the data for all of the bodies.  We calculate the ratio of HLv to LLv .  This fraction,  which I shall call a vel  is the space-step for that specific iteration.  Each body is updated by vel times its local value of LV.   The 'space-clock' has no essential uniformity in its 'ticks' - the distance  vel ( LV)  is different for each location vector of each body and for each iteration.  To clarify: vel is calculated once only at the start of each iteration.

For each object, we first increment its location, by applying vel ( LV) to each location vector , in accordance with the data already stored for that object in array N[a].  That increment in spatial vector is stored in array N[b]. We now calculate the resultant of gravitational forces due to the other objects as it affects the velocity of this object, storing the new data in array N[b].

Once we have updated every object's data into its array N[b] we overwrite all arrays N[a] with the respective contents of arrays N[b], and clear N[b].

The process is repeated through as many iterations as may be required.

The accuracy of the model may be refined by using a constant fraction applied to vel, thus making the update increments smaller.   All dimensions of velocity in the model are measured in linear distance along a vector per program-step. The program-steps substitute for the time dimension.  Instead of 'time-slicing' the problem, we 'space-slice' it.  The time slices are by definition constant.  The space slice fraction vel is re-evaluated after ever iteration of the heuristic.  It is an emergent value in the process which is being modelled.

By using the vel as a 'clock' unit, the speed of processing becomes independent of overall velocity changes within broad limits.  If  a constant unit such as the meter, kilometer etc were used for the steps, the model would become ever more inacurate, due to the increased coarseness of detail with velocity.  If a unit of time were used, an update by dimensions in space would take ever-increasing time to compute with increasing velocities.

Discussion:  since I am a programmer rather than a mathematician, I am unable to reduce this model to a mathematical function.  I am therefore not able to 'prove' the concept in the mathematical sense.

I welcome all comments.  If there is an error in my approach, I would be glad to know of it.
This blog is continued in Part 6.

Comments

logicman's picture
The arrow of time.
I omitted to mention that the heuristic allows for reversal by making the vectors negative.  The inclusion of mass variation allows for the modeling of entropy, thus making the 'arrow of time' a part of the model, even in the absence of a variable to denote time.  Depending on the direction of the model, a star will either lose mass or gain it.  The 'arrow of time' is also inherent in the information value of the model: reversals can be checked against historic data;  projections cannot be checked.  The 'vividness of the present' ramps down  gradually into the dimness of the past, and sharply into the unknowability of the future.

Gerhard Adam's picture

"In each a array N[a] we store vectors for location, velocity and rotation, and a variable for the mass."

So you're proposing a matrix containing a location vector (x,y,z coordinates), velocity vector. rotation (angular momentum?) and mass.

What are you using as the velocity if this is time-independent?

"...we determine an increment of distance, LV for each body, which is the length component of the velocity"

So if the velocity is measured in meters/sec you're taking only the meters?

"...we determine the lowest LLv and highest HLv values of LV amongst the data for all of the bodies."

So if there are three bodies involved you're taking the highest and lowest distance value from the three measurements?  You are then using this to create the ratio which represents your "VEL" value, correct?


Therefore v1 = v1x + v1y + v1z, v2 = v2x + v2y + v2z, v3 = v3x + v3y + v3z.  Now since the velocity is the location as a function time so that x(t) + y(t) + z(t), then how do you make it time-independent?

 In addition, how would I define the ratio between velocity vectors in three dimensions?  Each of the components might have different "lengths" based on the direction their velocity vector was pointing.  Since we're dealing with the effect on three bodies, we can't just deal with the magnitutde of the velocity vector, so I'm not clear on how you would adjust this.  In other words, using the ratio you've described, I could end up with different high and low values in the three coordinate (x,y,z) between different bodies that would produce different ratios.



Gerhard Adam's picture

Another point to consider.  This has been plaguing me for awhile and that's whether the concept of distance has any meaning without time.



logicman's picture
Thanks for your comments, Gerhard.

To answer your last point first: the concept of distance has no meaning without energy and inertia.

No measurement of size or distance can be made without expending energy to overcome an inertia. 
To lay out a surveyor's tape, or to use a theodolite in a land survey requires a lot of travel, i.e. energy.
Even the use of a small ruler, or any physical object  uses energy.  We can estimate the distance of a sound without moving a muscle, but the source of the sound is using energy.

Non-intuitively, using the eyes to guess a measurement uses energy: the static human eye is blind.  Saccades consume energy.   At all scales, no measurement of length can be made without using energy.
When the size to be measured and the quantum of energy required approach each other in scale, Schrödinger's cat starts to hiss.

The N-body heuristic. 
Since every velocity in every array is a vector in x,y,z with a common value t, time can be completely ignored.  If time is used consistently across a computer model, then any time unit is just a numerical constant in a vector model which modifies all values alike.  A velocity is a length multiplied by a constant.  The length is the variable, and the time unit is the scale of fineness of the model. 

If we take the ratio of greatest to least velocity in the system, we derive vel, a dimensionless substitute for a time constant. In order to determine a scale of fineness for the program stepping, in the absence of the time-scale constant, we use a time-independent constant.  But it is only a 'constant' within any one iteration of the program loop.  The fineness of detail increases automatically when velocity extremes occur.

Suppose two extremes of velocity in a model: 
a star has an x velocity 1000m/s and a planet has a z velocity of 100,000 m/s
In a model scaled to seconds, we 'move' the one mass 1000m and the other 100,000 m.  Or we could use milliseconds and use 1 and 100 as the distance moved, so as to give our model a finer grain.  In this model, we have a variable usually called 'time'.  But we could equally call it 'model incrementation scale'.

Instead of time, we take the ratio of the lowest to greatest non-zero x,y or z distance-to-move , in this case 1:100, or 0.01  This is the multiplier applied to every x,y,z distance to find a new x,y,z location in the b array b[] for the current iteration only.  The two movements above become 10 and 1000.  The fineness of detail is dependent on our initial velocity terms: meters per millisecond, second, minute, hour etc.

For each array b[] we now use the instantaneous Newtonian mass interaction forces between each body and each other body (array N b[]) .  Every array b[] now contains a new position x,y,z   a velocity x,y,z and perhaps spin, mass etc if these finer details are to be modelled.  We copy each array b[] to its paired array a[] and that ends a single iteration of the heuristic.

The why of it.
By not using time as a scale, the program step 'vel'  is adjusted to suit each iteration: it keeps step, not with some notional external pacemaker, or the 'year' of an arbitrarily chosen body, but with the ratio of extremes in the system.  The more extreme the system, the finer the detail modelled, and per contra.

In a model of a system which has swings from slow stabilities to fast instabilities, a program based on a synchronous-clock  will use more resources than if based on an asynchronous 'vel-clock', for any required level of detail.

For greater speed and accuracy, the heuristic could be modelled using a computer cluster with each computer dealing with one body or planet-moon system only.

Gerhard Adam's picture

"Suppose two extremes of velocity in a model: 
a star has an x velocity 1000m/s and a planet has a z velocity of 100,000 m/s
In a model scaled to seconds, we 'move' the one mass 1000m and the other 100,000 m.  Or we could use milliseconds and use 1 and 100 as the distance moved, so as to give our model a finer grain."

My problem is that you seem to using speed and not velocity.  The x = 1000 m/s and z = 100,000 m/s are magnitudes only.


The velocity would have the 1000 m/s so that there was a component in the x-direction, y-direction, and z-direction which would impact the final location.  Similarly for the planet in your example.


Therefore there would be a unique ratio fo each of these components (x, y, and z).  This would result in three different ratios since there is no reason to believe that they would share the same ratio that the magnitude would.


Similarly with three bodies, I'd have the possibility that the high/low values could actually exist in all three bodies so that there is no singular high/low value to apply to the matrices.  That's where I'm confused about how you intend to resolve this.



logicman's picture
Gerhard:  the idea of the ratio is that, before calculating any inter-mass forces, a single multiplier is determined for use with each individual vector throughout the model for one iteration only of location updates.

It is a fractional value that replaces the fractional time value, and thus sets the increment scale for a single iteration.

In a model where t = 0.001 s, each object is updated by the amount it would move in 0.001s, i.e. for each vector x, y, z we multiply a length by t to derive a displacement.

If a ratio is used of the single greatest to the single least velocity vector across all available velocity vectors, we have a multiplier to replace t.  Suppose that, by a strange coincidence, in one specific iteration of the program loop it equates to vel = 0.001   We update each object's location by the amount it would move as vel times x, y and z

It is immaterial what multiplier we use, and what we call it: whether t, vel or any arbitrary fraction, each body has its location updated as a fixed multiplier times a distance in each of the x, y and z dimensions.

The only difference between time slicing the problem and space-slicing it is that a time-slicing model uses a fixed multiplier and my space-slicing model uses  one which has a unique fixed value per iteration of all (not each) N bodies. 

Gerhard Adam's picture
So you're actually using the speed (for example) as simply a way to derive a multiplier which will be variable for each iteration. 

So I'm still confused.  How does this differ from using the time element of velocity?  It seems you're replacing it with an iteration (which presumably will behave in some rhythmic manner)? 

OR

Are you assuming constant velocities, so that no matter how much time elapses, the ratio between the various bodies will still be a valid indicator of the variation in their respective motions?


logicman's picture
I'm using iteration in a programmer's sense:

Start loop:
  Step 1 - select a fractional value FV by which to increment locations in x y z
  Step 2 - for each set of values x y z
   - - - - - - update location values x y z as motions in x y z incremented by the fraction FV of motion.
   
- - - - - -  for each pair of masses:
  --------- ----- calculate a new set of velocities x y z as mass interactions.
  Step 3 - move all b[] array values to respective a[] locations.
Repeat loop.

In a time-sliced model, step 1 is done once only for a complete run of the program. FV is a 'tick'
In the space-sliced model, the advantage of recalculating the value once per loop is that the model uses ever finer steps when the disparity of velocities is increasing, and per contra.

The main purpose in showing the heuristic is to show time as a fiction.  In a model of our solar system, the motions of the Earth become the causal chain with which the motions of all other bodies can be 'timed'.  But those motions can be modelled with no reference to time as a reality.

Gerhard Adam's picture
OK ... without doing it myself.  How does it track?  Does it produce accurate results in agreement with other method(s)?

logicman's picture
OK ... without doing it myself.  How does it track?  Does it produce accurate results in agreement with other method(s)?


I have only programmed up a segment of this to test the logic.  I posted the heuristic because I wanted to get some feedback to see if I may have overlooked something.  What I need to do is get some good ephemeris data and then plug away at it.  My biggest problem is in using data which is Earth-observer oriented and light-time corrected and converting that to physical locations, then back again.  In effect, I need to write a data conversion-reconversion program, then link that to the N-body program.

So my problem is to write essentially a 3-component maths-intensive program.  It will take me some time.  Most of my programming is done in ASCII text analysis.  That is extremely logic-intensive because no CPU is optimised for ASCII text handling.  On the other hand, debugging is easy because all outputs are in human language.  Before I even start with the math, I'll need to refresh my math programming and debugging skills.  But I will have a stab at it soon.

Add a comment

The content of this field is kept private and will not be shown publicly.
  • Allowed HTML tags: <sup> <sub> <a> <em> <strong> <center> <cite> <code> <TH><ul> <ol> <li> <dl> <dt> <dd> <img> <br> <p> <blockquote> <strike> <object> <param> <embed> <del> <pre> <b> <i> <table> <tbody> <div> <tr> <td> <h1> <h2> <h3> <h4> <h5> <h6> <hr> <iframe>
  • Lines and paragraphs break automatically.
  • Web page addresses and e-mail addresses turn into links automatically.
CAPTCHA
If you register, you will never be bothered to prove you are human again. And you get a real editor toolbar to use instead of this HTML thing that wards off spam bots.