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

# math(3tcl)

Tcl Math Library

```

```

## NAME

math - Tcl Math Library

## SYNOPSIS

package require **Tcl 8.5 9**

package require **math ?1.2.6?**

**::math::cov** *value* *value* ?*value ...*?

**::math::integrate** *list of xy value pairs*

**::math::fibonacci** *n*

**::math::max** *value* ?*value ...*?

**::math::mean** *value* ?*value ...*?

**::math::min** *value* ?*value ...*?

**::math::product** *value* ?*value ...*?

**::math::random** ?*value1*? ?*value2*?

**::math::sigma** *value* *value* ?*value ...*?

**::math::stats** *value* *value* ?*value ...*?

**::math::sum** *value* ?*value ...*?

```

```

## DESCRIPTION

The **math** package provides utility math functions.

Besides a set of basic commands, available via the package *math*, there are more specialised packages:

- •

  **math::bigfloat** - Arbitrary-precision floating-point arithmetic

- •

  **math::bignum** - Arbitrary-precision integer arithmetic

- •

  **math::calculus::romberg** - Robust integration methods for functions of one variable, using Romberg integration

- •

  **math::calculus** - Integration of functions, solving ordinary differential equations

- •

  **math::combinatorics** - Procedures for various combinatorial functions (for instance the Gamma function and "k out of n")

- •

  **math::complexnumbers** - Complex number arithmetic

- •

  **math::constants** - A set of well-known mathematical constants, such as Pi, E, and the golden ratio

- •

  **math::fourier** - Discrete Fourier transforms

- •

  **math::fuzzy** - Fuzzy comparisons of floating-point numbers

- •

  **math::geometry** - 2D geometrical computations

- •

  **math::interpolate** - Various interpolation methods

- •

  **math::linearalgebra** - Linear algebra package

- •

  **math::optimize** - Optimization methods

- •

  **math::polynomials** - Polynomial arithmetic (includes families of classical polynomials)

- •

  **math::rationalfunctions** - Arithmetic of rational functions

- •

  **math::roman** - Manipulation (including arithmetic) of Roman numerals

- •

  **math::special** - Approximations of special functions from mathematical physics

- •

  **math::statistics** - Statistical operations and tests

## BASIC COMMANDS

- **::math::cov** *value* *value* ?*value ...*?

  Return the coefficient of variation expressed as percent of two or more numeric values.

- **::math::integrate** *list of xy value pairs*

  Return the area under a "curve" defined by a set of x,y pairs and the error bound as a list.

- **::math::fibonacci** *n*

  Return the *n*'th Fibonacci number.

- **::math::max** *value* ?*value ...*?

  Return the maximum of one or more numeric values.

- **::math::mean** *value* ?*value ...*?

  Return the mean, or "average" of one or more numeric values.

- **::math::min** *value* ?*value ...*?

  Return the minimum of one or more numeric values.

- **::math::product** *value* ?*value ...*?

  Return the product of one or more numeric values.

- **::math::random** ?*value1*? ?*value2*?

  Return a random number.  If no arguments are given, the number is a floating point value between 0 and 1.  If one argument is given, the number is an integer value between 0 and *value1*.  If two arguments are given, the number is an integer value between *value1* and *value2*.

- **::math::sigma** *value* *value* ?*value ...*?

  Return the sample standard deviation of two or more numeric values.

- **::math::stats** *value* *value* ?*value ...*?

  Return the mean, standard deviation, and coefficient of variation (as percent) as a list.

- **::math::sum** *value* ?*value ...*?

  Return the sum of one or more numeric values.

## BUGS, IDEAS, FEEDBACK

This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category *math* 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

math, statistics

## CATEGORY

Mathematics
