Seeking Sawtooth Truth

For discussion of specific patterns or specific families of patterns, both newly-discovered and well-known.
Post Reply
Book
Posts: 385
Joined: August 28th, 2021, 2:38 pm
Location: California
Contact:

Seeking Sawtooth Truth

Post by Book » September 20th, 2022, 1:27 pm

While adding sawtooth sequences to the integer sequences wiki article, I have come across a number of apparent errors in the wiki sawtooth articles. The purpose of this thread is to provide a place to surface these errors and hopefully get them fixed. Or perhaps find out I am misreading or misapplying the formulas.

Note that the sawtooth articles in question were pretty much copied from the DRH references (external links) noted in the articles. So some of the apparent errors in the articles are in the DRH material.

To validate the formula in question, I ran the pattern in LifeViewer with STOP set to the generation given by the formula and used SHOWGENSTATS to get the resulting population.

I will make each of the problems I encountered a separate post.
Phil Bookman

User avatar
dvgrn
Moderator
Posts: 10610
Joined: May 17th, 2009, 11:00 pm
Location: Madison, WI
Contact:

Re: Seeking Sawtooth Truth

Post by dvgrn » September 20th, 2022, 1:33 pm

Book wrote:
September 20th, 2022, 1:27 pm
To validate the formula in question, I ran the pattern in LifeViewer with STOP set to the generation given by the formula and used SHOWGENSTATS to get the resulting population.
This sounds like a possible source of a problem, since sawtooth patterns generally exceed LifeViewer's size limits after just one or two cycles. The spaceship part of the sawtooth will hit LifeViewer's boundaries, and LifeViewer will automatically remove it.

Golly, with its unbounded universe, would be a much better tool for verifying sawtooth populations anywhere beyond a few tens of thousands of ticks at most.

Book
Posts: 385
Joined: August 28th, 2021, 2:38 pm
Location: California
Contact:

Re: Seeking Sawtooth Truth

Post by Book » September 20th, 2022, 1:36 pm

Hacksaw
The wiki article read: "the population in generation 1155(9^n-179) (n>=0) is only 977" which is clearly wrong, it gives negative results for 0,1,2. I assumed it was a typo, because DRH says "the population in generation 1155(9^n)-179 (n>=0) is only 977" which is correct for n=0, t=976 and pop=977. So I edited the article to agree with DRH. But I later checked further. For n=1, t=10216 and pop=754 not 977. Can anyone shed some light on this?
Phil Bookman

User avatar
dvgrn
Moderator
Posts: 10610
Joined: May 17th, 2009, 11:00 pm
Location: Madison, WI
Contact:

Re: Seeking Sawtooth Truth

Post by dvgrn » September 20th, 2022, 1:57 pm

Book wrote:
September 20th, 2022, 1:36 pm
Hacksaw
The wiki article read: "the population in generation 1155(9^n-179) (n>=0) is only 977" which is clearly wrong, it gives negative results for 0,1,2. I assumed it was a typo, because DRH says "the population in generation 1155(9^n)-179 (n>=0) is only 977" which is correct for n=0, t=976 and pop=977. So I edited the article to agree with DRH. But I later checked further. For n=1, t=10216 and pop=754 not 977. Can anyone shed some light on this?
When I paste a copy of the Hacksaw pattern into Golly, run goto.lua and paste in either "976" or "10216", the population shows up as 977.

The c/2 blinker puffer heading to the right is crashing into your LifeViewer bounds. You can dodge that for one more cycle by setting MAXGRIDSIZE 14 (see below) -- but really LifeViewer just isn't the right tool to investigate patterns like sawtooths (sawteeth?) and caber tossers and suchlike, that quickly end up with huge bounding boxes.

Code: Select all

x = 199, y = 102, rule = B3/S23
17b2o$18bo$91bo$91bobo$94b2o6b2o$52b2o24bo15b2o3bo4bo$53bo23b2o15b2o3b
2o4bo$34b2o17bobo5b2o13b2o13bobo11bo9bo$33bobo18b2o5b3o11b3o13bo13bo8b
2o$23b2o7b3o12bo15b2obo9b2o26bo$23bo7b3o13b4o12bo2bo10b2o23b2o$16b3o
13b3o4bobo6b4o11b2obo11bo$15bo3bo13bobo3b2o7bo2bo9b3o$14bo5bo13b2o4bo
7b4o9b2o$15bo3bo27b4o4b2o17b2o$16b3o28bo7bobo16bo$16b3o38bo$57b2o$40b
2o9b2o64b2o$39bo2bo7bo2bo63bo$39b3o9b3o61bobo$14b3o25b9o64b2o$13b2ob2o
23bo2b5o2bo$13b2ob2o23b2o2b3o2b2o134bo$13b5o169bo$12b2o3b2o163bo4bo$
46bo136b5o$47bo$43bo3bo12bo$44b4o13bo$56bo4bo123b2o$57b5o120b3ob2o$
177b3o3b4o$184b2o$15bo$15b2o$67b2o115bo$66bobo116bo$9bobo40bo12b3o8b2o
101bo5bo$7bo3bo40b4o8b3o10bo102b6o$2o5bo10b2o3b2o28b4o8b3o24bo$o5bo10b
obo3bo2bo15bo10bo2bo9bobo18b3ob2o3bo$7bo11bo7bo7bo6b2o9b4o10b2o18b4o4b
2o$7bo3bo15bo6b2o16b4o35b2o$9bobo15bo24bo$23bo2bo38b2o16b2o$23b2o40bo
16bobo$81b3o$81b2o79bo$84b2o77bo$83b3o71bo5bo$158b6o2$84bo$83b2o2$57bo
126b2o$56b2o122b4ob2o$45b2o8b2o11bo26bo84b6o$45bo8b3o9bobo26b2o84b4o
12bo$55b2o8bobo12bo54b5o58bo$56b2o2b2o2bo2bo11b2o14bo38bo4bo54bo3bo$
57bo2bo4bobo26bobo42bo55b4o$66bobo25bo2bo40bo20b4o27b3o$68bo26bo2bo59b
o3bo25b2ob2o$162bo21b3o3b3o$95bo65bo33b4o$95b2o97bo3bo$172b2o24bo$171b
4o22bo$171b2ob2o$66b2o105b2o6b6o$65b3o27bo73bo10bo5bo$55b2o5bob2o12bo
15b2o71bobo16bo$55bo6bo2bo12b2o29b2o58bo15bo$62bob2o13b2o27bo64b2o$65b
3o11b3o11bo13bo9b2o52b2ob2o$66b2o11b2o10bobo13bo10bo17b2o33b4o$78b2o9b
2o16bo27bo2bo33b2o$78bo10b2o17bo29bo$89b2o18b2o27bo22b6o$91bobo41b2obo
21bo5bo$93bo42bo29bo$149b2obo2bo9bo$148b2o6bo$137bo12bobo3bo$136b2o15b
4o4$168bo$137bo29b2o$137b2o12bo14b2o8b2o$125bo23bobo13b3o9bo$125bobo
20bobo15b2o$114b2o12b2o9b2o6bo2bo16b2o$114bo13b2o9bo8bobo17bo$128b2o6b
2o6b2o3bobo$125bobo7b3o7bo5bo$125bo10b2o$139bo$139b2o!
#C [[ MAXGRIDSIZE 14 SHOWGENSTATS ]]
#C [[ STOP 10216 ]]

User avatar
confocaloid
Posts: 2723
Joined: February 8th, 2022, 3:15 pm

Re: Seeking Sawtooth Truth

Post by confocaloid » September 20th, 2022, 2:01 pm

I think the expressions are correct.

I used Python 3 interpreter in interactive mode to print pairs (generation, population) as human-readable statements, using the expressions from here:

Code: Select all

# python3
Python 3.8.10 (default, Jun 22 2022, 20:18:18) 
[GCC 9.4.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> for n in range(1, 11):
...    t = 385 * 9**n - 189
...    p = t // 4 + 1079
...    print('the population in generation {} is {}.'.format(t, p))
... 
the population in generation 3276 is 1898.
the population in generation 30996 is 8828.
the population in generation 280476 is 71198.
the population in generation 2525796 is 632528.
the population in generation 22733676 is 5684498.
the population in generation 204604596 is 51152228.
the population in generation 1841442876 is 460361798.
the population in generation 16572987396 is 4143247928.
the population in generation 149156888076 is 37289223098.
the population in generation 1342411994196 is 335602999628.
>>> for n in range(0, 11):
...    t = 1155 * 9**n - 179
...    print('the population in generation {} is 977.'.format(t))
... 
the population in generation 976 is 977.
the population in generation 10216 is 977.
the population in generation 93376 is 977.
the population in generation 841816 is 977.
the population in generation 7577776 is 977.
the population in generation 68201416 is 977.
the population in generation 613814176 is 977.
the population in generation 5524329016 is 977.
the population in generation 49718962576 is 977.
the population in generation 447470664616 is 977.
the population in generation 4027235982976 is 977.
>>>
Then I pasted the pattern from the same page linked above into Golly, and checked the first few statements for each of the two cases listed above. In all checked cases, the population displayed by Golly matches the calculated population.
127:1 B3/S234c User:Confocal/R (isotropic rules, incomplete)
Unlikely events happen.
My silence does not imply agreement, nor indifference. If I disagreed with something in the past, then please do not construe my silence as something that could change that.

Book
Posts: 385
Joined: August 28th, 2021, 2:38 pm
Location: California
Contact:

Re: Seeking Sawtooth Truth

Post by Book » September 20th, 2022, 2:18 pm

Thanks all. To Golly for truth.
Phil Bookman

Book
Posts: 385
Joined: August 28th, 2021, 2:38 pm
Location: California
Contact:

Re: Seeking Sawtooth Truth

Post by Book » September 24th, 2022, 4:44 pm

Sawtooth 1212

1. The formula for min pop is as follows: "population in generation 6(21^n) + 193 (n ≥ 1) is only 1212" however the population shown by Golly is 1231 for each of n=1 (t=319), n=2 (t=2839), n=3 (t=55759), n=4 (t=1167079)

2. The formulas for peak pops seem problematic: "population in generation t = 18(21^n) + 222 (n ≥ 0) is 7t/60 + 1290"

n=0, t=240, pop=1318 but actual pop=1288
n=1, t=600, pop=1360 but actual pop=1324
n=2, t=8160, pop=2242 but actual pop=2080
n=3, t=166920, pop=20764 but actual pop=17956
n=4, t=3500880, pop=409726 but actual pop=351352
Phil Bookman

User avatar
confocaloid
Posts: 2723
Joined: February 8th, 2022, 3:15 pm

Re: Seeking Sawtooth Truth

Post by confocaloid » September 24th, 2022, 6:51 pm

I think the population 1212 occurs only once in the first 1000000 ticks (at generation 40) in the pattern here. Assuming the expression (6*21^n + 193, n >= 1) for the generation is correct, the actual population seems to be 1231 for n=1,2,3,4,5.

Each of generations 240, 600, 8160 is when the HWSS interacts with the spark of the turtle, so I'm again tempted to assume that the expression for t is correct for this particular pattern. Under that assumption, the following table gives first few values of n, t, t/60, expected population, actual population and the difference (expected - actual): (I added the t/60 column as an attempt to "guess" the answer, because the given expression for the population contains it)

Code: Select all

n       t     t/60   expected    actual    difference
0     240        4       1318      1288            30
1     600       10       1360      1324            36
2    8160      136       2242      2080           162
3  166920     2782      20764     17956          2808
4 3500880    58348     409726    351352         58374
In all checked cases, it seems that the difference (expected-actual) equals t/60 + 26 (compare columns "t/60" and "difference"). Adding yet another assumption that this pattern continues forever, the expression for the actual population becomes (expected - difference) = (expected - (t/60 + 26)) = (7t/60 + 1290 - (t/60 + 26)) = (6t/60 + 1264) = (t/10 + 1264).

So my unproven guess is "the population in generation t = 18*21^n + 222 (n >= 0) is t/10 + 1264, but the population in generation 6*21^n + 193 (n>=1) is only 1231" - and an actual explanation is missing.

Edit: for reference, here is the pattern with comments copied from here:

Code: Select all

#N Orthogonal sawtooth with expansion factor 21
#C Population is unbounded but does not tend to infinity.  Its graph is
#C a sawtooth function with ever-increasing teeth.  More specifically,
#C the population in generation  t = 18*21^n + 222  (n>=0),  is
#C 7t/60 + 1290,  but the population in generation  6*21^n + 193  (n>=1)
#C is only  1212.
#C This uses a spark from a c/3 orthogonal spaceship ("turtle") to turn
#C a HWSS into a loaf, which is then pulled back by pairs of LWSSs.  When
#C the loaf is pulled all the way back, another HWSS is fired toward the
#C c/3, starting the cycle again.  The HWSS synthesis, using 2 gliders,
#C a Kok's galaxy, and a figure 8, is due to David Buckingham.
#C This was the first sawtooth built.
#O Dean Hickerson, dean.hickerson@yahoo.com (4/10/91)
x = 173, y = 114, rule = B3/S23
39b2o$39bo16b2o$28b2o7bobo16bo$28bo2bo5b2o$14bobo15bo$12bo3bo15bo$12bo
19bo$5b2o4bo16bo2bo6b2o$5bo6bo15b2o8bobo15bo$12bo3bo22b3o13b3o$14bobo
23b2o13b3o$37b2o$37b3o13b2o3b2o$31bo21bo5bo$32bo$30b3o5b2o$38bo22b2o$
55bo6bo$56bo5bobo7b2o$54b3o6b2o6b3o$9bobo56bob2o15bo$7bo3bo56bo2bo15bo
bo$2o5bo15b2o43bob2o16bobo$o5bo16bo2bo24bo5bo13b3o14bo2bo3b2o$7bo19bo
23bo5bo14b2o14bobo4bo$7bo3bo15bo6b2o16bo3bo30bobo28b2o$9bobo15bo6bo18b
3o31bo31bo$23bo2bo76b2o14bobo9bo$23b2o78bo16b2o8b4o$38b2o52bobo6bobo
25b2obo8b2o$38bo53bo2bo5b2o25b3obobo6bo2bo$26b2o8bobo38bo17b2o32b2obo
12bo$28bo7b2o38bobo14bo3b2o20b2o9b4o11bo6b2o$15b2o12bo26b2o17bob2o16b
2o21bo2bo9bo13bo6bo$15bo13bo26bo17b2ob2o13bo2bo6b2o14bo22bo2bo$12b2o
15bo27b3o15bob2o13bobo6bo2bo13bo22b2o$4b2o5b3o14bo8b2o20bo11b2o3bobo
25bo13bob2o$4bo7b2o12b2o9bo24bo7bobo4bo26bo15bo8bo$15bo31b2o12bo8bo30b
2obo22b2o$15b2o30bo13b3o5b2o31bo25b2o$37b3o79b2o$29bo8b2o55bo23bo12b2o
$30bo4b2o9b3o47b2o4b2o28bo$28b3o4b3o8b2o18b2o27b2o5bo41bo$36bobo10b2o
16bo74bobo$24b2o11b2o9b3o16bobo7b2o42b2o7b2o9bobo11b2o$24bo22bobo18b2o
5bo2bo42bo8b3o7bo2bo11bo$14bo32b2o25bo13bo43b2obo5bobo$13bobo58bo11b4o
42bo2bo6bobo$b2o10b2obo8bobo46bo12bob2o41b2obo8bo$bo11b2ob2o6bo2bo47bo
2bo6bobob3o31b2o5b3o$13b2obo6b2o52b2o8bob2o31bobo5b2o$13bobo5b2o3bo59b
4o8b2o22bo$14bo8b2o63bo9bobo20b2o$24bo2bo5b2o65bo$25bobo5bobo64b2o$35b
o$35b2o2$53bo7b3o$53b2ob2obo2b2o$54bo4b3o$34b2ob2obo13bo3bobo2bo$33b2o
2b2ob2o12bo4bo4bo$41bo12bo4bo4bo$33b2o19bo3bobo2bo$33b2o5b2o12bo4b3o$
40b2o11b2ob2obo2b2o$33bo13b3o3bo7b3o$33b2ob2o2b2o5b3o$34bob2ob2o6b3o$
50b3o$50b3o$50b3o2$39b2o23b2o$38b3o23bo44bo27b2o$26bo8bob2o9b2o59bobo
26bo$26bobo6bo2bo9bo63b2o6b2o16bobo9bo$27bobo5bob2o25bo47b2o4bo3bo16b
2o8b4o$14b2o11bo2bo7b3o22b2obo45b2o3bo5bo24b2ob4o5b2o$14bo12bobo9b2o
25bo33b2o7bobo4b2obo3bo23b3ob2o3bo3bo2bo$26bobo37bo32bobo7bo7bo5bo24b
2ob2o3bo7bo$26bo36bo2bo32bo18bo3bo7b2o17b5o3bo6bo6b2o$37b2o25b2o32b2o
20b2o8bobo17bo3b3o7bo6bo$37bo43b2o27bo21bo27bo2bo$81bo26b2o22b2o26b2o$
70b2o7bobo27b2o$70bobo6b2o54bo$57bobo13bo61b2o$56bo2bo5bo4bo2bo18b2o$
55b2o9bo6bo17bo2bo41bo$53b2o3bo5b3o3bobo21bo40bobo$55b2o13b2o22bo39bo
2bo$49b2o5bo2bo31b2obo38bo2bo24bo$48bobo6bobo32bo67bobo$48bo66bobo18bo
7bobo13b2obo4b2o$47b2o34b2o29bo2bo17b2o6bo2bo13b2ob2o3bo$23bo24bob2o
30bobo7b2o6b2o11b2o10b2o15b2o16b2obo$23b2o23bobo30b3o8bo7bobo8b2o3bo8b
o14b2o3bo14bobo$14b2o8b2o14bo5bobo2bo29b2o20bo9b2o27b2o17bo$14bo9b3o
13bobo3b2o2b2o32b2o14bo2bo10bo2bo18b2o5bo2bo$24b2o15bobo39b3o17bo11bob
o17bobo6bobo$23b2o16bo2bo13b2o33b2o5bobo32bo$23bo17bobo16bo8b3o20bobo
5b2o32b2o$40bobo7b2o9bo9bo3bo7b2o7bo$40bo9bo10bo8bo4bobo5bo7b2o$61bo
16b2o$60bo17b2o$58b2o18b2o$75bobo4b2o$75bo6bobo$84bo$84b2o!
127:1 B3/S234c User:Confocal/R (isotropic rules, incomplete)
Unlikely events happen.
My silence does not imply agreement, nor indifference. If I disagreed with something in the past, then please do not construe my silence as something that could change that.

Book
Posts: 385
Joined: August 28th, 2021, 2:38 pm
Location: California
Contact:

Re: Seeking Sawtooth Truth

Post by Book » September 25th, 2022, 4:35 pm

So Sawtooth 1212 is not Sawtooth 1212 and the article needs some work.
Phil Bookman

User avatar
confocaloid
Posts: 2723
Joined: February 8th, 2022, 3:15 pm

Re: Seeking Sawtooth Truth

Post by confocaloid » September 25th, 2022, 4:47 pm

Book wrote:
September 25th, 2022, 4:35 pm
So Sawtooth 1212 is not Sawtooth 1212 and the article needs some work.
That's why I wrote "an actual explanation is missing" - I do not know whether it's really Sawtooth 1212 and it's just that the pattern got replaced/modified/optimized at some point, or indeed it's not Sawtooth 1212, or it's something else. Since I do not have an actual explanation, I did not want to attempt to "fix" the article in any way - it seems the number 1212 was there for over a decade now, so I think there's not much harm if it will remain there a bit longer (whether or not it's really 1212) until it becomes clear what is going on.
127:1 B3/S234c User:Confocal/R (isotropic rules, incomplete)
Unlikely events happen.
My silence does not imply agreement, nor indifference. If I disagreed with something in the past, then please do not construe my silence as something that could change that.

User avatar
toroidalet
Posts: 1514
Joined: August 7th, 2016, 1:48 pm
Location: My computer
Contact:

Re: Seeking Sawtooth Truth

Post by toroidalet » September 25th, 2022, 6:09 pm

The sawtooth's minimum population is 1,209, which occurs at generation 6*(21^n)+164. The maximum population is (2/15)*(t-7)+1,358, which occurs at generation 18*(21^n)+169.

The population plot on the wiki lists the correct first peak at 2,438, and the bottom appears to be around 1,209.
Any sufficiently advanced software is indistinguishable from malice.

User avatar
Scorbie
Posts: 1692
Joined: December 7th, 2013, 1:05 am

Re: Seeking Sawtooth Truth

Post by Scorbie » September 25th, 2022, 7:07 pm

FWIW here's another source of that sawtooth
http://radicaleye.com/lifepage/patterns/sawtoot3.html

With the good old Life 1.05 format that seems to indicate its age

Book
Posts: 385
Joined: August 28th, 2021, 2:38 pm
Location: California
Contact:

Re: Seeking Sawtooth Truth

Post by Book » September 25th, 2022, 7:55 pm

Scorbie wrote:
September 25th, 2022, 7:07 pm
FWIW here's another source of that sawtooth
http://radicaleye.com/lifepage/patterns/sawtoot3.html

With the good old Life 1.05 format that seems to indicate its age
Just to be clear, the lif file at the link contains the exact same pattern as the sawtooth 1212 rle. And the formulas in the lif file are the same as on the DRH page and the wiki rle and article. So it would seem something has been amiss for a long time.
Phil Bookman

Book
Posts: 385
Joined: August 28th, 2021, 2:38 pm
Location: California
Contact:

Re: Seeking Sawtooth Truth

Post by Book » September 26th, 2022, 1:05 pm

So here is where I think we are with the mystery DRH gave us in 1991 (this could be the plot of a British mystery with enigmatic clues):

1. We have a Sawtooth 1209 pattern whose saw behavior toroidalet has calculated.

2. We have the description of what appears to be a Sawtooth 1212 but we do not have a pattern for it (anyone want to try to construct this?).

We do not know If #1 came before or after #2, if one is an optimization of the other, or if they are just cousins.

And they are the first known constructed sawtooths.
Phil Bookman

Book
Posts: 385
Joined: August 28th, 2021, 2:38 pm
Location: California
Contact:

Re: Seeking Sawtooth Truth

Post by Book » September 26th, 2022, 9:48 pm

Cord Puller

The pattern shown in the cord puller wiki article appears to be the 9/11/94 revision to the 5/14/91 pattern, as described in DRH saw.tractor.html (we may no longer have access to the original 5/14/91 RLE).

The formulas shown in the wiki article appear to be incorrect. They are not the formulas from the DRH file, which I suspect were not updated in that file when the RLE therein was updated. I have no idea where the formulas in the wiki article came from.

For the lower bound of this pattern, the wiki formula for t gives a population of 475 (not 469) at each generation, but the (I think) correct formula gives a gen 5 ticks later and a pop of 456:

Code: Select all

  --  wiki article  --  --   correct    --
n   t=32(6^n)-429  pop  t=32(6^n)-424  pop
2   723            475     728         456
3   6483           475     6488        456
4   41043          475     41048       456
5   248403         475     248408      456
For the growing max pops, the following shows the wiki article calculation for t, the calulated pop and the actual pop. The (I think) correct formula for t and pop are then shown.

Code: Select all

    --      wiki article      --    --         correct           --
n   t=8*6^n-216	 t/36+558    pop    t=8*6^n-159   pop=(t+15)/36+652
2            72	      560    572            129                 656
3          1512	      600    487           1569                 696
4         10152	      840    482          10209                 936
5         61992	     2280    2239         62049                2376
Also, I have no idea why the Hensel reference is on this page. I do think the DRH page should be an external link (as on the ST 1212 page).
Phil Bookman

User avatar
confocaloid
Posts: 2723
Joined: February 8th, 2022, 3:15 pm

Re: Seeking Sawtooth Truth

Post by confocaloid » September 26th, 2022, 11:40 pm

Book wrote:
September 26th, 2022, 9:48 pm
...
I have no idea where the formulas in the wiki article came from.
...
Also, I have no idea why the Hensel reference is on this page.
...
I think the expressions in Cord puller come from comments to CORDPULL.LIF in the linked pattern collection lifep.zip.
127:1 B3/S234c User:Confocal/R (isotropic rules, incomplete)
Unlikely events happen.
My silence does not imply agreement, nor indifference. If I disagreed with something in the past, then please do not construe my silence as something that could change that.

Book
Posts: 385
Joined: August 28th, 2021, 2:38 pm
Location: California
Contact:

Re: Seeking Sawtooth Truth

Post by Book » September 27th, 2022, 1:01 pm

I think the expressions in Cord puller come from comments to CORDPULL.LIF in the linked pattern collection lifep.zip.
Yes! And thanks for clearing up the reference.

The pattern in the lif file is the same as that in the wiki, which I believe is the revised (9/94) version.
Phil Bookman

Book
Posts: 385
Joined: August 28th, 2021, 2:38 pm
Location: California
Contact:

Re: Seeking Sawtooth Truth

Post by Book » September 27th, 2022, 2:43 pm

Sawtooth 633
Formulas check out except that the formula for the lower saw bound starts at n=2 (not n=1) which I have corrected.
Phil Bookman

Post Reply