Content deleted Content added
m →Formula: Fixed poor grammar. |
Removed hardcoded wrapping of k so that it wraps properly on different screen sizesUndid revision 1191503740 by Artemetra (talk) |
||
(27 intermediate revisions by 16 users not shown) | |||
Line 1:
{{Short description|Formula that visually represents itself when graphed}}
{{missing information|truly self-referential (encodes and prints the large number) versions in Tupper 2007 "selfplot" and Jakob Trávnik 2011|date=October 2021}}
'''Tupper's self-referential formula''' is a [[formula]] that visually represents itself when graphed at a specific location in the (''x'', ''y'') plane.
== History ==
The formula was defined by Jeff Tupper and appears as an example in Tupper's 2001 [[SIGGRAPH]] paper on reliable two-dimensional computer graphing algorithms.<ref>* [http://www.dgp.toronto.edu/~mooncake/papers/SIGGRAPH2001_Tupper.pdf Tupper, Jeff. "Reliable Two-Dimensional Graphing Methods for Mathematical Formulae with Two Free Variables"] {{Webarchive|url=https://web.archive.org/web/20190713092613/http://www.dgp.toronto.edu/~mooncake/papers/SIGGRAPH2001_Tupper.pdf |date=2019-07-13 }}</ref> This paper discusses methods related to the GrafEq formula-graphing program developed by Tupper.<ref>{{
▲<ref>* [http://www.dgp.toronto.edu/~mooncake/papers/SIGGRAPH2001_Tupper.pdf Tupper, Jeff. "Reliable Two-Dimensional Graphing Methods for Mathematical Formulae with Two Free Variables"]</ref> This paper discusses methods related to the GrafEq formula-graphing program developed by Tupper.<ref>{{cite web|url=http://www.peda.com/grafeq/|title=Pedagoguery Software: GrafEq|publisher=}}</ref>
Although the formula is called "[[self-reference|self-referential]]", Tupper did not name it as such.<ref>{{cite web|last1=Narayanan |first1=Arvind |title=
== Formula ==
Line 12 ⟶ 13:
The formula is an [[inequality (mathematics)|inequality]] defined as:
where
== Plots ==
▲where ⌊ ⌋ denotes the [[Floor and ceiling functions|floor function]], and mod is the [[modulo operation]].
Let
:960{{thinspace}}939{{thinspace}}379{{thinspace}}918{{thinspace}}958{{thinspace}}884{{thinspace}}971{{thinspace}}672{{thinspace}}962{{thinspace}}127{{thinspace}}852{{thinspace}}754{{thinspace}}715{{thinspace}}004{{thinspace}}339{{thinspace}}660{{thinspace}}129{{thinspace}}306{{thinspace}}651{{thinspace}}505{{thinspace}}519{{thinspace}}271{{thinspace}}702{{thinspace}}802{{thinspace}}395{{thinspace}}266{{thinspace}}424{{thinspace}}689{{thinspace}}642{{thinspace}}842{{thinspace}}174{{thinspace}}350{{thinspace}}718{{thinspace}}121{{thinspace}}267{{thinspace}}153{{thinspace}}782{{thinspace}}770{{thinspace}}623{{thinspace}}355{{thinspace}}993{{thinspace}}237{{thinspace}}280{{thinspace}}874{{thinspace}}144{{thinspace}}307{{thinspace}}891{{thinspace}}325{{thinspace}}963{{thinspace}}941{{thinspace}}337{{thinspace}}723{{thinspace}}487{{thinspace}}857{{thinspace}}735{{thinspace}}749{{thinspace}}823{{thinspace}}926{{thinspace}}629{{thinspace}}715{{thinspace}}517{{thinspace}}173{{thinspace}}716{{thinspace}}995{{thinspace}}165{{thinspace}}232{{thinspace}}890{{thinspace}}538{{thinspace}}221{{thinspace}}612{{thinspace}}403{{thinspace}}238{{thinspace}}855{{thinspace}}866{{thinspace}}184{{thinspace}}013{{thinspace}}235{{thinspace}}585{{thinspace}}136{{thinspace}}048{{thinspace}}828{{thinspace}}693{{thinspace}}337{{thinspace}}902{{thinspace}}491{{thinspace}}454{{thinspace}}229{{thinspace}}288{{thinspace}}667{{thinspace}}081{{thinspace}}096{{thinspace}}184{{thinspace}}496{{thinspace}}091{{thinspace}}705{{thinspace}}183{{thinspace}}454{{thinspace}}067{{thinspace}}827{{thinspace}}731{{thinspace}}551{{thinspace}}705{{thinspace}}405{{thinspace}}381{{thinspace}}627{{thinspace}}380{{thinspace}}967{{thinspace}}602{{thinspace}}565{{thinspace}}625{{thinspace}}016{{thinspace}}981{{thinspace}}482{{thinspace}}083{{thinspace}}418{{thinspace}}783{{thinspace}}163{{thinspace}}849{{thinspace}}115{{thinspace}}590{{thinspace}}225{{thinspace}}610{{thinspace}}003{{thinspace}}652{{thinspace}}351{{thinspace}}370{{thinspace}}343{{thinspace}}874{{thinspace}}461{{thinspace}}848{{thinspace}}378{{thinspace}}737{{thinspace}}238{{thinspace}}198{{thinspace}}224{{thinspace}}849{{thinspace}}863{{thinspace}}465{{thinspace}}033{{thinspace}}159{{thinspace}}410{{thinspace}}054{{thinspace}}974{{thinspace}}700{{thinspace}}593{{thinspace}}138{{thinspace}}339{{thinspace}}226{{thinspace}}497{{thinspace}}249{{thinspace}}461{{thinspace}}751{{thinspace}}545{{thinspace}}728{{thinspace}}366{{thinspace}}702{{thinspace}}369{{thinspace}}745{{thinspace}}461{{thinspace}}014{{thinspace}}655{{thinspace}}997{{thinspace}}933{{thinspace}}798{{thinspace}}537{{thinspace}}483{{thinspace}}143{{thinspace}}786{{thinspace}}841{{thinspace}}806{{thinspace}}593{{thinspace}}422{{thinspace}}227{{thinspace}}898{{thinspace}}388{{thinspace}}722{{thinspace}}980{{thinspace}}000{{thinspace}}748{{thinspace}}404{{thinspace}}719
▲Let ''k'' equal the following 543-digit integer:
[[File:Tupper_formula_constant_derivation.svg|thumb|91px<!-- 91px gives acceptable text rendering with least overshoot or ugly gaps -->|Derivation of ''k'']]▼
[[File:Tupper's self referential formula plot.svg]]
▲[[File:Tupper_formula_constant_derivation.svg|thumb|91px<!-- 91px gives acceptable text rendering with least overshoot or ugly gaps -->|Derivation of ''k'']]
The formula is a general-purpose method of decoding a bitmap stored in the constant
The constant
It fundamentally describes a way to plot points on a two
[[File:Tuppers-formula-test.png|center|thumb|Addition of different values of k]]
==
* {{annotated link|Bitmap}}
* [[Quine (computing)]]▼
* {{annotated link|Elementary function}}
* [[Strange loop]]▼
* {{annotated link|Recursion}}
== References ==
===Footnotes===
{{notefoot}}
===Notes===
{{Reflist}}
Line 48 ⟶ 52:
===Sources===
{{Refbegin}}
* [http://mathworld.wolfram.com/TuppersSelf-ReferentialFormula.html Weisstein, Eric W. "Tupper's Self-Referential Formula." From MathWorld—A Wolfram Web Resource.] {{Webarchive|url=https://web.archive.org/web/20210205114138/https://mathworld.wolfram.com/TuppersSelf-ReferentialFormula.html |date=2021-02-05 }}
* [http://crd-legacy.lbl.gov/~dhbailey/dhbpapers/hpmpd.pdf Bailey, D. H.; Borwein, J. M.; Calkin, N. J.; Girgensohn, R.; Luke, D. R.; and Moll, V. H. Experimental Mathematics in Action. Natick, MA: A. K. Peters, p. 289, 2006.] {{Webarchive|url=https://web.archive.org/web/20161221090129/http://crd-legacy.lbl.gov/~dhbailey/dhbpapers/hpmpd.pdf |date=2016-12-21 }}
* "Self-Answering Problems." Math. Horizons 13, No. 4, 19, April 2006
* [http://stanwagon.com/wagon/Misc/bestpuzzles.html Wagon, S. Problem 14 in stanwagon.com] {{Webarchive|url=https://web.archive.org/web/20070202043013/http://stanwagon.com/wagon/Misc/bestpuzzles.html |date=2007-02-02 }}
{{Refend}}
== External links ==
* {{official|http://www.dgp.toronto.edu/~mooncake/|Jeff Tupper's official website}}
* [http://www.peda.com/selfplot/ Extensions of Tupper's original self-referential formula]
* [https://rosettacode.org/wiki/Tupper%27s_self-referential_formula Tupper's self-referential formula in Rosetta Code], implementation in several programming languages
* [https://amcrae.github.io/TupperPlot/TupperPlot.html TupperPlot], an implementation in JavaScript
* [https://web.archive.org/web/20130319093833/http://www.pypedia.com/index.php/Tupper_self_referential_formula Tupper self referential formula], an implementation in Python
|