Theorem 8 is a 3-channel video projection installation exploring the intersection of art and mathematics. It is made using a custom software that decomposes every frame in a movie using a fixed database of frames from another movie.

This project visualizes the abstract mathematical concept of orthogonal decomposition. The idea is to select a fixed set of frames from one movie and then allow every frame in another movie to make a shadow projection onto each of those frames. Every frame in the second movie is decomposed onto those various changing shadows.

By mixing the different shadow projections, it is possible to achieve an approximate reconstruction of the current frame in the first movie.

The 3-channel installation setup shows the original movie, Godard’s Alphaville, and its reconstruction in the center image. Its shadow projection onto 72 frames is shown on the left and the right screens. The frames are taken from the (never completed) film Witch’s Cradle, directed by Maya Deren in collaboration with Marcel Duchamp.

A detailed technical description is available here.

The two films were selected because their filmmakers used light and shadow as dramatic elements. Godard can be seen a response to the rise of cybernetics and information technologies. Deren and Duchamp were interested in abstract mathematical spaces. The title, Theorem 8, refers to the orthogonal decomposition theorem, which concerns the idea of an object in a higher-dimensional space projecting shadows onto a lower dimensional space.

The mathematical ideas employed in this project are often used in surveillance technologies, for such purposes as face recognition. Theorem 8 utilizes these otherwise black-boxed concepts as artistic means, at once exposing hidden technologies and subverting them for aesthetic purposes.

A video documentation describing and documenting the project can be found here .


perspective view

front view

top view


The setup consists of 3 ceiling-mounted full HD (1920 x 1280) projectors and a black wall. The actual video consist of 3 screens, with each screen having a 5:4 aspect ratio (depicted in white). If the projector has another aspect ratio e.g. 16:9 (as shown in the illustrations), then the full projected area (depicted in grey) will be larger than the actual video content area. The content areas only should be painted in white.

hardware requirements

- PC with PCI graphic card // min resolution: 3840 x 1024
- matrox TripleHead2Go monitor splitter // min model: vga edition, 3 x ( 1280 x 1024 )
- 3 x projectors, ceiling mounted // min resolution: 1280 x 1024

software requirements

- vlc player for video playback ( video format: *.mp4, h.264, 3840x944 )

Technical description

This technical description assumes some basic familiarity with elementary ideas in linear algebra, such as the concepts of a vector, a vector space, and linear independence. It is meant for the technically inclined reader who wishes a more in-depth account of the artistic procedure employed in the making of Theorem 8.

The first section explains the basic terminology, while the second section details the actual procedure used to generate the images in the installation.


1. Background Notions

A frame is a set of n x m pixels, where n and m are the width and height of the image. A movie is a sequence of frames.

Associated with every frame f in movie M is a function Bf(x,y) whose inputs are the screen coordinates of a specific pixel and whose output is a floating point number in the range (0,1), the “brightness” or “value” of that pixel.

A frame f can also be described as a vector in Rn x m whose (y * m + x)th component is given by Bf(x,y). In other words, the vector is an array containing the values of every pixel in f. They are sequentially ordered, so that the values of the pixels in the first row are followed by those of the pixels in the second row, and so on.

We take the set F of all frames of n x m pixels as a vector space, equipped with the two basic operations of vector addition and scalar multiplication. The operation of vector addition takes two vectors and outputs a new vector formed by adding corresponding entries in each input vector. The operation of scalar multiplication takes a floating-point number and a vector and outputs a new vector formed by multiplying each component of the input vector by the input number.

If F is to be a proper a vector space, it must be closed under the operations of vector addition and scalar multiplication. Frames must be allowed to contain values in the range (-∞, +∞). This poses a problem for any pixel-based visualization. In particular, how will negative values be visualized, since there is no such thing as a pixel with negative brightness? The solution adopted here, for visualization purposes only, is that any number > 1 will be set to 1 and any number < 0 to 0. All computations will otherwise be performed on the actual values. Recognizing that this solution is inelegant, the artist experimented with other possibilities, but the current option gives the most arresting visual result and so was selected because of aesthetic considerations.

We endow vector space F with a dot product, an operation whose inputs are two vectors and whose output is a single number. Given two input vectors, its dot product is obtained by multiplying every pair of corresponding entries and adding the results together. The expression <u1, u2> will denote the dot product of vectors u1 and u2.

The concept of a dot product is important, because it can be used to define what it means for two vectors to be perpendicular to one another. Two vectors u1 and u2 in some vector space V are orthogonal (or perpendicular) if and only if <u1, u2> = 0. The “size” or “length” of a vector u, written ‖u‖, is given by

We now come to the key ideas at the heart of this project:

Given a vector u in F, the orthogonal projection of vector v in F onto u is defined as

We will also say that Pu (v) is the shadow cast by v on u, or the component of v in the direction of u.

projected shadow

Given a set U = {u1, u2, ...., uk} of linearly independent vectors, the decomposition vu of vector v with respect to U is the set of shadows cast by v on every vector in U. The reconstruction of v with respect to U is the sum of the shadows cast by v on every vector in U. (The reconstruction is a linear combination or weighted sum of the vectors in U whose coefficients or weights depend on the projections of v onto the vectors in U). Note that every reconstruction is an approximation; it is not necessarily true that v = vu. The larger the size of U, the better the reconstruction (on this point, see the remark at the bottom of this page).

In this project, the vectors in U will not only be linearly independent but also orthonormal. A nonempty subset S of vector space V is orthonormal if the vectors in S are of unit length and pairwise orthogonal. There is a technique, known as the Gram Schmidt procedure, which takes a set S of linearly independent vectors and outputs a set of orthonormal vectors with the same size (as well as the same span) as S.



2. The procedure

The following procedure generates the 3-channel video projection:

Select two movies M1 and M2:

M1 = Alphaville (Jean-Luc Godard, 1965)

M2 = Witch’s Cradle (Maya Deren, with Marcel Duchamp, 1943).

Choose at random a set G of 72 linearly independent frames from M2 and then apply the Gram Schmidt procedure to G, thus generating a set of orthonormal vectors (“the database”). (1)

For every frame f in M1, compute the shadow cast by f onto every vector in the database as well as the reconstruction of f with respect to the database.

Display every frame f in M1 next to its reconstruction in the center image.

center screen with reconstruction and original frame

Display the shadows cast by f on every vector in the database on the right and left images.

left screen

right screen

The installation thus shows every frame in M1 together with its decomposition and reconstruction with respect to the database extracted from M2.

full installation view



If the number of vectors (frames) in the database is increased, the reconstruction of the original frame will also become more accurate. As the size of the database approaches the number of pixels in the frames, the accuracy of the reconstruction will also be enhanced.

Different reconstructions of the movie with an increased number of frames are shown in this video:


It would be possible to present various versions of this work in the same exhibition, each version using a different number of frames for the reconstruction.



(1) Strictly speaking, this installation could also have been produced using a database containing linearly independent (not necessarily orthonormal) frames. But the graphical variation of the frames in the database stands out more vividly if the vectors in the database are mutually orthogonal.


Theorem 8 was orginally developed as a three-channel video installation, but it also exists in single-channel format, which can be screened with or without a short mathematical introduction.

single-channel version without mathematical introduction

single-channel version with mathematical introduction

three-channel version (excerpt)


















School of Creative Media, CITY UNIVERSITY OF HONG KONG

Dept. of cinema studies, NEW YORK UNIVERSITY