Talk:Mandelbrot set/Archive 3
![]() | This is an archive of past discussions. Do not edit the contents of this page. If you wish to start a new discussion or revive an old one, please do so on the current talk page. |
Archive 1 | Archive 2 | Archive 3 | Archive 4 |
Smooth coloring formula wrong
I don't know the right formula (it seems no one does) but the one given here is clearly wrong. Just take P-2, N=2, c=1.8 for example. In that case, one iteration (or two, depending how you count) gives z=5.04, which is over the bailout value of 2. Now, the log formula gives 1.2224, which is not in the range [0, 1) as specified. I wish someone who knows the correct algorithm (if any such person really exists) would fix this. Wikipedia readers are spreading this misinformation all over the web. 70.116.13.152 (talk) 03:31, 28 April 2013 (UTC)
Update: the August 2009 version seems to contain better information (it's certainly a different formula from this one, even after simplification, by at least a factor of 2 inside the outermost log, and it also explains that unusual bailouts are required for the smooth coloring algorithm, a crucial piece of information left out in the very poor article that exists today). I will nonetheless wait for a knowledgeable person to do something about it. 70.116.13.152 (talk) 03:49, 28 April 2013 (UTC)
Limit of. Iteration
Your last sentence of your. second paragraph should say the pixels are colored according to the number the sequence approaches. — Preceding unsigned comment added by Claustro123 (talk • contribs) 04:17, 8 March 2013 (UTC)
- That is hardly possible, since the usual coloration is applied to points where the iteration diverges to infinity.--LutzL (talk) 13:55, 11 March 2013 (UTC)
Ugly picture
Look at http://en.wikipedia.org/wiki/File:Blue_Mandelbrot_Zoom.jpg. If you look closer, you can notice, that the rectangle in one picture does not strictly correspond to the following picture. The last picture is completely out of the blue, it has no telation whatsoever to the previous one and also has to few iterations. I find it disturbing. The picture has another version: http://commons.wikimedia.org/wiki/File:Mandelzoom.jpg which is slightly better, but suffers similar issues. Janek37 (talk) 21:21, 19 June 2013 (UTC)
Query external link
- मण्डलबेथ (maṇḍalabeth) 3D analog of the mandelbrot set, with various symmetry groups
It goes to a "personal" site. Is it ok? Tony (talk) 02:21, 9 July 2013 (UTC)
Adding an external link to a live HTML5 javascript demo
I know this is a hot topic and I know it has million examples on the web. Yet I believe a live demo that the readers can explore without any knowledge of programming languages or even the need to download anything, has a real value.
Please review this page: Interactive live demo (HTML + Javascript) It is very simple, interactive and totally open source.
Relation to Julia Sets
Having just finally learned, via sources outside of wikipedia, exactly what the difference between the Mandelbrot Set and Julia sets are, equation-wise, I think that this information should go into the article. I'm just not sure how to word it, or where to stick it in.
- zn+1 = zn2 + c where z0 = 0 (or c) and you map out the variable c, is the mandelbrot set.
- zn+1 = zn2 + c where c is a fixed constant complex number and you map out the variable of all z0 points, is the julia set of that given c.
The fact that the equation is the same, but which term is the variable, is of great importance to understanding what on earth the equation IS in the first place, and was the chief hindrance in my prior understanding. Any ideas how to put this into the article? Fieari (talk) 14:19, 21 March 2013 (UTC)
- You are right. The basic information that the Mandelbrot set is a classification of Julia sets in that it consists of those parameters c such that the Julia set for c is connected resp. contains interior points resp. has z=0 as interior point is completely missing from this article. I found Alan F. Beardon, Iteration of Rational Functions, (Springer 1991) to be a helpful resource.--LutzL (talk) 11:09, 7 April 2013 (UTC)
This article says the Mandelbrot set is actually part of the Julia Set. Anyone else care to read? http://www.relativitybook.com/CoolStuff/julia_set_4d.html Shroobtimetraveller (talk) 06:08, 21 September 2013 (UTC)
- Of course you can do that. But the big set is neither a Julia nor a Mandelbrot set. A certain set of parallel cross section gives the Julia sets and another cross section orthogonal to them is the Mandelbrot set. However, the presentation at the website ignores that the point z=0 is a special point for every Julia set in that it is the root of the derivative of the iteration. And in consequence, the iteration starting at z=0 alone already decides if the Julia set is a connected set. The other cross sections have the same importance as other Mandelbrot related pictures, like the Buddhabrot, log-escape maps etc. They look nice, but hold no further fundamental mathematical insight.--LutzL (talk) 07:51, 21 September 2013 (UTC)
POV?
"The Mandelbrot set has become popular outside mathematics both for its aesthetic appeal and as an example of a complex structure arising from the application of simple rules, and is one of the best-known examples of mathematical visualization." -- A little searching would support the popularity of the set (and then documenting it), but is a alleged esthetic appeal really a factor? I find the math great, but the visual image is extremely repugnant to me. It alone almost turned me away from studying fractals. Even today, years later, I get a negative visceral reaction when I see the Mandelbrot set (as opposed to, say, the Julia set).211.225.33.104 (talk) 04:46, 4 October 2013 (UTC)
- The whole set is indeed rather boring, the esthetic interest is more on magnifications of the escape map. For an extreme example, I have seen step-colored megnifications as print on a dress. You may argue that those magnifications are close to magnifications of the corresponding Julia set.--LutzL (talk) 07:01, 4 October 2013 (UTC)
- Indeed, as soon as you zoom in you'll see variety equivalent to the Julia set, the zoomed-out view is just a starting point. So you can't really say you like the Julia set but not the Mandelbrot, it would be like saying you like trees but don't like forests. Egrange (talk) 10:04, 10 January 2014 (UTC)
External link to explorable, pre-computed 4 Terapixel Image
I've ran a project last year to pre-compute the Mandelbrot Set as a four Terapixel image:
Terapixel Mandelbrot Set Image
I'm suggesting this as an external link. The difference with the myriad of "classic" exploration programs being the pre-computation, meaning the exploration is fast and interactive even on tables and low-power devices. The raw pre-computed Data is also available through an API and downloads. Egrange (talk) 10:14, 10 January 2014 (UTC)
Possible omission?
Stephen Wolfram uses fractals in a unique way to describe how nature can create complex patterns by repeating a simple algorithm, like a cellular automaton. A sample of images from A New Kind Of Science demonstrates the underlying algorithms similar to that of the Mandelbrot set and fractals in general. Would it be appropriate to mention that herein, or is there a more general Wiki entry on fractals that might benefit from this? http://www.wolframscience.com/downloads/colorimages.html http://www.wolframscience.com/index.html
Is the Mandelbrot set a fractal?
Here's what Mandelbrot himself had to say about this: http://www.webofstories.com/play/benoit.mandelbrot/86 — Preceding unsigned comment added by Lbertolotti (talk • contribs) 00:31, 16 February 2014 (UTC)
Dynamically generated DeepZoom image of Mandlbrot (set) fractal
Self similarity type?
The Mandelbrot set is said to possess quasi self-siimilarity, however I am not sure if that applies to the whole fractal or certain regions. Whoever knows the actual answer should make this clear. — Preceding unsigned comment added by 121.72.115.77 (talk) 07:24, 29 April 2014 (UTC)
See the link I provided above:
"The Julia sets again are self-similar; each part is like any other part, but one of the observations made about the Mandelbrot set was the following: that a small corner of the Mandelbrot set looks in many ways like the Julia sets corresponding to it; therefore the Mandelbrot set included as parts of it reduced scale images of an immense variety of Julia sets; therefore it is not self-similar in that respect. It is self-similar in the sense that the islands are like the continent but slightly deformed; but not in a sense that the way in which the islands are arranged, the kind of strings that link them together are the same; in fact, they're different in every point. Therefore the complication of a set goes beyond fractals. Julia sets are self-similar, they are fractals by every definition and by intuition, except when they are just straight intervals which happens for some cases, in which case they are too simple to be fractal. The Mandelbrot set is a complication which includes a huge number of different fractals in its structure and is therefore beyond any fractal. It is a paradox of sorts that this has become the icon of fractality, whereas it does not fit the definition of the concept at all. " Lbertolotti (talk) 14:18, 24 May 2014 (UTC)
All Julia sets?
In the NOVA documentary Fractals, Hunting The Hidden Dimension (around 21:45) the narrator claims the Mandlebrot set represents all the Julia sets with a single formula. If this is true, shouldn't the distinction be made in the lead rather than just saying it is closely related? - Shiftchange (talk) 04:47, 15 June 2014 (UTC)
National varieties of English
In reading this article, I noted multiple varieties of English were used, especially with respect to the spelling "color/colour". The WP Manual of Style guideline recommends consistency. In cases where inconsistent usage is found, it calls for discussion to establish a consensus. When discussion cannot resolve the issue, "the variety used in the first non-stub revision is considered the default."
The first revision using a variety of English was [1] on February 15, 2003. It used the "colour" spelling, but the article was a stub (though not tagged as such) at that time. Subsequent edits over the next year predominantly used the "color" spelling. It's debatable whether or at what point during this time the article ceased to be a stub.
At present, the "color" spelling outnumbers the "colour" spelling 4 to 1 (47 vs. 12). I would consider that a deciding factor in establishing the American spelling as the de facto standard, but am opening the question for discussion. Unconventional (talk) 16:19, 25 July 2014 (UTC)
Linking to FractalJS
Solendil (talk) 10:06, 8 September 2015 (UTC) Hi, FractalJS is an open-source interactive fractal explorer in javascript, working right in the browser. It's certainly not the first of its kind, but AFAIK, it's the fastest and most user-friendly. I created FractalJS to promote fractal exploration by everyone : you don't need to install anything, just click, scroll and explore; you can also share links of your favorite places.
I believe FractalJS would be a nice companion to fractal related web pages. I just modified the "Image gallery of a zoom sequence" to include FractalJS links to the same picture. I was wondering if we could add FractalJS in the External Links category of the Mandelbrot article? And how about providing FractalJS links in other relevant articles, like Burning Ship fractal, etc?
This article and Wikipedia "book-creator"
I have a rather obscure problem with this article. As you may know, Wikipedia includes a facility for compiling PDF "books" out of a set of related articles. They do say that the system is "crippled" but I've used it with some very successful results. However, my latest venture was to be on fractals, the first chapter being Wikipedia's "Fractal" article and with subsequent articles on various types of fractals stc. This has all worked fine - except that including the "Mandelbrot set" article causes the book-creation process to fail. (Other articles on fractals are fine.) Does anyone have any idea why this should be? GeoffHope (talk) 10:55, 13 February 2016 (UTC)
- I would guess its either the math formula or the total size of the article causing the break. Considering that creating a book is not a widely used feature its probably better to raise it elsewhere. - Shiftchange (talk) 12:33, 13 February 2016 (UTC)
Thanks for such a quick and helpful response. Your thoughts coincide with mine, that it's either the length of the article or the mathematical symbols. I'll follow your suggestion. GeoffHope (talk) 12:52, 13 February 2016 (UTC)
- It was caused by a broken HTML fragment. I fixed it and it complies now. — Cheers, Steelpillow (Talk) 15:38, 13 February 2016 (UTC)
Many thanks! I had just logged on to say "It's working now!" GeoffHope (talk) 09:41, 14 February 2016 (UTC)
a question
what program was used to make the images from the "image gallery of a zoom sequence"? — Preceding unsigned comment added by 178.187.248.198 (talk) 11:47, 28 August 2014 (UTC)
Periodicity checking
Dieser Abschnitt ist in mehreren Punkten falsch. Sollten zwei aufeinander folgenden Iterationen die selben Koordinaten haben, dann beträfe das nur das Hauptkartiodit der MBM. Alle anderen Teile innerhalb der MBM haben andere Periodizitäten. Es müßte jede 2. 3. 4. usw. mit der ersten verglichen werden. Innerhalb der MBM werden nie mögliche aufeinanderfolgende Iterationen die exakt selben Koordinaten haben. Die Konvergenz ist unendlich lang. Das Programmbeispiel ist zudem sehr abhängig vom verwendeten Computer-Zahlenformat, was jeweils ein anderes Verhalten zur Folge hat, was aber im erzeugten Bild nicht erkennbar ist. — Preceding unsigned comment added by 178.26.205.207 (talk) 17:39, 18 September 2014 (UTC)
- Google-translated: This section is wrong on several points. If two successive iterations have the same coordinates, then would concern only the Hauptkartiodit [main cardioid?] [of] the MBM. All other parts within the MBM have different periodicities. It would have to be compared every second third fourth etc. with the first. Within the MBM never possible successive iterations will have the exact same coordinates. The convergence is infinitely long. The sample program is also very dependent on the used computer numerical format, which each has a different user experience, which is not visible but in the generated image.
- AndrewWTaylor (talk) 20:32, 30 September 2014 (UTC)
Query
In technical terms this article goes way beyond my knowledge. But I can tell that it's a really first-rate article.
What I came here to find out is the potential uses of this advance in other areas, whether mathematical or further afield. But alas, there's no section briefly describing that. Tony (talk) 13:32, 28 June 2016 (UTC)
- Hi @Tony1: Excellent question. Probably better asked at Wikipedia:Reference desk/Mathematics but I'll give it a shot here.
- The Mandelbrot Set is an example of fractal geometric shape: an infinitely complex shape generated from an extremely simple formula. Benoit Mandelbrot, who discovered it, is credited with introducing the general concept of fractal geometry as a means to explain complex shapes in nature, such as clouds, coastlines, tree bark, and so on. The Mandelbrot Set is probably the most famous fractal, but that particular fractal doesn't really have any practical uses that I know of, other than as a pedagogical device. A related formula, the logistic map, has been used as a model of population cycles (and the nodes of the logistic map coincide with the cusps in the Mandelbrot set).
- This BBC article] offers a general description of the more practical uses of fractal mathematics. That wouldn't quite be in the scope of this article, however, since this article is about one specific (and famous) fractal object. ~Amatulić (talk) 05:55, 29 June 2016 (UTC)
- Update: I found another one that actually shows relationships between real-world phenomena and the Mandelbrot Set here: http://www.sgtnd.narod.ru/science/complex/eng/main.htm -- not easy to understand, but one can get the general idea. ~Amatulić (talk) 06:03, 29 June 2016 (UTC)
- Thanks for this. BBC article a little non-specific about the spin-offs (earthquakes, but ... how?). The other link pretty hard to understand, though, for anyone but an expert. But the beauty arising from simplicity is possibly enough to behold! Tony (talk) 07:27, 29 June 2016 (UTC)
- My favorite natural fractal that actually looks like a geometric shape, rather than a random thing like a cloud or a coastline, is Romanesco broccoli. I recall reading an article in which someone came up with a 3-dimensional formula to replicate that fractal shape. Unfortunately the Wikipedia article doesn't link to that paper. ~Amatulić (talk) 07:36, 29 June 2016 (UTC)
- Thanks for this. BBC article a little non-specific about the spin-offs (earthquakes, but ... how?). The other link pretty hard to understand, though, for anyone but an expert. But the beauty arising from simplicity is possibly enough to behold! Tony (talk) 07:27, 29 June 2016 (UTC)
- Update: I found another one that actually shows relationships between real-world phenomena and the Mandelbrot Set here: http://www.sgtnd.narod.ru/science/complex/eng/main.htm -- not easy to understand, but one can get the general idea. ~Amatulić (talk) 06:03, 29 June 2016 (UTC)
Please do not remove pseudo-code from this article.
For many people (myself included) it is easier to understand concepts expressed in pseudo-code than mathematical notation.
So far two individuals have reversed removal attempts by 84.249.83.20. Until better reasons can be given, please stop. Thank you. — Preceding unsigned comment added by 173.212.143.233 (talk) 23:02, 12 May 2016 (UTC)
- Location in Article
Please feel free to give suggestions as to where the pseudo-code should be located. The section will remain collapsed by default to prevent intrusiveness. — Preceding unsigned comment added by 173.212.143.233 (talk • contribs) 00:21, 14 May 2016
- Quality
Please feel free to give suggestions for how it could be improved if you feel it is lacking in some way.
These sources were used as guidelines on how to write good pseudocode:
— Preceding unsigned comment added by 173.212.143.233 (talk • contribs) 00:36, 14 May 2016
- It is definitely misplaced in the lead section. But also, "The section will remain collapsed by default" violates MOS:DONTHIDE. —David Eppstein (talk) 01:55, 14 May 2016 (UTC)
- I support the pseudocode removal from the lead section for those reasons, and because it's redundant. There's already sufficient pseudocode in the section Mandelbrot set#Escape time algorithm. ~Amatulić (talk) 21:02, 14 May 2016 (UTC)
- I have a problem with "If the above loop never terminates return true". Even in very abstract pseudocode, I don't think you can get away with a test that cannot be implemented in any language. Gandalf61 (talk) 12:21, 15 May 2016 (UTC)
- The pseudocode that remains in the article doesn't have this dubious feature. ~Amatulić (talk) 20:52, 15 May 2016 (UTC)
- I have a problem with "If the above loop never terminates return true". Even in very abstract pseudocode, I don't think you can get away with a test that cannot be implemented in any language. Gandalf61 (talk) 12:21, 15 May 2016 (UTC)
- I support the pseudocode removal from the lead section for those reasons, and because it's redundant. There's already sufficient pseudocode in the section Mandelbrot set#Escape time algorithm. ~Amatulić (talk) 21:02, 14 May 2016 (UTC)
- (Pseudocode can be seen in this revision) Jimw338 (talk) 03:43, 5 April 2017 (UTC)
File:Mandelbrot sequence new.gif to appear as POTD soon
Hello! This is a note to let the editors of this article know that File:Mandelbrot sequence new.gif will be appearing as picture of the day on June 15, 2017. You can view and edit the POTD blurb at Template:POTD/2017-06-15. If this article needs any attention or maintenance, it would be preferable if that could be done before its appearance on the Main Page. — Chris Woodrich (talk) 01:33, 3 June 2017 (UTC)
- Its lovely, a great example of infinity visualised. Would the addition of one more link be inappropriate? I wanted to suggest changing the text from created to generated and adding the link to Fractal-generating software. - Shiftchange (talk) 06:30, 3 June 2017 (UTC)
Mandelbrot Curves in Desmos
In case anyone finds this useful, I have plotted the first few Mandelbrot curves on the website Desmos. -- Denelson83 04:18, 25 July 2017 (UTC)
uncoloured pictures showing the set .
Is there a corresponding collection somewhere of uncoloured pictures? I would like to be able to see what the set itself looks like! Davidnugget (talk) 20:36, 8 January 2018 (UTC)
- Not specifically, but if you follow the "commons" link at the bottom of the article you will find some mixed among the colored ones. —David Eppstein (talk) 20:39, 8 January 2018 (UTC)
Thanks, but I suppose I was being sarcastic that the article effectively has no detailed pictures of the set at all. Maybe it should be retitled. Davidnugget (talk) 22:18, 8 January 2018 (UTC)
- The set itself is clearly visible in many (but not all) of the images in the article, including some of finely detailed regions and some that are purely monochrome. Perhaps as well as being sarcastic you are exaggerating for effect? Perhaps it would be more effective to make constructive suggestions for improvement rather than oblique and veiled criticism? —David Eppstein (talk) 22:25, 8 January 2018 (UTC)
Come off it, the set is hardly "clearly" visible in any of the complicated pictures where the set itself is very wispy. The constructive suggestion is that it would be worthwhile to include a few of just the set itself in the outlying regions. Davidnugget (talk) 22:34, 11 January 2018 (UTC)
- Ok, so you don't want to *add* uncolored pictures, you want to *remove* the color ones? Or otherwise, how am I to interpret it when I say that it is clearly visible in some of the pictures and your response is "but what about the other ones where it's not?" —David Eppstein (talk) 23:25, 11 January 2018 (UTC)
Reference to the animation in Generalizations section
Single frames of the animation placed in Generalization section has been created using mandelbrot.ovh.org online generator. Mandelbrot.ovh.org is a previous adress of the website http://e-mandelbrot.com: https://waybackmachine.org/web/20140625105918/http://mandelbrot.ovh.org/ (Capture from 25th February, 2014)
There is/was a statement on the pages: "You can use the results from this site in all of ways, under one condition, you have to include the site address and the author name in your work."
According to reserved copyright, the address and the author name have to be mentioned.
- If it were created using a particular tool it is for the original uploader to note that, on the image page. But according fo the page they created it themselves, which is quite plausible as such images are easy to create using a variety of tools or even as a programming exercise.
- In addition, whatever its source, it is not something that needs noting in the article. Wikipedia contains many images with source information, including images on this page, but the source is almost always put on the image page, whether a web link, what program was used, or the source code that was used to generate it. Again, this is for the uploader to decide on.--JohnBlackburnewordsdeeds 00:27, 23 January 2018 (UTC)
- ----------------------------------------------------------
- You have just broken the copyright! IT IS ILLEGAL!
- ---------------------------------------------------------- — Preceding unsigned comment added by 157.158.47.16 (talk) 07:12, 23 January 2018 (UTC)
External links modified
Kismetjim: this page used to have equations that non-mathematicians could understand. Either there should be a short explanation with a link to what the mathematical notation in this article means, or there should be widely-understood notation. This is true of virtually every interesting mathematical article on Wikipedia. — Preceding unsigned comment added by Kismetjim (talk • contribs) 06:28, 25 March 2018 (UTC)
Hello fellow Wikipedians,
I have just modified 2 external links on Mandelbrot set. Please take a moment to review my edit. If you have any questions, or need the bot to ignore the links, or the page altogether, please visit this simple FaQ for additional information. I made the following changes:
- Added archive http://www.webcitation.org/66iUmBi3B?url=https://home.comcast.net/~davejanelle/mandel.pdf to http://home.comcast.net/~davejanelle/mandel.pdf
- Added archive https://web.archive.org/web/20060424085751/http://www.math.sunysb.edu/preprints.html to http://www.math.sunysb.edu/preprints.html
When you have finished reviewing my changes, you may follow the instructions on the template below to fix any issues with the URLs.
This message was posted before February 2018. After February 2018, "External links modified" talk page sections are no longer generated or monitored by InternetArchiveBot. No special action is required regarding these talk page notices, other than regular verification using the archive tool instructions below. Editors have permission to delete these "External links modified" talk page sections if they want to de-clutter talk pages, but see the RfC before doing mass systematic removals. This message is updated dynamically through the template {{source check}}
(last update: 5 June 2024).
- If you have discovered URLs which were erroneously considered dead by the bot, you can report them with this tool.
- If you found an error with any archives or the URLs themselves, you can fix them with this tool.
Cheers.—InternetArchiveBot (Report bug) 18:51, 31 May 2017 (UTC)
False statement removed from an image caption
The following picture under the tile 'Relationship with Julia sets' has had the following label: 'A zoom into the Mandelbrot set illustrating a Julia "island" and the corresponding Julia set of the form , in which c is the center of the Mandelbrot set zoom-in'
This statement is false. Obviously so, in fact, as the Julia island is surrounded by projections which are characteristic of the right side of Seahorse Valley, while the Julia set is generated from the left side of the valley. The creator of the picture, Simpsons contributor, only mentions that the Julia set 'corresponds' to the Julia island in the picture above it, which is centered at -0.743643887037151 + 0.131825904205330i. He makes no claim that it is generated from its center point.
The anon that originally edited it out was right, the Julia set at -0.743643887037151 + 0.131825904205330i truly is connected, and looks like the image below.
Please do not revert the page back to the false statement again.
Starprizm (talk) 04:32, 17 December 2017 (UTC)
- What makes you sure that this Julia set is connected ? How can you prove it ? --Adam majewski (talk) 14:38, 24 May 2018 (UTC)
- check parameter plane : -0.743643887037151 0.131825904205330 2.158333333333333e-16 . The test parameter is in the center image and is outside Mandelbrot set = Julia set is disconected. --Adam majewski (talk) 15:58, 24 May 2018 (UTC)
Physics of the Mandelbrot set
I once built a Mandelbrot set out of flower pots and odds and ends. The cardioidal point was composed of a pumpkin vine growing southward.
I was not expecting a result, but one day, when the snow was a few centimeters thick with patches of snow melt, the snow was melted around my sculpture within an ellipse just as if it were calculated on the computer.
I am unsure what to conclude: fluke? Universal conservation of position? reception of radiation?
Is there any physics research out there like this experiment? I am very curious to know. — Preceding unsigned comment added by 45.72.152.47 (talk) 21:59, 2 January 2019 (UTC)
Question regarding "Histogram coloring"
This section is not written very well in terms of conveying the correct meaning to the reader. For example, the section does not state that an iteration count must be paired with each pixel to be plotted, which may significantly increase the memory footprint and slow down the code. Jdbtwo (talk) 15:41, 11 June 2019 (UTC)
Mandelbrot zoom sequence color palette?
Does anyone know what color palette the Mandelbrot set zoom sequence uses? (starting with this file :
) I'd like to know for the purposes of a section I'm editing. Jdbtwo (talk) 15:05, 22 June 2019 (UTC)
"Histogram coloring" section
I've re-written parts of this section and added a reference. I don't think this section is OR, as the same algorithm is mentioned all over the web, but during my cursory search, I couldn't find an academic source -- just a forum post. Perhaps this can be improved in the future. Jdbtwo (talk) 18:21, 13 June 2019 (UTC)
- If someone could provide more reliable sources for the histogram coloring section, I'd be grateful. Jdbtwo (talk) 15:28, 1 July 2019 (UTC)
Connection to non-linear dynamics
The Mandelbrot set is often implicated as providing insight into non-linear dynamics, i.e., into the solution of non-linear PDEs. But I have not encountered a source yet that makes this connection explicit, i.e., that provides a particular system of PDEs for which the Mandelbrot set is precisely the domain of definition, or something like that. Does such a source exist? If so, I think it should be referenced somewhere in the article. Eleuther (talk) 22:44, 10 August 2019 (UTC)
Ellipsoids
I made some functions to skew the set. https://www.youtube.com/watch?v=WrLirCwsxh0 — Preceding unsigned comment added by Tejolson (talk • contribs) 04:43, 14 August 2019 (UTC)
Splitting the article
This article has become way too long. I propose splitting it into at least two articles, the first mainly devoted to the mathematics of the set, and the second, and others if needed, to programming issues related to creating images from the set. However, I obviously can't take on this project by myself. It needs a lot of initial discussion and consensus about how it should be carried out. Please help. Thanks. Eleuther (talk) 02:48, 7 January 2020 (UTC)
Proposal to remove "Syntax examples" section
This section used to be a Java implementation of some form of Mandelbrot rendering, but now it's in Python. In either case, anything beyond the pseudocode adds nothing to the article, and including random examples in any single programming language detracts from the didactic nature of the article and just adds confusion, especially since a significant fraction of the readers will not know an editor's favorite random programming language -- Wikipedia should not be a source code repository. I propose that links to externals sites with Mandelbrot plotting code be created in a new "External links" section, like other articles. Jdbtwo (talk) 17:55, 7 January 2020 (UTC)
- The point is not the change of the language from Java to Python, but that by choosing the language Python two different algorithms become visible. In the first example, the image is built up point by point, as in the Java examples before. In the second example, the image is created in layers by changing the data structure, and this aspect has a didactic meaning. So the choice of language was not actually random, but actually for didactic reasons.
--185.22.143.191 (talk) 13:56, 8 January 2020 (UTC)
While I still support only including pseudocode in the article, if the intention of including those two algorithms is to illustrate the different ways to produce it I think that a) an explanation should be provided, and b) it should still use pseudocode. Integral Python click here to argue with me 16:06, 9 January 2020 (UTC)
I agree that the section should be removed, and quickly. In its original form the section was more or less harmless, but it has now been taken over by an anonymous editor who is using it to self-publish his pet code, without any kind of citation. This is not the purpose of Wikipedia. Eleuther (talk) 08:38, 11 January 2020 (UTC)
- In fact, after further thought, I think I will just do it decisively now, and see what ensues. Eleuther (talk) 08:59, 11 January 2020 (UTC)
- I agree with your removal of the code. If the intention is to illustrate multiple algorithms then (1) pseudocode is far preferable, and (2) we need a reliable source for the algorithms. —David Eppstein (talk) 17:04, 11 January 2020 (UTC)
- Removal looks like the right course of action to me. Wikipedia is not StackOverflow or a personal blog. Secondarily, "Syntax examples" is a rather odd and uninformative section title; on the rare occasions when including actual source code is appropriate in this encyclopedia, I don't think that's a good thing to label them. XOR'easter (talk) 17:52, 11 January 2020 (UTC)
- However, there are some problems with pseudocode. First, there are several styles (e.g. pseudocode in the Pascal or C style), and second, pseudocode is something like a "lowest common denominator" of the different programming languages. The very short second algorithm, which uses the NumPy program library, cannot be formulated in every programming language, because it requires computing with complex matrices on the one hand and filtering with logical matrices on the other. That is why it cannot be easily expressed in pseudocode. I think that it would make sense for programs to set up something like "Wikipedia code", where the specific programming language (as well as pseudo code) can be selected just like the language in a normal Wikipedia article. --2A00:6020:15E6:2E00:E229:C411:F341:E9BB (talk) 12:37, 12 January 2020 (UTC)
- Hi, anonymous coder. You are completely missing the point. WP is not a place for you to introduce grand ideas. There are other platforms for that. Eleuther (talk) 20:12, 12 January 2020 (UTC)
- Then I apologize for annoying you. I am not a coder (although I used to be interested in programming), but I actually did not understand the Mandelbrot set until I saw this NumPy code. My only "achievement" was to free this code from unnecessary ballast. I was just hoping that this would also help others find access to this topic. --2A00:6020:15E6:2E00:E229:C411:F341:E9BB (talk) 21:32, 12 January 2020 (UTC)
- If the place where you found the code is authoritative, like a paper in a journal, it might be worthwhile to add a mention of it to the WP article, with a citation to the paper. Eleuther (talk) 08:57, 13 January 2020 (UTC)
- I stumbled across the article on the page http://rtricks.blogspot.com/2007/04/mandelbrot-set-with-r-animation.html. Unfortunately, the algorithm was formulated there in an unusual programming language, which was designed for statistical purposes. However, on rosettacode I found a translation into the more general programming language Python (https://www.rosettacode.org/wiki/Mandelbrot_set#Python, "Another Numpy version using masks to avoid (explicit) nested loops. Runs about 16x faster for the same resolution"). However, the actual idea was obscured by a few programming tricks ("broadcast X to a square array", "use XOR to detect the area which has changed"). The only thing I did was to unveil the basic idea. I also changed a point-by-point algorithm on the same page so that it is more comparable to the NumPy solution ("Finally, we can also use Matplotlib to visualize the Mandelbrot set with Python"). Through a math textbook (https://www.springer.com/gp/book/9783662567401) I found that it would be better to replace limit 2 with an escape radius greater than 2 to avoid problems with rounding the floating point numbers and then published this little cleanup on the same page again, to spare those who want to treat the Mandelbrot set for teaching purposes this tedious work. --185.22.143.191 (talk) 12:19, 13 January 2020 (UTC)
- Good, thanks, WP loves sources. The first one, the blog post, certainly catches the eye. An assistant professor at BU attends a post-lecture dinner with Mandelbrot, and a few days later posts 15 lines of code (not by him) that produce a gorgeous animation, unlike any I've seen before. I can't say whether this blog post would stand up as WP source, but the larger question is, what exactly would you be citing from it? Not the R code, if you're not using it, and not the ideas behind the code, because they're not discussed. It would be better to cite the original author of the code (Jarek Tuszynski), but that seems to require citing a messy newsgroup thread, where the ideas behind the code are again not discussed.
- Here's my opinion of why this R code is interesting. The usual approach is to perform the iteration for a point of the grid all the way to conclusion, and then to do it for the next point, etc. The R code performs the first step of the iteration for all the points of the grid, then the second step, etc. This is normally less efficient than the usual approach, because it is performing the same essential calculation, but in a different order that requires shoveling massively larger volumes of data between the CPU and memory. However, the R code takes advantage of its approach by creating an image of the grid after each step, and assembling these images at the end into an animation, which shows the grid evolving step by step in a way I hadn't seen before. -- Eleuther (talk) 02:04, 14 January 2020 (UTC)
- Yes, but there is a small catch: The R code does not use the escape time algorithm. This is because the points that have not yet escaped must be filtered out. The R code doesn't do that, it always uses the whole matrix. I don't even know if filtering in R is possible at all. The NumPy code uses the same idea as the R code, however in each iteration step the points that have not yet escaped are filtered out via a logical matrix, and so the escape time algorithm can actually be implemented with matrices. In addition, filtering eliminates a problem: From around 12 iterations, an overflow error causes some entries in the matrices to become infinitely large (IEEE 754-1985). This is the red border in the R animation that arises from the 12th iteration. Filtering in the Numpy version avoids this problem. --185.22.143.191 (talk) 08:57, 14 January 2020 (UTC)
- If you insist. The red border isn't hurting anything, and nobody, including me, is interested in listening to us argue about such things. I had a few more points to make, but on further thought, they're not worth the trouble, so I will just let it be. Eleuther (talk) 10:17, 14 January 2020 (UTC)
- One last word: filtering with logical matrices is possible in R (https://bookdown.org/ndphillips/YaRrr/logical-indexing.html), and likewise also in Julia, a more modern language for mathematical calculations (https://docs.julialang.org/en/v1/manual/arrays/#Logical-indexing-1). Therefore, the escape time algorithm can also be implemented in these languages with matrices. --185.22.143.191 (talk) 09:48, 16 January 2020 (UTC)
- And I found an article that explains the idea (https://tomroelandts.com/articles/how-to-compute-the-mandelbrot-set-using-numpy-array-operations). Unfortunately, the author only creates a black and white image of the Mandelbrot set. --2A00:6020:15E6:2E00:E229:C411:F341:E9BB (talk) 09:47, 17 January 2020 (UTC)
- I agree with your removal of the code. If the intention is to illustrate multiple algorithms then (1) pseudocode is far preferable, and (2) we need a reliable source for the algorithms. —David Eppstein (talk) 17:04, 11 January 2020 (UTC)
3D images
I'm not too sure about this addition. It seems OR-ish and a bit laden with value judgments (better approach
, often visually striking
, etc.). But it also seems done in good faith, and I wouldn't want to bite anybody who put hard work into it (and I, personally, do find the images in the gallery rather nice). Perhaps it should be tightened up and condensed. Thoughts? XOR'easter (talk) 18:21, 20 January 2020 (UTC)
- I don't think it's OR as there are examples of this type of 3D Mandelbrot plotting all over the Web. I think it adds value to the article. It may need some cleanup though. The images are nice and I thanked the author :) It needs to have some references though, so I'll mark it with a template for the meantime. Jdbtwo (talk) 18:32, 20 January 2020 (UTC)
Certain editors removing "Unreferenced section" templates
Please don't remove the "Unreferenced section" templates for the 3D plots and multi-threading sections, unless you have a good reason. Those two sections have *no* references, and, until they do, the templates should stay, just as I've kept the "needs more sources" template in the histogram coloring section which I re-wrote as I've only cited one source in that case. Any help in getting reliable references for the 3D plots, multi-threading and histogram coloring section would be greatly appreciated. Jdbtwo (talk) 19:53, 24 January 2020 (UTC)
Sorry, that was me, the creator of the section on 3D plots. When I did that I did not realize that references to other Wiki content did not count as a sitation. I have since added a citation to The Science of Fractal Images. I also then removed the marking saying there were no citations. I don't want to overstep. What is the correct protocol for that? Should I simply add citations and allow another editor to make the call as to whether or not there are enough citations. — Preceding unsigned comment added by DuncanMacC (talk • contribs) 22:57, 27 January 2020 (UTC)
- No problem :) Even in the section I re-wrote on histogram coloring still has a "more citations needed" template attached to it, which I added myself :) I'd say that the correct protocol would be to ask the editor who added the template if the template should be removed. Jdbtwo (talk) 16:49, 28 January 2020 (UTC)
Multithreading section
Since this section only references one reliable source, the "doesn't cite references" template isn't needed anymore. Until there are more reliable sources, I've put up a "needs more citations" template in the meantime. Jdbtwo (talk) 17:49, 26 January 2020 (UTC)
I'll work to find additional citations. In the meantime, there are commercial applications that use these multithreading techniques, which serve as objective evidence that they work. — Preceding unsigned comment added by DuncanMacC (talk • contribs) 22:59, 27 January 2020 (UTC)
I've added a second source. - Duncan — Preceding unsigned comment added by DuncanMacC (talk • contribs) 22:49, 1 February 2020 (UTC)
- I'd say once you have multiple reliable references that cover all the material in the section, then the "needs more citations" template can be removed. Jdbtwo (talk) 16:49, 28 January 2020 (UTC)
- Anyone with some knowledge in programming should be able to see that Mandelbrot and Julia set calculations are embarrassingly parallel. So that section is not likely to be challenged or questioned. So I removed the {{more citations needed section}} tag since we don't need references for obvious statements. It's a misunderstanding that all text needs to be covered by citations, even less so by multiple citations. The second sentence in Wikipedia:Citing sources says: "Wikipedia's verifiability policy requires inline citations for any material challenged or likely to be challenged, and for all quotations, anywhere in article space." See also WP:BLUE.
- --David Göthberg (talk) 16:27, 2 February 2020 (UTC)
Scientific American 1985
In 1985 Scientific American published the now classic article that made Mandelbrot sets known to the wider audience. Scientific American has now (well in 2010) republished the article free to read for anyone. See the following page (note that that page just shows the start of the article, you have to click the PDF-link at the bottom of the page to get the whole article):
https://www.scientificamerican.com/article/mandelbrot-set/
Or a direct link to the PDF-file:
https://www.scientificamerican.com/media/inline/blog/File/Dewdney_Mandelbrot.pdf
Can someone who knows how to edit references update the "Dewdney, A. K. (1985)" reference? (Currently reference #8 on the page.) The old link there requires a subscription. Use one of the two links above, you decide which one is better since I am not sure.
--David Göthberg (talk) 10:08, 4 February 2020 (UTC)
- Done. I went directly to the PDF, if that's okay with everybody. PS, I well remember my amazement after that issue of the magazine arrived through my doorslot. Scientific American was a very good magazine in those days. Eleuther (talk) 11:02, 4 February 2020 (UTC)
- Eleuther: Ah, thanks! And yeah, that is the article that made me spend many months on coding and optimising my own Mandelbrot program during 1988-1991. :)
- A. K. Dewdney also wrote several follow-up articles with more images and in which he also mentioned rectangle checking. (Note: He might have called that method something else.) I think that was in 1986. (But a search on the Scientific American webpage hints that it might be the article "Computer Recreations" in November 1987.) That article is probably still only accessible if you have a subscription.
If someone has access I would like the reference data for that article so I can reference it at the first sentence in the "rectangle checking" section. - --David Göthberg (talk) 11:05, 4 February 2020 (UTC)
- I asked my local library: One of the science libraries in my city still keeps old copies of Scientific American. So I went there yesterday and got paper copies of the "Computer Recreations" articles from November 1987 and February 1989. (If you have access, they are a nice read.) But I need to check the rest of the Mandelbrot related articles to find everything I need for the references, because some stuff I remember reading in 1986 or so wasn't in those articles. So I am slowly getting this done. But of course, any help is always appreciated.
- --David Göthberg (talk) 09:01, 5 February 2020 (UTC)
- As tentative advice, you may be putting too much effort into Dewdney, who basically wrote an entertainment column at the end of each issue, and is not really an authority on the Mandelbrot set. You may get better results by researching the sources he mentions, such as Hubbard and Peitgen. But this advice is tentative, because I don't really know what you're trying to accomplish. Eleuther (talk) 10:59, 5 February 2020 (UTC)
- Eleuther: You are of course right. Just that I am really bad at finding sources, and the Dewdney articles are the ones I know about and know where to find. Also I like to use those articles since they are easy to understand, both for our editors and readers. We often don't link to the first or most authoritative reference, but instead the one that explains something better and easier. And Dewdney's articles are one of the reasons Mandelbrot sets became popular. And I find him fairly authoritative since he was in direct contact with most of the early fractal mathematicians.
- And yeah, I wouldn't normally do this much effort to find sources. But these articles were a major factor that got me into my current career. (Programming and computer algorithm research.) So it is fun for me to see them again.
- And what I want to accomplish: 1: Find some good, easy to read references. 2: And partly also hinting at when different concepts became widely known. Of course then I should check those big fractal books that were published a bit before Dewdney's articles, but I don't have access to them and I heard they are a very heavy read.
- --David Göthberg (talk) 12:12, 5 February 2020 (UTC)
Periodicity checking
The section periodicity checking is partly incorrect. At the moment I don't know how to write it up in a nice way in the article so here is what I remember from when I added periodicity checking in my Mandelbrot program. (I tinkered with this stuff back in 1988-1991 so some details might be off.)
This is about what happens during the calculation of one pixel, that is during the iteration of one point.
See the second image on this page for a somewhat messy picture of what happens during the iterations.
Outside the Mandelbrot set (outside the black area) there are no period/loop. Instead during the iteration the coordinates (x, y) spiral away further and further. And when they go beyond the distance 2 we know for sure we are outside the Mandelbrot set, which is what we check in the normal Mandelbrot iteration loop.
But when inside the Mandelbrot set: After some iterations the coordinates (x, y) start looping. Near the border of the inner Mandelbrot set the loops are very long. That is, one loop can be a ring with hundreds of points. But already a few pixels in from the inner border the loops get as short as 20 points or less. Note that the loops are not exact, on each run around the loop the coordinates get more and more exact to the points. This is not a round-off error.
So what I did was this: As a default I didn't use periodicity checking, since for most pixels it costs more work. But if the last ten pixels where within the Mandelbrot set then I turned on periodicity checking.
And I checked it like this: No checking for the 20 first iterations since it takes some iterations before the loop starts stabilising on the points. Then for every 20:th iteration in the loop I stored away the x and y value. (Not in an array, instead just keeping the latest pair of x and y values.) And for every iteration after that I compared the current x and y value with the latest pair stored. If they matched we have a loop and we know we are inside the Mandelbrot set (inside the black area) and can stop and just plot a black pixel. That is, we can detect loops up to 20 points long this way.
Note: Modern computers are much faster so we can now zoom much deeper and we often use much larger max_iteration. So today I think it might be more optimal to store away the x and y values at every 100:th or 400:th iteration or so. Since 100-400 iterations are so quick nowadays. Thus being able to detect larger loops (closer to the inner border of the Mandelbrot set).
Since the values are not exact it is important to not compare with too many decimals. So I used a fairly small floating point type to do the comparison, otherwise it takes many more iterations until the points get exact enough to get a match.
When using border tracing and it is following the inner border of the Mandelbrot set the periodicity checking is useless. Since for the pixels closest to the inner border the loops are too large to detect before the max iteration kicks in. But when one has zoomed in an area of the Mandelbrot then periodicity checking becomes useful. That is, when traversing through the inner Mandelbrot set while following along the outer border of the whole image. (In the picture to the right, when the boundary tracing is following along the lower left corner of the image, then it calculates pixels well inside the Mandelbrot set.) The method to only turn on periodicity checking if the last ten pixels were within the Mandelbrot set takes care of this. Thus border tracing and periodicity checking can be used together.
--David Göthberg (talk) 18:50, 2 February 2020 (UTC)
- Just found an old a page that describes the periodicity check method used in Fractint. It seems very similar to the method I used, only that every time they store away an x and y pair, they double the number of iterations until next time to store away a pair. Which seems more flexible, since it adapts to how big big max_iteration you use (and thus how fast computer you probably have). So it should be better at detecting loops close to the inner border of the Mandelbrot set
- --David Göthberg (talk) 13:00, 5 February 2020 (UTC)
- Done - I changed the periodicity checking code example to a simple but working version similar to my old method. It would cost just two lines more of code to show a smarter version similar to the one used in Fractint, but I didn't want to confuse the readers.
- --David Göthberg (talk) 11:21, 6 February 2020 (UTC)
Escape time algorithm code, non-optimised example
This will almost be a rant. But I want to share my conclusions, since this confused me even though I am an experienced Mandelbrot coder, and different sources contradict each other on these things.
Some days ago when I saw the current version of the pseudocode I edited it "back" to what I am used to, and which also happens to be closer to the code we used to show here long ago. Then I did some checking and partly reverted myself and then the rest was reverted by Eleuther. After even more checking I came to the conclusion that Eleuther was right. (Note that in the examples on this talk page I'll only show the inner part of the code.)
Example 1, the current example in the article. What I and Eleuther seem to prefer now:
x := 0.0 y := 0.0 iteration := 0 max_iteration := 1000 while (x×x + y×y ≤ 2×2 AND iteration < max_iteration) do xtemp := x×x - y×y + x0 y := 2×x×y + y0 x := xtemp iteration := iteration + 1
Example 2, what I was used to :
x := x0 y := y0 iteration := 1 max_iteration := 1000 while (x×x + y×y < 2×2 AND iteration < max_iteration) do xtemp := x×x - y×y + x0 y := 2×x×y + y0 x := xtemp iteration := iteration + 1
Both the code examples will produce iteration values from 1 to 1000, but never 0.
In example 1, all the first iteration does is to copy x0 to x and y0 to y. Example 2 does the usual optimisation by copying them before the while loop. When I checked the sources/references I found out that example 1 is the traditional way to show it, since it matches the mathematical definition. So even though as a programmer I find it slightly silly, I agree we should show it like that in the first (non-optimised) example in the article.
The second thing is if it should be "< 2×2" or "≤ 2×2". On this even very authoritative sources contradict each other. Sometimes they even contradict themselves in the same document. So which is the most correct? Well, thankfully I am aware of the point (-2, 0) which is the very leftmost tip of the Mandelbrot set. After 2 to 1 iterations (depending on which code you use above), that point gets stuck at (+2, 0). That is, it never escapes to infinity. Here is the code above with the numbers inserted:
Example 3, point (-2, 0):
x: 2 = -2×-2 - 0×0 + -2 y: 0 = 2×-2×0 + 0 And next iteration: x: 2 = 2×2 - 0×0 + -2 y: 0 = 2×2×0 + 0
So there is a point exactly at radius 2 that never escapes to inifinity. (But I am fairly sure that is the only point.) I say that point belongs to the Mandelbrot set (the inner black area). Thus my conclusion is that the most correct is to use "<= 2*2" in the while loop. (But using "<" or "<=" probably doesn't cause a noticeable difference in the generated images.)
Escape time algorithm code, optimised example
I don't like the "optimised" code example currently in the article. But before I totally change it I want to discuss/explain here.
Example 1, the current "optimised" example in the article:
rsquare := 0 isquare := 0 zsquare := 0 while (rsquare + isquare ≤ 4 and iteration < max_iteration) do x := rsquare - isquare + x0 y := zsquare - rsquare - isquare + y0 rsquare := x × x isquare := y × y zsquare := (x + y) × (x + y) iteration := iteration + 1
Example 1b, above example but in notation matching the non-optimised example before it in the article:
x2 := 0 y2 := 0 xy2 := 0 while (x2 + y2 ≤ 4 and iteration < max_iteration) do x := x2 - y2 + x0 y := xy2 - x2 - y2 + y0 x2 := x × x y2 := y × y xy2 := (x + y) × (x + y) iteration := iteration + 1
Example 2:
x := 0.0 y := 0.0 x2 := 0.0 y2 := 0.0 iteration := 0 max_iteration := 1000 while (x2 + y2 ≤ 4 AND iteration < max_iteration) do y := 2×x×y + y0 /* Doing y:= before so it can use the old x */ x := x2 - y2 + x0 x2 := x*x y2 := y*y iteration := iteration + 1
Example 3:
x := x0 y := y0 x2 := x*x y2 := y*y iteration := 1 max_iteration := 1000 while (x2 + y2 ≤ 4 AND iteration < max_iteration) do y := (y+y)×x + y0 /* (x+x)*y might be slower */ x := x2 - y2 + x0 /* Doing x:= after so y:= can use the old x */ x2 := x*x y2 := y*y iteration := iteration + 1
Initiating the variables:
So, simple things first: I show the more optimised way to initiate the variables in example 3. Compare to example 2. This saves one iteration in the while loop. I am not sure if we should show it in the article since it is such a small optimisation and without it we can use shorter example code.
Inside the while loop:
Example 1 (and 1b) above uses three multiplications and eight additions/subtractions in the while loop (ignoring the iteration+1 that is the same in all examples). And it uses one more assignment to one more variable (zsquare or xy2) than example 2 and 3 does.
Example 2 uses four multiplications and four additions/subtractions.
Example 3 uses three multiplications and five additions/subtractions.
Example 1 in the non-optimised code (see previous discussion above): six multiplications and four additions/subtractions.
I really dislike example 1 (and 1b), it is messy and it surely will run slower than example 3. I am not sure if I prefer example 2 or 3. Example 3 is more optimised, but 2 is just slightly slower but looks better in the article.
On some older compilers and CPUs doing the y2 := y*y
before the x2 := x*x
calculation in example 2 and 3 would be faster due to how processor pipelines work. But good modern compilers (and perhaps even CPUs ?) handle that for us nowadays, I heard. (I haven't tested it lately.) And it makes the code slightly more confusing so I don't want to show that in the article.
--David Göthberg (talk) 13:22, 6 February 2020 (UTC)
- I agree that the optimized version of the inner while loop should be modified so that its notation corresponds to the notation in the unoptimized version. I originally added the optimized version code, which has been "prettified" by various editors :) What I don't agree with is getting rid of the code entirely. I think I'll add a second, "more optimized example", with an explanation of how it was derived. In the optimized example, with the variable names changed to reflect the style of the unoptimized example, one has the code
- x = x2 - y2 + x0
- y = xy2 - x2 - y2 + y0
- x2 = x*x
- y2 = y*y
- xy2 = (x + y)*(x + y)
- If one expands the multiplication which is assigned to "xy2", then we have
- xy2 = x*x + 2*y*x + y*y
- Which, transforms
- y = xy2 - x2 -y2 + y0
- To
- y = xy2 - x2 - y2 + y0
- y = x2 + y2 + 2*x*y - x2 - y2 + y0
- y = 2*x*y + y0
- I don't think " y := (y+y)×x + y0 " in you example code should be used, as it really doesn't affect the speed as a multiplication by 2 is just a left bit-shift, and it might confuse the reader.
- I think I'll go ahead and change the optimized code now and add a further optimized example. Jdbtwo (talk) 17:40, 10 February 2020 (UTC)
- And, done :) Jdbtwo (talk) 18:15, 10 February 2020 (UTC)
Where is this article going?
This article seems to be devolving into a group writing project by a few recent editors, with sources only being cited incidentally and after the fact, as in a term paper. This is perhaps okay—it happens all the time on Wikipedia in things like movie plot summaries, for example. But I think the present article is more important than that, and should be held to a higher encyclopedic standard, i.e., the goal should be to provide a concise and well-cited presentation of current thinking about the set in the mathematical and programming communities.
Am I the only watcher who feels this way? Eleuther (talk) 04:39, 11 February 2020 (UTC)
- Nope, you're not; I think the main thing is that a lot of the article is slowly being developed into a how-to, but as I'm not much of an expert in the area I had been patient with seeing how it settled down. While a certain amount of it is okay, I agree that we need to be careful in making sure the article doesn't become too much of a list of pseudo code and tracing algorithms. Integral Python click here to argue with me 12:17, 11 February 2020 (UTC)
- Well, the problem, as I see it, is that the "Computer drawings" section takes up around 406 lines, which is becoming unwieldy, compared to the main part of the article preceding it which takes up only around 306 lines and is pretty much "nice and clean". First, I think that the "Further optimizations" sub-section and the "Optimizations" sub-section should be merged. Then, there should be a concise description of the naïve escape time algorithm with a link to another article containing what is now the complete "Computer drawings" section. Any other opinions? Jdbtwo (talk) 19:23, 11 February 2020 (UTC)
- Yes, the "Computer drawings" section has become unwieldy, and I'm inclined to think most of it would serve better as a separate article, where it can be checked, edited for tone and consistency (it seems to switch from pseudocode to C-ish and back), and given the proper sourcing, without the main article on a high-interest topic looking cluttered and overburdened in the interim. Plotting algorithms for the Mandelbrot set, perhaps. XOR'easter (talk) 19:48, 11 February 2020 (UTC)
- Well, I've broken out the "Computer drawings" section into a new article in my sandbox, and I've modified the original Mandelbrot set article to include a brief summary of the escape time algorithm with a link ( eg. "Read more..." ) to the main, proposed, article which replaces most of the "Computer drawings" section in the main Mandelbrot set article. I've had to cram both articles into one page in my sandbox, which kind of messes things up. Also, the broken-out Mandelbrot plotting article needs categories and such added to its end, but I'm not sure what I should add. Please see https://en.wikipedia.org/wiki/User:Jdbtwo/sandbox Jdbtwo (talk) 20:54, 11 February 2020 (UTC)
- I'd copy over the categories from the existing article and add Category:Algorithms to start with. The text looks good; I'd say go ahead with the split, and we can always tidy it up afterwards. For future reference, you can create subpages of your sandbox to work on articles (I have one here for example). XOR'easter (talk) 21:30, 11 February 2020 (UTC)
- Thanks for the advice :) I've broken out the "Computer drawings" section from the main article and created a new page at the link you created :) There needs to be some cleanup, but, so far, it looks OK :) Jdbtwo (talk) 22:20, 11 February 2020 (UTC)
- Thanks, everyone, I applaud these changes. Eleuther (talk) 02:59, 12 February 2020 (UTC)
- No problem and thanks to XOR'easter and many other editors for the edits for the new article and the initial idea :D Jdbtwo (talk) 18:04, 12 February 2020 (UTC)
- Thanks, everyone, I applaud these changes. Eleuther (talk) 02:59, 12 February 2020 (UTC)
- Thanks for the advice :) I've broken out the "Computer drawings" section from the main article and created a new page at the link you created :) There needs to be some cleanup, but, so far, it looks OK :) Jdbtwo (talk) 22:20, 11 February 2020 (UTC)
- I'd copy over the categories from the existing article and add Category:Algorithms to start with. The text looks good; I'd say go ahead with the split, and we can always tidy it up afterwards. For future reference, you can create subpages of your sandbox to work on articles (I have one here for example). XOR'easter (talk) 21:30, 11 February 2020 (UTC)
- Well, I've broken out the "Computer drawings" section into a new article in my sandbox, and I've modified the original Mandelbrot set article to include a brief summary of the escape time algorithm with a link ( eg. "Read more..." ) to the main, proposed, article which replaces most of the "Computer drawings" section in the main Mandelbrot set article. I've had to cram both articles into one page in my sandbox, which kind of messes things up. Also, the broken-out Mandelbrot plotting article needs categories and such added to its end, but I'm not sure what I should add. Please see https://en.wikipedia.org/wiki/User:Jdbtwo/sandbox Jdbtwo (talk) 20:54, 11 February 2020 (UTC)
- Yes, the "Computer drawings" section has become unwieldy, and I'm inclined to think most of it would serve better as a separate article, where it can be checked, edited for tone and consistency (it seems to switch from pseudocode to C-ish and back), and given the proper sourcing, without the main article on a high-interest topic looking cluttered and overburdened in the interim. Plotting algorithms for the Mandelbrot set, perhaps. XOR'easter (talk) 19:48, 11 February 2020 (UTC)
Useful links
486172727920506f74746572 (talk) 09:50, 3 August 2020 (UTC)3 August 2020, 5:50 p.m., GMT+8
https://picturelements.github.io/mandelbrot
Please verify and allow!
Definition of P_c
The symbol P_c (and related P_c^n) is used in describing both the Basic and Other Properties of the Mandelbrot set. The definition and meaning of this symbol does not appear to be given anywhere in the article. It should be defined near where it is first used. — Preceding unsigned comment added by Astrorocks (talk • contribs) 20:17, 23 September 2020 (UTC)
- Done Fixed. XOR'easter (talk) 00:38, 24 September 2020 (UTC)
Border tracing / edge checking
I am a lay reader of mathematics. The Mandelbrot Set is apparently a magnificent view of Fractal Geometry. I am most interested to learn how these numbers are verified by boundary methods.--lbeben 00:05, 26 October 2020 (UTC)
The entire section on border tracing has recently been completely removed, as has the section I wrote on multithreading, and the 3 short videos I posted showing different rendering optimizations. Who deleted those sections and why? DuncanMacC (talk) 03:00, 13 February 2020 (UTC)
--- — Preceding unsigned comment added by DuncanMacC (talk • contribs) 03:01, 13 February 2020 (UTC)
The first part of the second-to-last paragraph starts by saying "A similar method operating on the same principle uses rectangles instead of arbitrary border shapes. It is usually faster than border tracing because it requires fewer calculations to work out the rectangle."
I believe this is flatly wrong. The border of either the Mandelbrot set or of any iteration band is not rectangular. It does not have any straight edges. Any set of rectangles that would be used to fill either an iteration band or a section of the Mandelbrot set will always have more perimeter, and thus more pixels to compute, than an actual tracing of the border of that region. Border tracing following the "left hand rule" will only compute a few neighboring pixels around the border it is tracing, and no pixels that are interior to the region. Filling an iteration band or a section of the set will require a large number of rectangles of varying size, and quite a few failed attempts to find rectangles. It will be necessary to iterate all the pixels in the borders of all those rectangles.
Iterating pixels is far and away the most compute-expensive part of doing escape time rendering of Mandelbrot sets. Thus when comparing two approaches to rendering an image, the approach that requires iterating the smallest number of pixels will be the faster approach.
The last sentence in this section also needs editing: "However, this only works using discrete colors in the escape time algorithm. It will not work for smooth/continuous coloring."
That is true for finding non-mandelbrot regions of a plot, but Mandelbrot points by definition require the maximum number of iterations to identify, and so they are the most expensive points to find. Plots that compute fractional iteration values or distance estimates can't use border tracing for non-Mandelbrot points, but unless the plot calculates orbit traps, internal distance estimates, or some other value that requires brute-force computing of every Mandelbrot point, border tracing produces a large speedup when there are significant numbers of Mandelbrot points in the image. — Preceding unsigned comment added by DuncanMacC (talk • contribs) 01:29, 30 January 2020 (UTC)
- You are correct on both points. Border tracing is faster than all the rectangle methods I have seen and tested. As you mentioned border tracing always end up calculating less pixels.
- I have tested simple rectangles, and rectangles in rectangles. With fully calculated lines or just calculating the pixel in each corner of the rectangle. The "just calculating each corner pixel" is faster than full line rectangles but fairly often causes damaged images. But it still is much slower than border tracing.
- This is very much my own original research, since I was one of the 3-4 people in the world that independently invented and managed to implement border tracing back in 1988. (Rectangle checking is a much older method. I read about rectangle checking in Scientific American in 1986 or so.)
- The section about border tracing and with the faulty claim about rectangle checking was added by an editor on 6 October 2013. It is an unsourced statement so we can change it without contradicting any source. So I went ahead and fixed the article text and made rectangle checking its own section.
- I also fixed the part about smooth/continuous coloring.
- --David Göthberg (talk) 10:28, 2 February 2020 (UTC)
Mandelbrot set with complex powers website
hello my name is isaac
i started about a month ago by self learning the mandelbrot from scratch
i first wrote the code for power of 2 only. then i use binomial theorem to change it to any integr power. then I had to figure out how to generalize the complex number to the power of a complex number and then I set the imaginary part on the power to 0. the arctan gave me an issue, so I searched around the internet and realized I had to use atan2 function to get the right result. after that i noticed you can use complex number powers and also to generate the same infinite solutions using 2πn. (finaly i also added a fifth dimension as well)
http://myzeta.125mb .com/Mandelbrot.html
you can all try and play with it to see by tourself in the above url. i also made sure the animation will work on negative powers as well as the conjugate case for f(a+ib)
i am new to wikipedia and dont know the rules here. but where can i post the url on the Mandelbrot set article page??? maybe someone here can add the webpage link for me? thanks — Preceding unsigned comment added by Isaac.mor (talk • contribs) 12:21, 25 October 2020 (UTC)
- Hi! While we always appreciate enthusiasm for mathematics, Wikipedia is not the place to host one's own work or to try attracting attention for personal projects. That's not really our mission here, though we're happy that people teach themselves and explore ideas. Regarding this article specifically, so much has been said about the Mandelbrot set that we have to have rather high standards for what can be included. XOR'easter (talk) 18:58, 26 October 2020 (UTC)
- are you insane? how on earth the images/animation i posted here (which were only 3) are not of high standards??? do you even know what you have removed from the page???
i even uploaded a 2d plot using 5d image of a flower using only complex numbers! and this unique picture that (i can guarantee) you wont see on any place you are trashing it away ... unbelievable! — Preceding unsigned comment added by Isaac.mor (talk • contribs) 19:38, 26 October 2020 (UTC)
Wikipedia is not the place to host one's own work or to try attracting attention for personal projects
is the bit worth noting. Best Wishes, Lee Vilenski (talk • contribs) 20:00, 26 October 2020 (UTC)