Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.Sign up
The New Turing Omnibus Chapter 9 Mathematical Research
Clone this wiki locally
We opened the meeting by welcoming new members and were lead by Matthew Valentine-House.
We began by agreeing on the "big picture" of the chapter: that computers enabled exploration of mathematical concepts, e.g. through automation and visualisation which were previously impractical. The example used in the chapter to demonstrate this is the Mandelbrot set.
We began by taking the central algorithm given in the chapter,
z_n+1 = z_n^2 + c, and understanding it using real numbers.
Matt working through the formula
z_n+1 = z_n^2 + c using real numbers.
In order to understand the algorithm, we discussed arithmetic with complex numbers, including an example of multiplication:
And more generally:
Tom then showed how addition and multiplication can be modelled using a number line:
Tom explaining addition and multiplication in terms of a number line.
Then showed how this would work with complex numbers.
With this, we understood the algorithm and moved onto implementations so we could actually visualise the Mandelbrot set (and associated sets) ourselves.
Show & Tell
Murray blew us away by implementing a Mandelbrot set visualisation using Jack, the programming language we implemented while reading "The Elements of Computing Systems". He compiled this down using our toolchain and ran it using Leo's hack-js so that we could marvel as we watched a browser struggle to render a visualisation.
Murray also demonstrated an implementation in Ruby which produced a text-based visualisation using only ASCII characters in the Terminal:
Tom then demonstrated his interactive visualisation of the orbits of certain numbers in the algorithm, first visualising how numbers bounced around on the whiteboard:
As well as this, Tom had implemented a more traditional visualisation of the Mandelbrot set that allowed a fix amount of zooming on click:
Tom demonstrating his visualisation of the Mandelbrot set.
Finally, Tom demonstrated his visualisation of Julia sets (mouse over for different sets):
Matthew wrapped up the Show & Tell by demonstrating his Ruby implementation that produced PNG images of the set:
- The opportunity for practical exploration in this chapter was generally lauded (particularly after so many theory-heavy topics);
- We discussed whether we intend to read every chapter of the book and, if we do not, how we might bring it to an end;
- We decided to clear out the Call for Proposals after the meeting to restore a blank slate and free us of a backlog of topics (that might be holding us back).
Thanks to Leo and Geckoboard for hosting the meeting, to Matthew Valentine-House for shepherding the meeting and to Murray, Chris, Tom and Matthew for demonstrating their various implementations.