---
name: "figurate"
section: "3tcl"
platform: "linux"
package: "tcllib"
version: "2.0+dfsg-4"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/figurate"
---

# figurate(3tcl)

Evaluate figurate numbers

```

```

## NAME

math::figurate - Evaluate figurate numbers

## SYNOPSIS

package require **Tcl 8.6 9**

package require **math::figurate 1.0**

**::math::figurate::sum\_sequence** *n*

**::math::figurate::sum\_squares** *n*

**::math::figurate::sum\_cubes** *n*

**::math::figurate::sum\_4th\_power** *n*

**::math::figurate::sum\_5th\_power** *n*

**::math::figurate::sum\_6th\_power** *n*

**::math::figurate::sum\_7th\_power** *n*

**::math::figurate::sum\_8th\_power** *n*

**::math::figurate::sum\_9th\_power** *n*

**::math::figurate::sum\_10th\_power** *n*

**::math::figurate::sum\_sequence\_odd** *n*

**::math::figurate::sum\_squares\_odd** *n*

**::math::figurate::sum\_cubes\_odd** *n*

**::math::figurate::sum\_4th\_power\_odd** *n*

**::math::figurate::sum\_5th\_power\_odd** *n*

**::math::figurate::sum\_6th\_power\_odd** *n*

**::math::figurate::sum\_7th\_power\_odd** *n*

**::math::figurate::sum\_8th\_power\_odd** *n*

**::math::figurate::sum\_9th\_power\_odd** *n*

**::math::figurate::sum\_10th\_power\_odd** *n*

**::math::figurate::oblong** *n*

**::math::figurate::pronic** *n*

**::math::figurate::triangular** *n*

**::math::figurate::square** *n*

**::math::figurate::cubic** *n*

**::math::figurate::biquadratic** *n*

**::math::figurate::centeredTriangular** *n*

**::math::figurate::centeredSquare** *n*

**::math::figurate::centeredPentagonal** *n*

**::math::figurate::centeredHexagonal** *n*

**::math::figurate::centeredCube** *n*

**::math::figurate::decagonal** *n*

**::math::figurate::heptagonal** *n*

**::math::figurate::hexagonal** *n*

**::math::figurate::octagonal** *n*

**::math::figurate::octahedral** *n*

**::math::figurate::pentagonal** *n*

**::math::figurate::squarePyramidral** *n*

**::math::figurate::tetrahedral** *n*

**::math::figurate::pentatope** *n*

```

```

## DESCRIPTION

Sums of numbers that follow a particular pattern are called figurate numbers. A simple example is the sum of integers 1, 2, ... up to n. You can arrange 1, 1+2=3, 1+2+3=6, ... objects in a triangle, hence the name triangular numbers:

```
       *
       *  *
       *  *  *
       *  *  *  *
       ...
```

The **math::figurate** package consists of a collection of procedures to evaluate a wide variety of figurate numbers. While all formulae are straightforward, the details are sometimes puzzling. *Note:* The procedures consider arguments lower than zero as to mean "no objects to be counted" and therefore return 0.

## PROCEDURES

The procedures can be arranged in a few categories: sums of integers raised to a particular power, sums of odd integers and general figurate numbers, for instance the pentagonal numbers.

- **::math::figurate::sum\_sequence** *n*

  Return the sum of integers 1, 2, ..., n.

  - int *n*

    Highest integer in the sum

- **::math::figurate::sum\_squares** *n*

  Return the sum of squares 1\*\*2, 2\*\*2, ..., n\*\*2.

  - int *n*

    Highest base integer in the sum

- **::math::figurate::sum\_cubes** *n*

  Return the sum of cubes 1\*\*3, 2\*\*3, ..., n\*\*3.

  - int *n*

    Highest base integer in the sum

- **::math::figurate::sum\_4th\_power** *n*

  Return the sum of 4th powers 1\*\*4, 2\*\*4, ..., n\*\*4.

  - int *n*

    Highest base integer in the sum

- **::math::figurate::sum\_5th\_power** *n*

  Return the sum of 5th powers 1\*\*5, 2\*\*5, ..., n\*\*5.

  - int *n*

    Highest base integer in the sum

- **::math::figurate::sum\_6th\_power** *n*

  Return the sum of 6th powers 1\*\*6, 2\*\*6, ..., n\*\*6.

  - int *n*

    Highest base integer in the sum

- **::math::figurate::sum\_7th\_power** *n*

  Return the sum of 7th powers 1\*\*7, 2\*\*7, ..., n\*\*7.

  - int *n*

    Highest base integer in the sum

- **::math::figurate::sum\_8th\_power** *n*

  Return the sum of 8th powers 1\*\*8, 2\*\*8, ..., n\*\*8.

  - int *n*

    Highest base integer in the sum

- **::math::figurate::sum\_9th\_power** *n*

  Return the sum of 9th powers 1\*\*9, 2\*\*9, ..., n\*\*9.

  - int *n*

    Highest base integer in the sum

- **::math::figurate::sum\_10th\_power** *n*

  Return the sum of 10th powers 1\*\*10, 2\*\*10, ..., n\*\*10.

  - int *n*

    Highest base integer in the sum

- **::math::figurate::sum\_sequence\_odd** *n*

  Return the sum of odd integers 1, 3, ..., 2n-1

  - int *n*

    Highest integer in the sum

- **::math::figurate::sum\_squares\_odd** *n*

  Return the sum of odd squares 1\*\*2, 3\*\*2, ..., (2n-1)\*\*2.

  - int *n*

    Highest base integer in the sum

- **::math::figurate::sum\_cubes\_odd** *n*

  Return the sum of odd cubes 1\*\*3, 3\*\*3, ..., (2n-1)\*\*3.

  - int *n*

    Highest base integer in the sum

- **::math::figurate::sum\_4th\_power\_odd** *n*

  Return the sum of odd 4th powers 1\*\*4, 2\*\*4, ..., (2n-1)\*\*4.

  - int *n*

    Highest base integer in the sum

- **::math::figurate::sum\_5th\_power\_odd** *n*

  Return the sum of odd 5th powers 1\*\*5, 2\*\*5, ..., (2n-1)\*\*5.

  - int *n*

    Highest base integer in the sum

- **::math::figurate::sum\_6th\_power\_odd** *n*

  Return the sum of odd 6th powers 1\*\*6, 2\*\*6, ..., (2n-1)\*\*6.

  - int *n*

    Highest base integer in the sum

- **::math::figurate::sum\_7th\_power\_odd** *n*

  Return the sum of odd 7th powers 1\*\*7, 2\*\*7, ..., (2n-1)\*\*7.

  - int *n*

    Highest base integer in the sum

- **::math::figurate::sum\_8th\_power\_odd** *n*

  Return the sum of odd 8th powers 1\*\*8, 2\*\*8, ..., (2n-1)\*\*8.

  - int *n*

    Highest base integer in the sum

- **::math::figurate::sum\_9th\_power\_odd** *n*

  Return the sum of odd 9th powers 1\*\*9, 2\*\*9, ..., (2n-1)\*\*9.

  - int *n*

    Highest base integer in the sum

- **::math::figurate::sum\_10th\_power\_odd** *n*

  Return the sum of odd 10th powers 1\*\*10, 2\*\*10, ..., (2n-1)\*\*10.

  - int *n*

    Highest base integer in the sum

- **::math::figurate::oblong** *n*

  Return the nth oblong number (twice the nth triangular number)

  - int *n*

    Required index

- **::math::figurate::pronic** *n*

  Return the nth pronic number (synonym for oblong)

  - int *n*

    Required index

- **::math::figurate::triangular** *n*

  Return the nth triangular number

  - int *n*

    Required index

- **::math::figurate::square** *n*

  Return the nth square number

  - int *n*

    Required index

- **::math::figurate::cubic** *n*

  Return the nth cubic number

  - int *n*

    Required index

- **::math::figurate::biquadratic** *n*

  Return the nth biquaratic number (i.e. n\*\*4)

  - int *n*

    Required index

- **::math::figurate::centeredTriangular** *n*

  Return the nth centered triangular number (items arranged in concentric squares)

  - int *n*

    Required index

- **::math::figurate::centeredSquare** *n*

  Return the nth centered square number (items arranged in concentric squares)

  - int *n*

    Required index

- **::math::figurate::centeredPentagonal** *n*

  Return the nth centered pentagonal number (items arranged in concentric pentagons)

  - int *n*

    Required index

- **::math::figurate::centeredHexagonal** *n*

  Return the nth centered hexagonal number (items arranged in concentric hexagons)

  - int *n*

    Required index

- **::math::figurate::centeredCube** *n*

  Return the nth centered cube number (items arranged in concentric cubes)

  - int *n*

    Required index

- **::math::figurate::decagonal** *n*

  Return the nth decagonal number (items arranged in decagons with one common vertex)

  - int *n*

    Required index

- **::math::figurate::heptagonal** *n*

  Return the nth heptagonal number (items arranged in heptagons with one common vertex)

  - int *n*

    Required index

- **::math::figurate::hexagonal** *n*

  Return the nth hexagonal number (items arranged in hexagons with one common vertex)

  - int *n*

    Required index

- **::math::figurate::octagonal** *n*

  Return the nth octagonal number (items arranged in octagons with one common vertex)

  - int *n*

    Required index

- **::math::figurate::octahedral** *n*

  Return the nth octahedral number (items arranged in octahedrons with a common centre)

  - int *n*

    Required index

- **::math::figurate::pentagonal** *n*

  Return the nth pentagonal number (items arranged in pentagons with one common vertex)

  - int *n*

    Required index

- **::math::figurate::squarePyramidral** *n*

  Return the nth square pyramidral number (items arranged in a square pyramid)

  - int *n*

    Required index

- **::math::figurate::tetrahedral** *n*

  Return the nth tetrahedral number (items arranged in a triangular pyramid)

  - int *n*

    Required index

- **::math::figurate::pentatope** *n*

  Return the nth pentatope number (items arranged in the four-dimensional analogue of a triangular pyramid)

  - int *n*

    Required index

## BUGS, IDEAS, FEEDBACK

This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category *math :: figurate* of the *Tcllib Trackers* \[http://core.tcl.tk/tcllib/reportlist\]. Please also report any ideas for enhancements you may have for either package and/or documentation.

When proposing code changes, please provide *unified diffs*, i.e the output of **diff -u**.

Note further that *attachments* are strongly preferred over inlined patches. Attachments can be made by going to the **Edit** form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.

## KEYWORDS

figurate numbers, mathematics

## CATEGORY

Mathematics
