Jump to navigation

Namespace: math

Numbas.math

Mathematical functions, providing stuff that the built-in Math object doesn't.

Source:

Members

(static) primes

The first 1000 primes.

Source:

(static) re_scientificNumber :RegExp

Regex to match numbers in scientific notation.

Type:
Source:

Methods

(static) abs(n) → {number}

Magnitude of a number - absolute value of a real; modulus of a complex number.

Parameters:
Name Type Description
n number
Returns:
Type Description
number
Source:

(static) add(a, b) → {number}

Add two numbers.

Parameters:
Name Type Description
a number
b number
Returns:
Type Description
number
Source:

(static) addDigits(n, digits) → {string}

Add the given number of zero digits to a string representation of a number.

Parameters:
Name Type Description
n string

A string representation of a number.

digits number

The number of digits to add.

Returns:
Type Description
string
Source:

(static) arccos(x) → {number}

Inverse cosine.

Parameters:
Name Type Description
x number
Returns:
Type Description
number
Source:

(static) arccosh(x) → {number}

Inverse hyperbolic cosine.

Parameters:
Name Type Description
x number
Returns:
Type Description
number
Source:

(static) arcsin(x) → {number}

Inverse sine.

Parameters:
Name Type Description
x number
Returns:
Type Description
number
Source:

(static) arcsinh(x) → {number}

Inverse hyperbolic sine.

Parameters:
Name Type Description
x number
Returns:
Type Description
number
Source:

(static) arctan(x) → {number}

Inverse tangent.

Parameters:
Name Type Description
x number
Returns:
Type Description
number
Source:

(static) arctanh(x) → {number}

Inverse hyperbolic tangent.

Parameters:
Name Type Description
x number
Returns:
Type Description
number
Source:

(static) arg(n) → {number}

Argument of a (complex) number.

Parameters:
Name Type Description
n number
Returns:
Type Description
number
Source:

(static) atan2(y, x) → {number}

Angle between x-axis and the line through the origin and (x,y).

Parameters:
Name Type Description
y number
x number
Returns:
Type Description
number
Source:

(static) binomialCoefficients(n) → {Array.<number>}

Calculate the Nth row of Pascal's triangle.

Parameters:
Name Type Description
n number
Returns:
Type Description
Array.<number>
Source:

(static) ceil(x) → {number}

Round up to the nearest integer. For complex numbers, real and imaginary parts are rounded independently.

Parameters:
Name Type Description
x number
Returns:
Type Description
number
Source:
See:

(static) choose(selection) → {*}

Choose one item from an array, at random.

Parameters:
Name Type Description
selection Array
Throws:

"math.choose.empty selection" if selection has length 0.

Type
Numbas.Error
Returns:
Type Description
*
Source:
See:

(static) combinations(n, k) → {number}

nCk - number of ways of picking k unordered elements from n.

Parameters:
Name Type Description
n number
k number
Throws:

"math.combinations.complex" if either of n or k is complex.

Type
Numbas.Error
Returns:
Type Description
number
Source:

(static) complex(re, im) → {complex}

Construct a complex number from real and imaginary parts.

Elsewhere in this documentation, {number} will refer to either a JavaScript float or a complex object, interchangeably.

Parameters:
Name Type Description
re number
im number
Returns:
Type Description
complex
Source:

(static) complexToString() → {string}

String version of a complex number.

Returns:
Type Description
string
Source:
See:

(static) conjugate(n) → {number}

Complex conjugate.

Parameters:
Name Type Description
n number
Returns:
Type Description
number
Source:

(static) coprime(a, b) → {boolean}

Are a and b coprime? If either of a or b is not an integer, return false. Equivalent to gcd(a,b) = 1.

Parameters:
Name Type Description
a number
b number
Returns:
Type Description
boolean
Source:
See:

(static) cos(x) → {number}

Cosine.

Parameters:
Name Type Description
x number
Returns:
Type Description
number
Source:

(static) cosec(x) → {number}

Cosecant.

Parameters:
Name Type Description
x number
Returns:
Type Description
number
Source:

(static) cosech(x) → {number}

Hyperbolic cosecant.

Parameters:
Name Type Description
x number
Returns:
Type Description
number
Source:

(static) cosh(x) → {number}

Hyperbolic cosine.

Parameters:
Name Type Description
x number
Returns:
Type Description
number
Source:

(static) cot(x) → {number}

Cotangent.

Parameters:
Name Type Description
x number
Returns:
Type Description
number
Source:

(static) coth(x) → {number}

Hyperbolic tangent.

Parameters:
Name Type Description
x number
Returns:
Type Description
number
Source:

(static) countDP(n) → {number}

Count the number of decimal places used in the string representation of a number.

Parameters:
Name Type Description
n number | string
Returns:
Type Description
number
Source:

(static) countSigFigs(n, maxopt) → {number}

Calculate the significant figures precision of a number.

Parameters:
Name Type Attributes Description
n number | string

if a string, only the "plain" number format or scientific notation is expected. Strings representing numbers should be cleaned first, using Numbas.util.cleanNumber.

max boolean <optional>

Be generous with calculating sig. figs. for whole numbers. e.g. '1000' could be written to 4 sig figs.

Returns:
Type Description
number
Source:

(static) deal(N) → {Array.<number>}

Get a random shuffling of the numbers [0..n-1].

Parameters:
Name Type Description
N number
Returns:
Type Description
Array.<number>
Source:

(static) defineRange(a, b) → {range}

Write the range of integers [a..b] as an array of the form [min,max,step], for use with Numbas.math.random. If either number is complex, only the real part is used.

Parameters:
Name Type Description
a number
b number
Returns:
Type Description
range
Source:
See:

(static) degrees(x) → {number}

Convert from radians to degrees.

Parameters:
Name Type Description
x number
Returns:
Type Description
number
Source:
See:

(static) div(a, b) → {number}

Divide one number by another.

Parameters:
Name Type Description
a number
b number
Returns:
Type Description
number
Source:

(static) divides(a, b) → {boolean}

Does a divide b? If either of a or b is not an integer, return false.

Parameters:
Name Type Description
a number
b number
Returns:
Type Description
boolean
Source:

(static) divisors(n) → {Array.<number>}

Divisors of n. When n = 210, this returns the divisors [1, 2, 3, 5, 6, 7, 10, 14, 15, 21, 30, 35, 42, 70, 105, 210].

Parameters:
Name Type Description
n number
Returns:
Type Description
Array.<number>
  • Divisors of n.
Source:

(static) eq(a, b) → {boolean}

Is a equal to b?

Parameters:
Name Type Description
a number
b number
Returns:
Type Description
boolean
Source:

(static) except(range, exclude) → {Array.<number>}

Remove all the values in the list exclude from the list range.

Parameters:
Name Type Description
range Array.<number>
exclude Array.<number>
Returns:
Type Description
Array.<number>
Source:

(static) exp(n) → {number}

Calculate e^n.

Parameters:
Name Type Description
n number
Returns:
Type Description
number
Source:

(static) factorial(n) → {number}

Factorial, or Gamma(n+1) if n is not a positive integer.

Parameters:
Name Type Description
n number
Returns:
Type Description
number
Source:

(static) factorise(n) → {Array.<number>}

Factorise n. When n=2^(a1)*3^(a2)*5^(a3)*..., this returns the powers [a1,a2,a3,...].

Parameters:
Name Type Description
n number
Returns:
Type Description
Array.<number>
  • Exponents of the prime factors of n.
Source:

(static) floor(x) → {number}

Round down to the nearest integer. For complex numbers, real and imaginary parts are rounded independently.

Parameters:
Name Type Description
x number
Returns:
Type Description
number
Source:
See:

(static) fract(x) → {number}

Fractional part of a number - Take away the whole number part. For complex numbers, real and imaginary parts are rounded independently.

Parameters:
Name Type Description
x number
Returns:
Type Description
number
Source:
See:

(static) gamma(n) → {number}

Lanczos approximation to the gamma function.

Parameters:
Name Type Description
n number
Returns:
Type Description
number
Source:

(static) gcd(a, b) → {number}

Greatest common factor (GCF), or greatest common divisor (GCD), of a and b.

Parameters:
Name Type Description
a number
b number
Throws:

"math.gcf.complex" if either of a or b is complex.

Type
Numbas.Error
Returns:
Type Description
number
Source:

(static) geq(a, b) → {boolean}

Is a greater than or equal to b?

Parameters:
Name Type Description
a number
b number
Throws:

math.order complex numbers if a or b are complex numbers.

Type
Numbas.Error
Returns:
Type Description
boolean
Source:

(static) gt(a, b) → {boolean}

Is a greater than b?

Parameters:
Name Type Description
a number
b number
Throws:

math.order complex numbers if a or b are complex numbers.

Type
Numbas.Error
Returns:
Type Description
boolean
Source:

(static) im(n) → {number}

Imaginary part of a number.

Parameters:
Name Type Description
n number
Returns:
Type Description
number
Source:

(static) integer_partitions(n, k) → {Array.<Array.<number>>}

Produce all of the ordered partitions of the integer n into k parts.

Parameters:
Name Type Description
n number
k number
Returns:
Type Description
Array.<Array.<number>>
Source:

(static) inverse(l) → {Array.<number>}

Calculate the inverse of a shuffling.

Parameters:
Name Type Description
l Array.<number>
Returns:
Type Description
Array.<number>

l

Source:
See:

(static) is_scalar_multiple(u, v, rel_tolopt, abs_tolopt) → {boolean}

Is u a scalar multiple v?

Parameters:
Name Type Attributes Default Description
u Array
v Array
rel_tol number <optional>
1e-15

Relative tolerance: amount of error relative to max(abs(a),abs(b)).

abs_tol number <optional>
1e-15

Absolute tolerance: maximum absolute difference between a and b.

Returns:
Type Description
boolean
Source:

(static) isclose(a, b, rel_tolopt, abs_tolopt) → {boolean}

Is a close to b?

Parameters:
Name Type Attributes Default Description
a number
b number
rel_tol number <optional>
1e-15

Relative tolerance: amount of error relative to max(abs(a),abs(b)).

abs_tol number <optional>
1e-15

Absolute tolerance: maximum absolute difference between a and b.

Returns:
Type Description
boolean
Source:

(static) largest_square_factor(n) → {number}

The largest perfect square factor of the given number.

When the prime factorisation of n is p_1^x_1 * p_2^x_2 ... p_k^x_k, the largest perfect square factor is p_1^(2*floor(x_1/2)) * ... p_k^(2*floor(x_k)/2).

Parameters:
Name Type Description
n number
Returns:
Type Description
number
Source:

(static) lcm(a, b) → {number}

Lowest common multiple (LCM) of a and b.

Parameters:
Name Type Description
a number
b number
Throws:

"math.gcf.complex" if either of a or b is complex.

Type
Numbas.Error
Returns:
Type Description
number
Source:

(static) leq(a, b) → {boolean}

Is a less than or equal to b?

Parameters:
Name Type Description
a number
b number
Throws:

math.order complex numbers if a or b are complex numbers.

Type
Numbas.Error
Returns:
Type Description
boolean
Source:

(static) listmax(numbers, maxfnopt) → {number}

Greatest of a list of numbers.

Parameters:
Name Type Attributes Default Description
numbers Array
maxfn function <optional>
Numbas.math.max

A function which returns the maximum of two values.

Throws:

math.order complex numbers if any element of the list is complex.

Type
Numbas.Error
Returns:
Type Description
number
Source:

(static) listmin(numbers, minfnopt) → {number}

Least of a list of numbers.

Parameters:
Name Type Attributes Default Description
numbers Array
minfn function <optional>
Numbas.math.min

A function which returns the minimum of two values.

Throws:

math.order complex numbers if any element of the list is complex.

Type
Numbas.Error
Returns:
Type Description
number
Source:

(static) log(n) → {number}

Natural logarithm (base e).

Parameters:
Name Type Description
n number
Returns:
Type Description
number
Source:

(static) log10(n) → {number}

Base-10 logarithm.

Parameters:
Name Type Description
n number
Returns:
Type Description
number
Source:

(static) log_base(n, b) → {number}

Arbitrary base logarithm.

Parameters:
Name Type Description
n number
b number
Returns:
Type Description
number

log(n)/log(b)

Source:

(static) lt(a, b) → {boolean}

Is a less than b?

Parameters:
Name Type Description
a number
b number
Throws:

math.order complex numbers if a or b are complex numbers.

Type
Numbas.Error
Returns:
Type Description
boolean
Source:

(static) max(a, b) → {number}

Greatest of two numbers - wraps Math.max.

Parameters:
Name Type Description
a number
b number
Throws:

math.order complex numbers if a or b are complex numbers.

Type
Numbas.Error
Returns:
Type Description
number
Source:

(static) min(a, b) → {number}

Least of two numbers - wraps Math.min.

Parameters:
Name Type Description
a number
b number
Throws:

math.order complex numbers if a or b are complex numbers.

Type
Numbas.Error
Returns:
Type Description
number
Source:

(static) mod(a, b) → {number}

a mod b. Always returns a positive number.

Parameters:
Name Type Description
a number
b number
Returns:
Type Description
number
Source:

(static) mul(a, b) → {number}

Multiply two numbers.

Parameters:
Name Type Description
a number
b number
Returns:
Type Description
number
Source:

(static) negate(n) → {number}

Negate a number.

Parameters:
Name Type Description
n number
Returns:
Type Description
number
Source:

(static) negative(n) → {boolean}

Is n negative (Real, and less than 0)?

Parameters:
Name Type Description
n number
Returns:
Type Description
boolean
Source:

(static) neq(a, b) → {boolean}

Are a and b unequal?

Parameters:
Name Type Description
a number
b number
Returns:
Type Description
boolean
Source:
See:

(static) niceComplexDecimal(n, options) → {string}

Display a Numbas.math.ComplexDecimal as a string.

Parameters:
Name Type Description
n Numbas.math.ComplexDecimal
options Numbas.math.niceNumber_settings
Returns:
Type Description
string
Source:
See:

(static) niceDecimal(n, options) → {string}

Display a Decimal as a string.

Parameters:
Name Type Description
n Decimal
options Numbas.math.niceNumber_settings
Returns:
Type Description
string
Source:
See:

(static) niceNumber(n, options) → {string}

Display a number nicely - rounds off to 10dp so floating point errors aren't displayed.

Parameters:
Name Type Description
n number
options Numbas.math.niceNumber_settings
Returns:
Type Description
string
Source:
See:

(static) niceRealNumber(n, options) → {string}

Display a real number nicely. Unlike Numbas.math.niceNumber, doesn't deal with complex numbers or multiples of pi.

Parameters:
Name Type Description
n number
options Numbas.math.niceNumber_settings
Returns:
Type Description
string
Source:
See:

(static) nonnegative(n) → {boolean}

Is n nonnegative (Real, and greater than or equal to 0)?

Parameters:
Name Type Description
n number
Returns:
Type Description
boolean
Source:

(static) numberToDecimal(x) → {Decimal}

Convert a JS Number to a Decimal.

Parameters:
Name Type Description
x number
Returns:
Type Description
Decimal
Source:

(static) parseScientific(str, parseopt) → {object}

Get the significand and exponent of a number written in exponential form.

Parameters:
Name Type Attributes Default Description
str string
parse boolean <optional>
true

Parse the significand and exponent values to numbers, or leave them as strings?

Returns:
Type Description
object

{significand: number, exponent: number} if parse is true, or {significand: string, exponent: string}

Source:

(static) permutations(n, k) → {number}

nPk - number of ways of picking k ordered elements from n.

Parameters:
Name Type Description
n number
k number
Throws:

"math.combinations.complex" if either of n or k is complex.

Type
Numbas.Error
Returns:
Type Description
number
Source:

(static) piDegree(n, allowFractionsopt) → {number}

If n can be written in the form a*pi^n, with a an integer, return the biggest possible n, otherwise return 0. Also returns 1 for n of the form pi/k, with k an integer < 1000 if the parameter allowFractions is true.

Parameters:
Name Type Attributes Default Description
n number
allowFractions boolean <optional>
true

return 1 if n is of the form pi/k, for some integer k < 1000.

Returns:
Type Description
number
Source:

(static) positive(n) → {boolean}

Is n positive (Real, and greater than 0)?

Parameters:
Name Type Description
n number
Returns:
Type Description
boolean
Source:

(static) pow(a, b) → {number}

Exponentiate a number.

Parameters:
Name Type Description
a number
b number
Returns:
Type Description
number
Source:

(static) precround(a, b) → {number}

Round a to b decimal places. Real and imaginary parts of complex numbers are rounded independently.

Parameters:
Name Type Description
a number
b number
Throws:

"math.precround.complex" if b is complex.

Type
Numbas.Error
Returns:
Type Description
number
Source:

(static) prod(list) → {number}

Multiplies the elements in the given list.

Parameters:
Name Type Description
list Array.<number>
Returns:
Type Description
number
Source:

(static) proper_divisors(n) → {Array.<number>}

Proper divisors of n: the divisors of n, excluding n itself. When n = 210, this returns the divisors [2, 3, 5, 6, 7, 10, 14, 15, 21, 30, 35, 42, 70, 105].

Parameters:
Name Type Description
n number
Returns:
Type Description
Array.<number>
  • Proper divisors of n.
Source:

(static) radians(x) → {number}

Convert from degrees to radians.

Parameters:
Name Type Description
x number
Returns:
Type Description
number
Source:
See:

(static) random(range) → {number}

Get a random number in the specified range.

Returns a random choice from min to max at step-sized intervals

If all the values in the range are appended to the list, eg [min,max,step,v1,v2,v3,...], just pick randomly from the values.

Parameters:
Name Type Description
range range

[min,max,step]

Returns:
Type Description
number
Source:
See:

(static) random_integer_partition(n, k) → {Array.<number>}

A random partition of the integer n into k non-zero parts.

Parameters:
Name Type Description
n number
k number
Returns:
Type Description
Array.<number>
  • A list of k numbers whose sum is n.
Source:

(static) randomint(n) → {number}

Get a random number in range [0..n-1].

Parameters:
Name Type Description
n number
Returns:
Type Description
number
Source:

(static) randomrange(min, max) → {number}

Get a random real number between min and max (inclusive).

Parameters:
Name Type Description
min number
max number
Returns:
Type Description
number
Source:
See:

(static) rangeSize(range) → {number}

Calculate the number of elements in a range.

Parameters:
Name Type Description
range range
Returns:
Type Description
number
Source:

(static) rangeSteps(range, step) → {range}

Change the step size of a range created with Numbas.math.defineRange.

Parameters:
Name Type Description
range range
step number
Returns:
Type Description
range
Source:

(static) rangeToDecimalList(range) → {Array.<Decimal>}

Convert a range to a list of Decimal values - enumerate all the elements of the range.

Parameters:
Name Type Description
range range
Returns:
Type Description
Array.<Decimal>
Source:

(static) rangeToList(range) → {Array.<number>}

Convert a range to a list - enumerate all the elements of the range.

Parameters:
Name Type Description
range range
Returns:
Type Description
Array.<number>
Source:

(static) rationalApproximation(n, accuracyopt) → {Array.<number>}

Get a rational approximation to a real number by the continued fractions method.

If accuracy is given, the returned answer will be within Math.exp(-accuracy) of the original number.

Based on frap.c by David Eppstein - https://www.ics.uci.edu/~eppstein/numth/frap.c.

Parameters:
Name Type Attributes Description
n number
accuracy number <optional>
Returns:
Type Description
Array.<number>
  • [numerator,denominator]
Source:

(static) re(n) → {number}

Real part of a number.

Parameters:
Name Type Description
n number
Returns:
Type Description
number
Source:

(static) reorder(list, order) → {Array}

Reorder a list given a permutation. The ith element of the output is the order[i]th element of list.

Parameters:
Name Type Description
list Array

The list to reorder.

order Array.<number>

The permutation to apply.

Returns:
Type Description
Array
Source:

(static) root(a, b) → {number}

Calculate the b-th root of a.

Parameters:
Name Type Description
a number
b number
Returns:
Type Description
number
Source:

(static) round(x) → {number}

Round to the nearest integer; fractional part >= 0.5 rounds up. For complex numbers, real and imaginary parts are rounded independently.

Parameters:
Name Type Description
x number
Returns:
Type Description
number
Source:
See:

(static) sec(x) → {number}

Secant.

Parameters:
Name Type Description
x number
Returns:
Type Description
number
Source:

(static) sech(x) → {number}

Hyperbolic secant.

Parameters:
Name Type Description
x number
Returns:
Type Description
number
Source:

(static) shuffle(list) → {Array}

Randomly shuffle a list. Returns a new list - the original is unmodified.

Parameters:
Name Type Description
list Array
Returns:
Type Description
Array
Source:

(static) shuffle_together(lists) → {Array.<Array>}

Shuffle a number of lists together - each list has the same permutation of its elements applied. The lists must all be the same length, otherwise an error is thrown.

Parameters:
Name Type Description
lists Array.<Array>

The lists to reorder.

Returns:
Type Description
Array.<Array>
Source:

(static) sign(x) → {number}

Sign of a number - +1, 0, or -1. For complex numbers, gives the sign of the real and imaginary parts separately.

Parameters:
Name Type Description
x number
Returns:
Type Description
number
Source:

(static) siground(a, b) → {number}

Round a to b significant figures. Real and imaginary parts of complex numbers are rounded independently.

Parameters:
Name Type Description
a number
b number
Throws:

"math.precround.complex" if b is complex.

Type
Numbas.Error
Returns:
Type Description
number
Source:

(static) sin(x) → {number}

Sine.

Parameters:
Name Type Description
x number
Returns:
Type Description
number
Source:

(static) sinh(x) → {number}

Hyperbolic sine.

Parameters:
Name Type Description
x number
Returns:
Type Description
number
Source:

(static) sqrt(n) → {number}

Square root.

Parameters:
Name Type Description
n number
Returns:
Type Description
number
Source:

(static) sub(a, b) → {number}

Subtract one number from another.

Parameters:
Name Type Description
a number
b number
Returns:
Type Description
number
Source:

(static) sum(list) → {number}

Sum the elements in the given list.

Parameters:
Name Type Description
list Array.<number>
Returns:
Type Description
number
Source:

(static) tan(x) → {number}

Tangent.

Parameters:
Name Type Description
x number
Returns:
Type Description
number
Source:

(static) tanh(x) → {number}

Hyperbolic tangent.

Parameters:
Name Type Description
x number
Returns:
Type Description
number
Source:

(static) toGivenPrecision(n, precisionType, precision, strictPrecision) → {boolean}

Is n given to the desired precision?

Parameters:
Name Type Description
n number | string
precisionType string

Either 'dp' or 'sigfig'.

precision number

Number of desired digits of precision.

strictPrecision boolean

Must trailing zeros be used to get to the desired precision (true), or is it allowed to give fewer digits in that case (false)?

Returns:
Type Description
boolean
Source:

(static) toGivenPrecisionScientific(n, precisionType, precision) → {boolean}

Is n given as a scientific number to the desired precision?

This looks only at the significand part. A significand of the form D.DD is considered to be given to 2 decimal places, or three significant figures.

Trailing zeros must be given: 1.2 is only considered to be given to 1 decimal place, and 1.20 is only considered to be given to 2 decimal places.

Parameters:
Name Type Description
n number | string
precisionType string

Either 'dp' or 'sigfig'.

precision number

Number of desired digits of precision.

Returns:
Type Description
boolean
Source:
See:

(static) toNearest(x, a) → {number}

Round to the nearest multiple of a;For complex numbers, real and imaginary parts are rounded independently.

Parameters:
Name Type Description
x number
a number
Returns:
Type Description
number
Source:
See:

(static) trunc(x, popt) → {number}

Integer part of a number - chop off the fractional part. For complex numbers, real and imaginary parts are rounded independently. When p is given, truncate to that many decimal places.

Parameters:
Name Type Attributes Default Description
x number
p number <optional>
0
Returns:
Type Description
number
Source:
See:

(static) unscientific(str) → {string}

If the given string is scientific notation representing a number, return a string of the form \d+\.\d+. For example, '1.23e-5' is returned as '0.0000123'.

Parameters:
Name Type Description
str string
Returns:
Type Description
string
Source:

(static) weighted_random(list) → {*}

Choose at random from a weighted list of items.

Parameters:
Name Type Description
list Array

A list of pairs of the form [item, probability], where probability is a number.

Throws:

"math.choose.empty selection" if selection has length 0.

Type
Numbas.Error
Returns:
Type Description
*
Source:

(static) withinTolerance(a, b, tolerance) → {boolean}

Is a within +/- tolerance of b?

Parameters:
Name Type Description
a number
b number
tolerance number
Returns:
Type Description
boolean
Source:

Type Definitions

niceNumber_settings

Settings for Numbas.math.niceNumber.

Properties:
Name Type Attributes Default Description
precisionType string

Either "dp" or "sigfig".

precision number

Number of decimal places or significant figures to show.

style string

Name of a notational style to use. See Numbas.util.numberNotationStyles.

scientificStyle string

Name of a notational style to use for the significand in scientific notation. See Numbas.util.numberNotationStyles.

syntax string

The syntax to use for the rendered string. Either "plain" or "latex".

infinity string <optional>
"infinity"

The string to represent infinity.

imaginary_unit string <optional>
"i"

The symbol to represent the imaginary unit.

circle_constant object

An object with attributes scale and symbol for the circle constant. scale is the ratio of the circle constant to pi, and symbol is the string to use to represent it.

plaindecimal boolean

Render Decimal values without the dec("...") wrapper?

Source: