Mathematics and Art: Why can’t we be friends?


The figures of Geometry and Arithmetic by the Coëtivy Master, late 15th century (detail from Philosophy Presenting the Seven Liberal Arts to Boethius)

For most of history, mathematics and the visual arts have been friends. Art was not distinguished from what we now call “craft,” and mathematics – geometry and arithmetic – provided both a source of inspiration and a set of tools. Polykleitos, for example, in the 5th century BC, outlined a set of “ideal” proportions for use in sculpture, based on the square root of two (1.414…). Some later artists used the golden ratio (1.618…) instead.

Symmetry has also been an important part of art, as in the Navajo rug below, as well as a topic of investigation for mathematicians.


Navajo woollen rug, early 20th century (Honolulu Museum of Art)

The Renaissance saw the beginning of the modern idolisation of artists, with Giorgio Vasari’s The Lives of the Most Excellent Painters, Sculptors, and Architects. However, the friendship between mathematics and art became even closer. The theory of perspective was developed during 14th and 15th centuries, so that paintings of the time have one or more “vanishing points,” much like the photograph below.


Perspective in the Galerie des Batailles at Versailles (base image: 1890s Photochrom print, Library of Congress)

Along with the theory of perspective, there was in increasing interest in the mathematics of shape. In particular, the 13 solid shapes known as Archimedean polyhedra were rediscovered. Piero della Francesca rediscovered six, and other artists, such as Luca Pacioli rediscovered others (the last few were rediscovered by Johannes Kepler in the early 17th century). Perspective, polyhedra, and proportion also come together in the work of Albrecht Dürer. Illustrations of the Archimedean polyhedra by Leonardo da Vinci appear in Luca Pacioli’s book De Divina Proportione.


Illustration of a Cuboctahedron by Leonardo da Vinci for Luca Pacioli’s De Divina Proportione (1509)

Some modern artists have continued friendly relations with mathematics. The Dutch artist M. C. Escher (reminiscent of Dürer in some ways) sought inspirations in the diagrams of scientific publications, for example.


Tiling by M. C. Escher on the wall of a museum in Leeuwarden (photo: Bouwe Brouwer)

Today it is possible to follow in Escher’s footsteps by studying a Bachelor of Fine Arts / Bachelor of Science double degree at some institutions. There is also a renewed interest in the beauty of mathematical objects, whether three-dimensional (such as polyhedra) or two-dimensional (such as the Mandelbrot set). The role of the artist then becomes that of bringing out the beauty of the object through rendering, colouring, choice of materials, sculptural techniques, and the like.


View of the Mandelbrot set at −0.7435669 + 0.1314023 i with width 0.0022878 (image: Wolfgang Beyer)

Artistic techniques such as these (“must we call them “craft” or “graphic design”?) are also important in the field of data visualisation, and are recognised by the “Information is Beautiful” Awards. Speaking of which, this year’s awards are now open for submissions.


The legacy of Novum


Image credits: 1, 2, 3, 4, 5, 6, 7, 8

In 2017, the University of Michigan produced a stunning monohull solar car, Novum, which went on to take second place in the World Solar Challenge (it is shown mirror-reflected above). Their 2019 car, Electrum, has a pointier nose, and a more streamlined tail.

The new Top Dutch team has very sensibly taken Novum as a starting point for their car, no doubt feeling that the Netherlands already has too many catamarans (every new team should, if possible, strive to emulate one of the leaders of the last World Solar Challenge). Top Dutch appear to have independently made tail modifications very similar to those of Electrum. The Covestro Sonnenwagen from Aachen also shows signs of being influenced by Novum, but with a quite different nose.

Not shown are the Japanese monohulls, which look a little different, and the unique asymmetric monohull from Stanford. It will be very interesting to see all these monohulls take on the compact catamarans from Delft, Twente, and Belgium in the race this October!


And returning him safely to the earth

In 1961, John F. Kennedy told Congress: “I believe that this nation should commit itself to achieving the goal, before this decade is out, of landing a man on the moon and returning him safely to the earth.

The Moon landing on 20 July 1969 achieved the first part of that goal. The second part was yet to come (in 1970, that would prove to be the hard part).

But on 21 July 1969, at 17:54 UTC, the spacecraft Eagle lifted its metaphorical wings and took off from the Moon (well, the upper ascent stage took off, as shown in the photograph below). There followed a rendezvous with Columbia, a flight back to Earth, and an eventual splashdown on 24 July. Mission accomplished.


The Eagle has landed!

Fifty years ago, on 20 July 1969, at 20:17:40 UTC, the spaceship Eagle landed on the Moon. Here is the landing site – below, as it was, and above, as seen by the Lunar Reconnaissance Orbiter Camera (LROC). Clearly visible in the LROC image, and illustrated with inset photographs from 1969, are:


A tale of two arrivals

Fifty years ago, on 19 July 1969, the spaceship duo Columbia / Eagle entered orbit around the Moon, roughly 3 days and 4 hours after its launch, as part of the Apollo 11 mission. Eagle (with Neil Armstrong and Buzz Aldrin) went on the land on the moon on 20 July while Columbia (with Michael Collins) continued to orbit the moon. When he announced the space programme, Kennedy had said:

We choose to go to the moon. We choose to go to the moon in this decade and do the other things, not because they are easy, but because they are hard, because that goal will serve to organize and measure the best of our energies and skills, because that challenge is one that we are willing to accept, one we are unwilling to postpone, and one which we intend to win, and the others, too.

Much can be learned from doing hard things, and an enormous amount was learned from the space programme. Solar car teams also learn a great deal from doing hard things. Fifty years after Columbia and Eagle entered orbit, also after hard effort, the University of Michigan Solar Team’s solar car Electrum arrived in public view (at 17:30 Michigan time). They intend to win too!


A tale of two launches

Fifty years ago, on 16 July 1969, a Saturn V rocket carrying three men (Neil Armstrong, Buzz Aldrin, and Michael Collins), plus the command module Columbia, and the lunar module Eagle, took off from Florida, en route to the first human landing on the moon (above).

Fifty years later, the Dutch Vattenfall Solar Team launched their 10th solar car, Nuna X (below). Catamaran-style solar cars seem to have reached an optimum: the front of Nuna X looks a lot like Nuna 9 and the rear looks a little like Twente’s Red E and Agoria’s Punch 2 – but only on the left side! The new car weighs just 135 kg (298 lbs), which is probably the lightest ever solar car. I think that Twente, Agoria, and everybody else will have their work cut out trying to outrace this latest car from Delft!


Sequences, R, and the Free Monoid

An important concept in computer science is the free monoid on a set A, which essentially consists of sequencesa1an⟩ of elements drawn from A. The key operations on the free monoid are:

  • a⟩, forming a singleton sequence from a single element of A
  • xy, concatenation of the sequences x and y, which satisfies the associative law: (xy)⊕z = x⊕(yz)
  • ⟨⟩, the empty sequence, which acts as an identity for concatenation: ⟨⟩⊕x = x⊕⟨⟩ = x

The free monoid satisfies the mathematical definition of a monoid, and is free in the sense of satisfying nothing else. There are many possible implementations of the free monoid, but they are all mathematically equivalent, which justifies calling it the free monoid.

In the R language, there are four main implementations of the free monoid: vectors, lists, dataframes (considered as sequences of rows), and strings (although for strings it’s difficult to tell where elements start and stop). The key operations are:

Vectors Lists Dataframes Strings
⟨⟩, empty c() list() data.frame(n=c()) ""
a⟩, singleton implicit (single values are 1-element vectors) list(a) data.frame(n=a) as.character(a)
xy, concatenation c(x,y) c(x,y) rbind(x,y) paste0(x,y)

An arbitrary monoid on a set A is a set B equipped with:

  • a function f from A to B
  • a binary operation xy, which again satisfies the associative law: (xy)⊗z = x⊗(yz)
  • an element e which acts as an identity for the binary operator: ex = xe = x

As an example, we might have A = {2, 3, 5, …} be the prime numbers, B = {1, 2, 3, 4, 5, …} be the positive whole numbers, f(n) = n be the obvious injection function, ⊗ be multiplication, and (of course) e = 1. Then B is a monoid on A.

A homomorphism from the free monoid to B is a function h which respects the monoid-on-A structure. That is:

  • h(⟨⟩) = e
  • h(⟨a⟩) = f(a)
  • h(xy) = h(x) ⊗ h(y)

As a matter of fact, these restrictions uniquely define the homomorphism from the free monoid to B to be the function which maps the sequence ⟨a1an⟩ to f(a1) ⊗ ⋯ ⊗ f(an).

In other words, simply specifying the monoid B with its function f from A to B and its binary operator ⊗ uniquely defines the homomorphism from the free monoid on A. Furthermore, this homomorphism logically splits into two parts:

  • Map: apply the function f to every element of the input sequence ⟨a1an
  • Reduce: combine the results of mapping using the binary operator, to give f(a1) ⊗ ⋯ ⊗ f(an)

The combination of map and reduce is inherently parallel, since the binary operator ⊗ is associative. If our input sequence is spread out over a hundred computers, each can apply map and reduce to its own segment. The hundred results can then be sent to a central computer where the final 99 ⊗ operations are performed. Among other organisations, Google has made heavy use of this MapReduce paradigm, which goes back to Lisp and APL.

R also provides support for the basic map and reduce operations (albeit with some inconsistencies):

Vectors Lists Dataframes Strings
Map with f sapply(v,f), purrr::map_dbl(v,f) and related operators, or simply f(v) for vectorized functions lapply(x,f) or purrr::map(x,f) Vector operations on columns, possibly with dplyr::mutate, dplyr::transmute, purrr::pmap, or mapply Not possible, unless strsplit or tokenisation is used
Reduce with ⊗ Reduce(g,v), purrr::reduce(v,g), or specific functions like sum, prod, and min purrr::reduce(x,g) Vector operations on columns, or specific functions like colSums, with purrr::reduce2(x,y,g) useful for two-column dataframes Not possible, unless strsplit or tokenisation is used

It can be seen that it is particularly the conceptual reduce operator on dataframes that is poorly supported by the R language. Nevertheless, the map and reduce operations are both powerful mechanisms for manipulating data.

For non-associative binary operators, purrr::reduce(x,g) and similar functions remain extremely useful, but they become inherently sequential.

For more about purrr, see purrr.tidyverse.org.


Yet another quick solar racing update

In recent solar car news, we have now seen new car reveals from several teams. The latest ones are shown above (click to zoom). Promised new car reveals include Vattenfall16 July, Michigan19 July, Stanford21 July, Aachen22 July, WSU7 August, Durham12 August, Cambridge15 August, EcoPhoton: some time in August, and JU30 August. I will continue updating my list of teams as news and pictures come in.


FSGP 2019 team photo – L to R from front: Kentucky, Illini, Esteban (Poly Montréal), W Mich / Florida, Principia, Calgary, SIUE / Northwestern, UPRM, Illinois St, Ga Tech / NCSU, Berkeley (CalSol), Mich St, Waterloo / NJIT, with Rutgers absent (credit)

Meanwhile, 18 teams – Kentucky, Florida, CalSol (1st in 2017), Northwestern, Mich St, Illinois St, Illini, Waterloo, Principia, Ga Tech, Esteban (3rd in 2017), SIUE, Calgary, Rutgers, NJIT, NCSU, W Mich, and UPRM – raced at FSGP 2019 on 1–6 July. Final results were as below (click to zoom):

The FSGP regulations give the score for multi-occupant vehicles (MOV) as S = (D / E) × C × T, where S is the total score, D is the Total Person-Mile Distance, E is the Total External Energy usage of the solar car, C is the Completion Factor, and T is the Target Speed Derate.

The chart below (click to zoom) visualises these scores on a logarithmic axis, with six coloured bars being components of the score, and the seventh coloured bar S being the product (and therefore the sum of the logarithms) of those components. The six components are:

  • d, the total miles driven
  • d, the total miles driven with penalties
  • p, the average number of persons in the car (and so D = d × p)
  • E, the total external energy usage (as in the regulations)
  • T, the target speed derate, which penalises cars slower than 27 mph (as in the regulations)
  • h, a grey bar (the same for every team) showing the highest driving distance of any MOV entry (and so C = d′ / h)

This version of the formula, S = d × d′ × p × (1/E) × T × (1/h), makes it clear that the distance driven is essentially being squared, and hence dominates the other factors:

It’s also worth mentioning the lap speed record that was set on the COTA track:


Another quick solar racing update


Four recently revealed vehicles: Top Dutch, Twente, Blue Sky (Toronto), and Kogakuin

In recent solar car news, we have now seen new car reveals from HUST (pic), Top Dutch (video), Twente (video), Blue Sky (video), the commercial solar car Lightyear One (video), Kogakuin (video), and – just now – Agoria (video and below).


The new car from Belgian team Agoria (photo credit)

Promised new car reveals include Eindhoven4 July, HK IVE6 July, NIT6 July, Vattenfall16 July, Michigan19 July, Aachen22 July, and JU30 August. I will continue updating my list of teams as news and pictures come in.


Esteban were first to get all greens in scrutineering for FSGP 2019

Meanwhile, 18 teams – Kentucky, Florida, CalSol (1st in 2017), Northwestern, Mich St, Illinois St, Illini, Waterloo, Principia, Ga Tech, Esteban (3rd in 2017), SIUE, Calgary, Rutgers, NJIT, NCSU, W Mich, and UPRM – are at FSGP 2019 right now. Esteban were first to get all greens!