Over a million developers have joined DZone.

Triangular Numbers and Simplices

DZone's Guide to

Triangular Numbers and Simplices

· Big Data Zone ·
Free Resource

The open source HPCC Systems platform is a proven, easy to use solution for managing data at scale. Visit our Easy Guide to learn more about this completely free platform, test drive some code in the online Playground, and get started today.

A couple weeks ago I posted a visual proof that

1 + 2 + 3 + \cdots + n = {n+1 \choose 2}

This says that the nth triangular number equals C(n+1, 2), the number of ways to choose two things from a set of n + 1 things.

I recently ran across a similar proof here. A simplex is a generalization of a triangle, and you can prove the equation above by counting the number of edges in simplices.

A 0-simplex is just a point. To make a 1-simplex, add another point and connect the two points with an edge. A 1-simplex is a line segment.

To make a 2-simplex, add a point not on the line segment and add two new edges, one to each vertex of the line segment. A 2-simplex is a triangle.

To make a 3-simplex, add point above the triangle and add three new edges, one to each vertex of the triangle. A 3-simplex is a tetrahedron.

Now proceed by analogy in higher dimensions. To make an an n-simplex, start with an n-1 simplex and add one new vertex and n new edges. This construction shows that the number of edges in an n simplex is 1 + 2 + 3 + … + n.

Another way to count edges is to note that an n-simplex has n+1 vertices and an edge between every pair of vertices. So an n simplex has C(n+1, 2) edges. So C(n+1, 2) must equal 1 + 2 + 3 + … + n.

Managing data at scale doesn’t have to be hard. Find out how the completely free, open source HPCC Systems platform makes it easier to update, easier to program, easier to integrate data, and easier to manage clusters. Download and get started today.


Published at DZone with permission of

Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}