Time Fractals in Golden Ratio Proportions and TCL demo example calculator, numerical analysis

Time Fractals in Golden Ratio Proportions and TCL demo example calculator, numerical analysis

This page is under development. Comments are welcome, but please load any comments in the comments section at the bottom of the page. Please include your wiki MONIKER and date in your comment with the same courtesy that I will give you. Aside from your courtesy, your wiki MONIKER and date as a signature and minimal good faith of any internet post are the rules of this TCL-WIKI. Its very hard to reply reasonably without some background of the correspondent on his WIKI bio page. Thanks,gold 30Apr2021


Introduction


gold Here are some calculations on time fractal windows. This calculator uses golden ratio proportions to predict successive time windows or successive time fractals of similar probable occurrences based a seed time or initial age in decimal years. There is plenty of uncertainty about probable occurrences events after the seed time in decimal years, but the the probable occurrences are largely based on growth, accumulation, and succession following the golden ratio proportions. Not all events in time have golden ratio proportions.


Golden Ratio Constants


The golden ratio constant is 1.6180339887… As used in the TCL program, the golden ratio conjugate is 0.6180339887… In some circles, a peak is considered 1.6X and a dip is considered 0.6X. The most commonly used Fibonacci ratios as dips include the 23.6%, 38.2%, 50%, 61.8%, and 78.6% shorts. A version of 61.8% is loaded in the TCL program as 0.618... Not sure these Fibonacci ratios apply on all occasions, but there is considerable interest in predicting peaks and dips in Bitcoin cryptocurrency.

#; derivation of analyst Fibonacci constants
set $g_constant1 1.61803398874989484820
set result [ expr {  1./ ($g_constant1 * $g_constant1 ) }]
#; result out = 2.6180339887498945 
set  g_constant2  1.61803398874989484820
expr {  1./ ($g_constant * $g_constant )  }
#; result out = 0.38196601125010515

The golden time point in any duration is defined 61.8% in its entire length of time. Golden time segments may defined as multiple and alternating time segments in proportion to Fibonacci series constants. An example is 3:2:5:2 (here, 4 time segments approximating golden ratio equivalence 1.618:1:1.618:1). The reported testcase is roughly 3:2:2:5.

Test Suite on Time Fractals in Golden Ratio Proportions


The calculations of time fractals in golden ratio proportions have problems with initial conditions and observer reference issues. There are two possible methods of time fractal calculations, either the seed year as personal age or the seed year as a Gregorian calendar year. The seed age event and birthdays are different for most people in the personal age method. The optional test suite has added the calculations for a golden date from a Gregorian calendar year.


Conclusions


The TCL calculator seems to be working as it stands and matches the scanty textbook examples. The calculator carries the numbers out to the TCL 8.6 maximum (17 places), but suggest there is about a 5 per cent accuracy inherent in most inputs and the probable event outputs. One relative error calculation in TCL notation was vis expr {(1 -(28.797 / 27.506))* 100. } >> 4.69 percent accuracy.


Pseudocode, Equations, and Wiki Page Checklist

     #pseudocode can be developed from rules of thumb.
     #pseudocode: some problems can be solved by proportions (rule of three), to some order of magnitude
     #pseudocode: enter quantity1,  quantity2, quantity3 and expected output (quantity4) for testcases.
     #pseudocode: enter time in years, number of remaining items
     #pseudocode: output fraction of (remaining items) over (items at time zero)
     #pseudocode: ouput remaining items as fraction or percent
     #pseudocode: output fraction of (quantity4 ) over ( quantity1 at time zero)
     #pseudocode: output fraction of (quantity2) * (quantity3 ) over (quantity1 at time zero)
     #pseudocode: outputs should be in compatible units.
     #pseudocode: rules of thumb can be 3 to 15 percent off, partly since g..in g..out.
     #pseudocode: need test cases > small,medium, giant
     #pseudocode: need testcases within range of expected operation.
     #pseudocode: are there any cases too small or large to be solved?
     #
     # F(N+1) == F(N) + F(N-1)
     # F(1) == 1
     # F(2) == 1
     set Grade_School 6
     set Middle_School 2
     set High_School 4
     set College 4
     set Graduate_School 2
     set values [list 6 8 12 16 18]
     set fractals [list 9.7 12.94 19.4 25.888 29.14]
     partials, f(1)= .5 
     f(2) = (1/4) * .5
     f(3) = (1/6) * .5

Testcases Section

In planning any software, it is advisable to gather a number of testcases to check the results of the program.

Testcase 1


table 1printed in tcl wiki format
quantity value comment, if any
1:testcase_number
11.0 :initial age decimal years
17.798373876248842 :answers: probable 2nd next occurrence, decimal years :
24.596747752497684 :probable 3 next occurrence, decimal years :
31.395121628746526 :probable 4 next occurrence, decimal years :
38.193495504995369 :probable 5 next occurrence, decimal years :
44.991869381244214 :probable 6 next occurrence, decimal years :
51.790243257493053 :probable 7 next occurrence, decimal years :
58.588617133741892 :probable 8 next occurrence, decimal years :

;# printout
start study of initial conditions 
observer value 17.792999999999999 returns prior reverse
returns prior reverse 10.996678761826878 
prior reverse rnd 10.997 
 seed event rounded 17.793 
end study of initial conditions 
%|table 1|printed in| tcl wiki format|% 

Testcase 2



table 2printed in tcl wiki format
quantity value comment, if any
2:testcase_number
16.0 :initial age decimal years
25.888543819998318 :answers: probable 2nd next occurrence, decimal years :
35.777087639996637 :probable 3 next occurrence, decimal years :
45.665631459994955 :probable 4 next occurrence, decimal years :
55.554175279993274 :probable 5 next occurrence, decimal years :
65.442719099991592 :probable 6 next occurrence, decimal years :
75.331262919989911 :probable 7 next occurrence, decimal years :
85.219806739988229 :probable 8 next occurrence, decimal years :

;# printout
start study of initial conditions 
observer value 16.0 returns prior reverse
returns prior reverse 9.8885438199983167 
prior reverse rnd 9.8885 
 seed event rounded 16.000 
end study of initial conditions 
#####
start study of initial conditions 
observer value 25.888000000000002 returns prior reverse
returns prior reverse 15.999663900757277 
prior reverse rnd 16.000 
 seed event rounded 25.888 
end study of initial conditions 

Testcase 3




table 3printed in tcl wiki format
quantity value comment, if any
3:testcase_number
10.0 :initial age decimal years
16.180339887498949 :answers: probable 2nd next occurrence, decimal years :
22.360679774997898 :probable 3 next occurrence, decimal years :
28.541019662496847 :probable 4 next occurrence, decimal years :
34.721359549995796 :probable 5 next occurrence, decimal years :
40.901699437494742 :probable 6 next occurrence, decimal years :
47.082039324993694 :probable 7 next occurrence, decimal years :
53.262379212492647 :probable 8 next occurrence, decimal years :

;# printout
start study of initial conditions 
observer value 10.0 returns prior reverse
returns prior reverse 6.1803398874989481 
prior reverse rnd 6.1803 
 seed event rounded 10.000 
end study of initial conditions 
start study of initial conditions 
observer value 16.18 returns prior reverse
returns prior reverse 9.9997899379732971 
prior reverse rnd 9.9998 
 seed event rounded 16.180 
end study of initial conditions 

Testcase 4


table 8printed in tcl wiki format
quantity value comment, if any
8:testcase_number
15.0 :initial age decimal years
24.270509831248422 :answers: probable 2nd next occurrence, decimal years :
33.541019662496844 :probable 3 next occurrence, decimal years :
42.811529493745269 :probable 4 next occurrence, decimal years :
52.082039324993687 :probable 5 next occurrence, decimal years :
61.352549156242105 :probable 6 next occurrence, decimal years :
70.623058987490538 :probable 7 next occurrence, decimal years :
79.893568818738956 :probable 8 next occurrence, decimal years :

;# printout
start study of initial conditions 
observer value 15.0 returns prior reverse
returns prior reverse 9.2705098312484218 
prior reverse rnd 9.2705 
 seed event rounded 15.000 
end study of initial conditions 
start study of initial conditions 
observer value 24.27 returns prior reverse
returns prior reverse 14.999684906959946 
prior reverse rnd 15.000 
 seed event rounded 24.270 
end study of initial conditions 


Testcase 5, successive Fibonacci numbers


table 10printed in tcl wiki format
quantity value comment, if any
10:testcase_number
144.0 :initial age decimal years
232.99689437998484 :answers: probable 2nd next occurrence, decimal years :
321.99378875996968 :probable 3 next occurrence, decimal years :
410.99068313995451 :probable 4 next occurrence, decimal years :
499.98757751993935 :probable 5 next occurrence, decimal years :
588.98447189992419 :probable 6 next occurrence, decimal years :
677.98136627990903 :probable 7 next occurrence, decimal years :
766.97826065989386 :probable 8 next occurrence, decimal years :

;# printout
start study of initial conditions 
observer value 144.0 returns prior reverse
returns prior reverse 88.996894379984852 
prior reverse rnd 88.997 
seed event rounded 144.00 
end study of initial conditions
 start study of initial conditions 
observer value 232.99600000000001 returns prior reverse
returns prior reverse 143.99944724277049 
prior reverse rnd 144.00 
seed event rounded 233.00 
end study of initial conditions 


If the entry is a Fibonacci number greater than zero, the TCL calculator should approximate the next successive Fibonacci numbers as reals, but need to round to nearest integer. The On-Line Encyclopedia of Integer Sequences A000045 gives the Fibonacci numbers as follows 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987, 1597, 2584, 4181, 6765, 10946, 17711, 28657, 46368, 75025, 121393, 196418, 317811, 514229, 832040, 1346269.


table 5printed in tcl wiki format
quantity value comment, if any
5:notes on Elliott Wave Principle, possible peak curve rises and falls from Fibonacci numbers
wave number entry (144) is Fibonacci number
wave 1 :161.8% new bull (+) or bear (-) market and is usually accompanied by sentiment extremes, possible Fibonacci 161.8% plus
wave 2 :61.8% possible Fibonacci 61.8% or 78.6% retrenchment
wave 3 :161.8% possible Fibonacci 161.8% advance
wave 4:38.2% possible Fibonacci 38.2% retrenchment, sideways market
wave 5:32.6% possible Fibonacci final leg in the direction of the dominant trend
wave 5:50.0% possible Fibonacci final leg, 50.0% used as analyst midpoint and lost shirts
Elliot wave analyst Fibonacci constants :161.8%.,61.8%, 38.2%, 23.6%, and 50.0 % apparently from OEIS A000045 Fibonacci series, <3,5,8>

Testcase 6, life cycle of cicada insect and separate cicada species


The cicada insect in the USA has a life cycle of 17 years, believed to be based loosely based on the solar cycle of eleven years. Enter 10 decimal years in the TCL calculator, result rounds down to 17 years. The cicada insects emerge in May of the seventeenth year, so the hand TCL expression was expr { 17 + 5./12 } as 17.4166 or rounded 17.4 decimal years. Comment that time coincidence is not proof of causation.


Another cicada insect species in the USA has a life cycle of 13 years, possibly an unknown factor may be involved. From the Elliot wave theory, there are other Fibonacci constants for breakpoints. Skipping a number in the Fibonacci sequence (55/144 and 144/55) produces 2 more Fibonacci breakpoint constants, 38.2 percent and 261.8%. In this case the Fibonacci break constant 38.2% is of interest, so the hand TCL expression was expr { 10. * ( 1. + 100.* 38.2% ) } as expr { 10. *1.382 } to 13.819 or rounded 13.8 decimal years. In this problem, we used reverse logic or the reverse golden ratio proc. What number of years would return a life cycle of 13 years? So the hand TCL expression was expr { $age_years * (1./1.618) } as or rounded 8 decimal years.


,# printout
start study of initial conditions 
observer value 13.0 returns prior reverse
returns prior reverse 8.034441853748632 
prior reverse rnd 8.0344 
 seed event rounded 13.000 

table 6a printed in tcl wiki format
quantity value comment, if any
6a :testcase_number
11.0 :initial age decimal years solar cycle of eleven years
17.798373876248842 :answers: probable 2nd next occurrence, decimal years. life cycle of cicada insect :
24.596747752497684 :probable 3 next occurrence, decimal years :
31.395121628746526 :probable 4 next occurrence, decimal years :
38.193495504995369 :probable 5 next occurrence, decimal years :
44.991869381244214 :probable 6 next occurrence, decimal years :
51.790243257493053 :probable 7 next occurrence, decimal years :
58.588617133741892 :probable 8 next occurrence, decimal years :


;# printout
start study of initial conditions 
observer value 11.0 returns prior reverse
returns prior reverse 6.798373876248843 
prior reverse rnd 6.7984 
 seed event rounded 11.000 
end study of initial conditions 
start study of initial conditions 
observer value 17.0 returns prior reverse
returns prior reverse 10.506577808748212 
prior reverse rnd 10.507 
 seed event rounded 17.000 
end study of initial conditions 
%|table 14|printed in| tcl wiki format|% 

table 6bprinted in tcl wiki format
quantity value comment, if any
6b:testcase_number
8.0 :initial age decimal years unknown factor for separate species
12.944271909999159 :answers: life cycle of cicada insect species, decimal years :
17.888543819998318 :probable 3 next occurrence, decimal years :
22.832815729997478 :probable 4 next occurrence, decimal years :
27.777087639996637 :probable 5 next occurrence, decimal years :
32.721359549995796 :probable 6 next occurrence, decimal years :
37.665631459994955 :probable 7 next occurrence, decimal years :
42.609903369994115 :probable 8 next occurrence, decimal years :
12.944 :probable 1st next occurrence, rounded or clipped : life cycle of cicada insect, separate species
Elliot wave analyst Fibonacci constants :161.8%.,61.8%, 38.2%, 23.6%, and 50.0 % apparently from OEIS A000045 Fibonacci series, <3,5,8>
breakpoint from alternate Elliot wave theory :expr { 10. * ( 1. + 100.* 38.2% ) } 13.8 decimal years Elliot wave theory , not proof of causation.

;# printout
start study of initial conditions 
observer value 8.0 returns prior reverse
returns prior reverse 4.9442719099991583 
prior reverse rnd 4.9443 
seed event rounded 8.0000 
end study of initial conditions 
start study of initial conditions 
observer value 13.0 returns prior reverse
returns prior reverse 8.034441853748632 
prior reverse rnd 8.0344 
 seed event rounded 13.000 
end study of initial conditions 
%|table 16|printed in| tcl wiki format|% 
;# wave analyst Fibonacci constants
;# using Fibonacci series
expr 5./11 = 0.4545 ( ~ .5)
expr 5./13 = 0.38461538461538464
expr 5./21 = 0.23809523809523808
expr 5./34 = 0.14705882352941177
;# wave analyst Fibonacci constants
;# using golden ratio
expr { 1/.618  } =  1.618
expr { 1/1.618 } = 0.6180469715698392
expr { .618 *.618 } = 0.381924
expr { .618 *.618 *.618 } = 0.236029032
expr { .618 *.618 *.618*.618 }  =  0.14586594177599999

From 24 October 1929 to 29 October 1929, the American stock market lost 23 per cent of value. Possibly the Elliot wave analyst Fibonacci constant of 0.236029032 or 23.6% may apply.


Testcase 7


Most agree that humans start puberty at 13 years old and become mature at 21 years. Enter 13 years for puberty in calculator and receive rounded 21 years for human maturity.


table 17printed in tcl wiki format
quantity value comment, if any
17:testcase_number
13.0 :initial age decimal years
21.034441853748632 :answers: probable 2nd next occurrence, decimal years :
29.068883707497264 :probable 3 next occurrence, decimal years :
37.103325561245896 :probable 4 next occurrence, decimal years :
45.137767414994528 :probable 5 next occurrence, decimal years :
53.17220926874316 :probable 6 next occurrence, decimal years :
61.206651122491792 :probable 7 next occurrence, decimal years :
69.241092976240424 :probable 8 next occurrence, decimal years :

#;
start study of initial conditions 
observer value 13.0 returns prior reverse
returns prior reverse 8.034441853748632 
prior reverse rnd 8.0344 
 seed event rounded 13.000 
end study of initial conditions 

Testcase 8


Most of the golden ratio problems I can find deal with dimensions rather than time. According to Nick Braden in the book Fractal Time , one complete turn of a DNA strand is 34 angstrom units in length and 21 angstrom units wide. Enter 21 angstrom units for DNA width in TCL calculator and receive rounded 34 angstrom units for DNA height.


Perhaps an algorithm for the reverse progress would be useful, Height >> Width. The TCL expression would be expr { 34. * ( 1/ 1.618 ) } or 21.013 angstrom units width.


table 18printed in tcl wiki format
quantity value comment, if any
18:testcase_number
21.0 :angstroms width
33.978713763747791 :answers: probable 2nd next occurrence, angstroms :
46.957427527495582 :probable 3 next occurrence, decimal years :
59.936141291243374 :probable 4 next occurrence, decimal years :
72.914855054991165 :probable 5 next occurrence, decimal years :
85.893568818738956 :probable 6 next occurrence, decimal years :
98.872282582486747 :probable 7 next occurrence, decimal years :
111.85099634623454 :probable 8 next occurrence, decimal years :

start study of initial conditions 
observer value 21.0 returns prior reverse
returns prior reverse 12.978713763747791 
prior reverse rnd 12.979 
 seed event rounded 21.000 
end study of initial conditions 





            proc reverse_time_fractal {age_years} {
            set g_constant 1.61803398874989484820
            set reverse_time_fractal  [ expr {  $age_years * (1./$g_constant)   } ]
            ;#return $reverse_fractal
            }


Testcase 10



The starfish has 5 arms and the dimensions of a pentagon in length, rather than time units. Enter 1 inch for width between two arms in TCL calculator and receive rounded 1.816 units for maximum width or length across two alternate arms. The units cancel out in the calculator, so one may enter 8 centimeters and receive proportional 12.9 centimeters across 2 opposing arms, using proportional calculations with the golden mean.


table 2printed in tcl wiki format
quantity value comment, if any
2:testcase_number
8.0 :centimeters between 2 adjacent arms
12.944271909999159 :answers: maximum starfish dimensions across 2 opposing arms :
17.888543819998318 :probable 3 next occurrence, decimal years :
22.832815729997478 :probable 4 next occurrence, decimal years :
27.777087639996637 :probable 5 next occurrence, decimal years :
32.721359549995796 :probable 6 next occurrence, decimal years :
37.665631459994955 :probable 7 next occurrence, decimal years :
42.609903369994115 :probable 8 next occurrence, decimal years :


Testcase 11


Ratio of male bees to female bees in hive, 1:1.618. A single hive can have from 10,000 to well over 60,000 bees. Female should be fraction expr { 1.618/ (1.+1.618) } or 0.618. Enter 10000 males for a beehive and TCL calculator estimates 16180 females in hive.


table 3printed in tcl wiki format
quantity value comment, if any
3:testcase_number
10000.0 :number of male bees
16180.339887498947 :answers: number of female bees :
22360.679774997894 :probable 3 next occurrence, decimal years :
28541.019662496841 :probable 4 next occurrence, decimal years :
34721.359549995788 :probable 5 next occurrence, decimal years :
40901.699437494739 :probable 6 next occurrence, decimal years :
47082.039324993682 :probable 7 next occurrence, decimal years :
53262.379212492626 :probable 8 next occurrence, decimal years :

Screenshots Section


figure 1.Golden_Ratio_screenshot


Golden_Ratio_screenshot


figure 2.time_fractals_equation


time_fractals_equation



figure 3.time_fractal_dummy_curve


time_fractal_dummy_curve



figure 4. Time_Fractal_Starfish


Time_Fractal_starfish


figure 5.Golden_Ratio_Proportions


Golden_Ratio_Proportions


figure 6.Golden_Ratio_definition


Golden_Ratio_definition


figure 7.Golden_Ratio_waves


Golden_Ratio_more_waves


References:

  • Wikipedia search engine < time >
  • Wikipedia search engine < golden ratio proportions >
  • Wikipedia search engine < Fibonacci >
  • Google search engine < fractal time calculator Braden Greg >
  • Book >> Fractal Time: The Secret of 2012 and a New World Age
  • Paperback – Illustrated, February 1, 2010
  • book(s) by Braden Gregg
  • www.greggbraden.com/fractal time calculator
  • Website articles by Tony Spilotro
  • Bitcoin Mathematics: Why 21 Million BTC May Have Been Chosen
  • Extreme interest in trading Bitcoin cryptocurrency golden ratio tops
  • Fibonacci Day: How To Use Math To Trade Bitcoin And Altcoins
  • Web article Mathematical Mystery: Why Did The Bitcoin Rally Stop At The Golden Ratio?
  • Crypto Calculated: How Ancient Math Predicts Bitcoin’s Next Top At $270K
  • Fibonacci Day: How To Use Math To Trade Bitcoin And Altcoins
  • by Tony Spilotro
  • Understanding Bitcoin’s Market Cycles: 3 Simple indicators for future tops and bottoms
  • Collected Works of R. N. Elliot
  • The Wave Principle. Nature's Law: The Secret of the Universe. R. N. Elliot
  • Series of Articles Published in 1939 by Ralph Nelson Elliott.
  • Elliott Wave Principle by A.J. Frost and Robert Prechter
  • Elliott Wave Principle: Key To Market Behavior
  • Elliott, Ralph Nelson, Frost, Alfred John, Prechter, Robert Rougelot
  • R.N. Elliott's Masterworks: The Definitive Collection
  • 318 Pages · 1994 English
  • by R. N. Elliott & Robert R. Prechter & Jr.
  • Fractal Time. coded in python , sourceforge.net_projects_fractaltimecalc
  • Golden Ratios in Energy Radiation and Vibrations
  • May 23, 2012 by Gary Meisner 1.6180339887498948420
  • Terence McKenna. 1998, TimeWave Zero Software
  • Essay: Timewave Zero .Pdf by Terence McKenna
  • contributions on Time Code Software by Peter Meyer.
  • Peter J. Meyer , Peter Johann Gustav Meyer, born 1946
  • Mathematics of Timewave Zero by Peter Meyer.
  • appeared in the Invisible Landscape, 2nd edition, HarperCollins, 1993
  • www.science20.com/hammock_physicist/fibonacci_butterflies
  • by Johannes Koelman, August 6th 2009
  • en.wikipedia.org/wiki/Anosov_diffeomorphism, Dmitri Victorovich Anosov
  • Fractal universe and the speed of light: Revision of the universal constants
  • Antonio Alfonso-Faus
  • Weinberg, S. (1972) Gravitation and Cosmology. Wiley,
  • Timewave Synthesizer at SourceForge
  • waveform synthesizer based upon Timewave Zero theory by Terence McKenna


Appendix Code

appendix TCL programs and scripts

        ;# pretty print from autoindent and ased editor occurrence
        ;# Time Fractal Proportions calculator
        ;# written on Windows 
        ;# working under TCL version 8.6 
        ;# gold on TCL WIKI, 30apr2021
        package require Tk
        package require math::numtheory
        namespace path {::tcl::mathop ::tcl::mathfunc math::numtheory }
        set tcl_precision 17
        frame .frame -relief flat -bg aquamarine4
        pack .frame -side top -fill y -anchor center
        set names {{} {initial age decimal years  :} }
        lappend names {answers:  probable 2nd  next occurrence, decimal years  : }
        lappend names {probable 3  next  occurrence, decimal years  : }
        lappend names {probable 4  next  occurrence, decimal years  : }
        lappend names {probable 5  next  occurrence, decimal years  : }
        lappend names {probable 6  next  occurrence, decimal years  : }
        lappend names {probable 7  next  occurrence, decimal years  : }
        lappend names {probable 8  next  occurrence, decimal years  : }  
        foreach i {1 2 3 4 5 6 7 8} {
            label .frame.label$i -text [lindex $names $i] -anchor e
            entry .frame.entry$i -width 35 -textvariable side$i
            grid .frame.label$i .frame.entry$i -sticky ew -pady 2 -padx 1 }
        proc about {} {
            set msg "Calculator for Time Fractal Proportions V2
            from TCL WIKI,
            written on TCL 8.6 "
            tk_messageBox -title "About" -message $msg } 
        proc self_help {} {
            set msg "Calculator for Time Fractal Proportions V2
            from TCL ,
            ;# self help listing
            ;# 1 given  follow.
            1) initial age decimal years  N1
            ;# This calculator uses golden ratio proportions 
            ;# to predict successive time windows or time fractals 
            ;# of similar probable occurrences based 
            ;# a seed time or initial age decimal years.
            ;# There is plenty of uncertainty about probable occurrences
            ;# and events after the seed time, but the 
            ;# the probable occurrences are largely based on growth,
            ;# accumulation, and succession
            ;# following the golden ratio proportions.
            ;# Not all events in time have  golden ratio proportions.
            ;# For comparison, TCL code may include redundant paths & formulas.
            ;# The TCL calculator normally uses modern
            ;# units  for convenience to modern users and textbooks.
            ;# Any convenient and consistent in/output units might be used
            ;# like inches, feet, nindas, cubits, or dollars to donuts.
            ;# Recommended procedure is push testcase and fill frame,
            ;# change first three entries etc, push solve,
            ;# and then push report. Report allows copy and paste
            ;# from console to conventional texteditor. For testcases
            ;# testcase number is internal to the calculator and
            ;# will not be printed until the report button is pushed
            ;# for the current result numbers.
            ;# This posting, screenshots, and TCL source code is
            ;# copyrighted under the TCL/TK 8.6 license terms.
            ;# Editorial rights retained under the TCL/TK license terms
            ;# and will be defended as necessary in court.
            Conventional text editor formulas or  grabbed from internet
            screens can be pasted into green console.
            Try copy and paste following into green screen console
            set answer \[* 1. 2. 3. 4. 5. \]
            returns  120
            ;# gold on  TCL Club, 30apr2021 "
            tk_messageBox -title "self_help" -message $msg }
        proc precisionx {precision float}  {
            ;#  tcl:wiki:Floating-point formatting, <AM>
            ;# select numbers only, not used on every number.
            set x [ expr {round( 10 ** $precision * $float) / (10.0 ** $precision)} ]
            ;#  rounded or clipped to nearest 5ird significant figure
            set x [ format "%#.5g" $x ]
            return $x
        }
        proc time_fractal {age_years} {
            set g_constant .6180339887498948420
            ;# golden ratio is 1.6180339887498948420
            set year_occurrence  [ expr {  $age_years + $g_constant * $age_years  } ]
            return $year_occurrence
            }
        proc reverse_time_fractal {age_years} {
            set g_constant 1.61803398874989484820
            set reverse_time_fractal  [ expr {  $age_years * (1./$g_constant)   } ]
            ;#return $reverse_fractal
            }
       proc calendar_year_golden { gregorian_date } { 
            global side1 side2 side3 side4 side5
            global side6 side7 side8 
            global testcase_number          
            set golden_ratio 1.6180339887498948420
            set golden_c .6180339887498948420
            ;# initial test number set gregorian_date 1941.12
            ;# gregorian_date 1941.12 returns golden date 1984.32
            set conversion_date 3113.
            set absolute_date [ expr { $gregorian_date + $conversion_date}]
            set lapsed_portion_cycle [ expr { $absolute_date / 5125.} ]
            set phi_x_lapsed_portion [ expr { $lapsed_portion_cycle * $golden_c} ]
            set cycle_balance [ expr { 5125. - $absolute_date} ]
            set interval_fm_seed_year  [ expr { $cycle_balance *  $phi_x_lapsed_portion} ]
            set next_date  [ expr { $absolute_date + $interval_fm_seed_year} ]
            set next_date_gregorian  [ expr { $next_date - 3113.} ]
            ;# returns answer in decimal years
            return $next_date_gregorian
            }
        proc initial_conditions_check {age_years  } {
            global side1 side2 side3 side4 side5
            global side6 side7 side8 
            ;# test suite follows
            ;# start study of initial conditions on seed event
            ;# test suite for Time Fractal Proportions calculator
            puts " test suite for Time Fractal Proportions calculator "
            puts " start study of initial conditions "
            #; checking calendar year proc
            puts " initial test number set gregorian_date 1941.12 "
            puts " gregorian_date 1941.12 returns golden date 1984.32 "
            puts " gregorian 1941.12 returns golden date [ calendar_year_golden 1941.12 ] "
            puts " testing age_years from first entry loaded as gregorian year $age_years"
            puts " gregorian $age_years returns golden date [ calendar_year_golden $age_years ] " 
            ;# reverse operation is of interest in
            ;# observer problem finding seed event value if unknown
            puts "observer value $age_years returns prior reverse"
            puts "returns prior reverse [reverse_time_fractal $age_years] "
            puts "prior reverse rnd [ precisionx 6 [reverse_time_fractal $age_years]] "
            puts " seed event rounded [precisionx 5  $age_years ] " 
            puts "end study of initial conditions "
            }
       proc calculate {     } {
            global answer2
            global side1 side2 side3 side4 side5
            global side6 side7 side8 
            global testcase_number 
            incr testcase_number 
            set side1 [* $side1 1. ]
            set side2 [* $side2 1. ]
            set side3 [* $side3 1. ]
            set side4 [* $side4 1. ]
            set age_years [ expr { $side1*1.0 } ]
            ;# block following to omit initial_conditions test suite
            set seed_year [ initial_conditions_check $age_years ]
            ;# golden conjugate is  0.61803398874989484820
            ;# alternate test value for 
            ;# golden conjugate is 0.618
            ;# but do not see much difference on small numbers
            ;# under 20
            set g_constant 0.61803398874989484820
            set year_occurrence [    time_fractal $age_years   ] 
            set side2  $year_occurrence
            set initial_year [ ]
            set time_cycle [ expr { $year_occurrence - $age_years      }  ]
            set side3 [ expr { $age_years + $time_cycle  + $time_cycle    }  ]
            set side4 [ expr { $age_years + 3 * $time_cycle  }  ]
            set side5 [ expr { $age_years + 4 * $time_cycle  }  ]
            set side6 [ expr { $age_years + 5 * $time_cycle  }  ]
            set side7 [ expr { $age_years + 6 * $time_cycle  }  ]
            set side8 [ expr { $age_years + 7 * $time_cycle  }  ]
             }
        proc fillup {aa bb cc dd ee ff gg hh} {
            .frame.entry1 insert 0 "$aa"
            .frame.entry2 insert 0 "$bb"
            .frame.entry3 insert 0 "$cc"
            .frame.entry4 insert 0 "$dd"
            .frame.entry5 insert 0 "$ee"
            .frame.entry6 insert 0 "$ff" 
            .frame.entry7 insert 0 "$gg"
            .frame.entry8 insert 0 "$hh" 
             }
        proc clearx {} {
            foreach i {1 2 3 4 5 6 7 8 } {
                .frame.entry$i delete 0 end } }
        proc reportx {} {
            global side1 side2 side3 side4 side5
            global side6 side7 side8 
            global testcase_number
            console show;
            puts "%|table $testcase_number|printed in| tcl wiki format|% "
            puts "&| quantity| value| comment, if any|& "
            puts "&| $testcase_number:|testcase_number | |&"
            puts "&| $side1 :|initial age decimal years  |   |&"
            puts "&| $side2 :|answers: probable  2nd next occurrence, decimal years  : | |& "  
            puts "&| $side3 :|probable 3  next  occurrence, decimal years  :   | |& "
            puts "&| $side4 :|probable 4  next  occurrence, decimal years  :   | |&"
            puts "&| $side5 :|probable 5  next  occurrence, decimal years  :   | |&"
            puts "&| $side6 :|probable 6  next  occurrence, decimal years  :   | |&"
            puts "&| $side7 :|probable 7  next  occurrence, decimal years  :   | |&"
            puts "&| $side8 :|probable 8  next  occurrence, decimal years  :   | |&" 
            }
        frame .buttons -bg aquamarine4
        ::ttk::button .calculator -text "Solve" -command { calculate   }
        ::ttk::button .test2 -text "Testcase1" -command {clearx;fillup 11. 17.79  24.59  31.39  38.19  44.99  51.79 58.58}
        ::ttk::button .test3 -text "Testcase2" -command {clearx;fillup 10.0 16.18 22.36 28.54  34.72  42.360  47.08 53.26 }
        ::ttk::button .test4 -text "Testcase3" -command {clearx;fillup 15.0 24.27 33.54  42.81   52.08  61.35  70.62 79.89 }
        ::ttk::button .clearallx -text clear -command {clearx }
        ::ttk::button .about -text about -command {about}
        ::ttk::button .self_help -text self_help -command {self_help }
        ::ttk::button .cons -text report -command { reportx }
        ::ttk::button .exit -text exit -command {exit}
        pack .calculator  -in .buttons -side top -padx 10 -pady 5
        pack  .clearallx .cons .self_help .about .exit .test4 .test3 .test2   -side bottom -in .buttons
        grid .frame .buttons -sticky ns -pady {0 10}
               . configure -background aquamarine4 -highlightcolor brown -relief raised -border 30
        wm title . "Time Fractal Proportions Calculator V2 "                      

Pushbutton Operation

For the push buttons, the recommended procedure is push testcase and fill frame, change first three entries etc, push solve, and then push report. Report allows copy and paste from console. For testcases in a computer session, the TCL calculator increments a new testcase number internally, eg. TC(1), TC(2) , TC(3) , TC(N). The testcase number is internal to the calculator and will not be printed until the report button is pushed for the current result numbers. The current result numbers will be cleared either on the next clear button or on the next solve button.


Comments Section

Please place any comments here, Thanks, gold 30Apr2021