UNPKG

22 kBMarkdownView Raw
1# Function reference
2
3## Core functions
4
5Function | Description
6---- | -----------
7[math.config(config: Object): Object](functions/config.md) | Set configuration options for math.
8[math.import(object, override)](functions/import.md) | Import functions from an object or a module.
9[math.typed(name, signatures) : function](functions/typed.md) | Create a typed-function which checks the types of the arguments and can match them against multiple provided signatures.
10
11## Construction functions
12
13Function | Description
14---- | -----------
15[math.bignumber(x)](functions/bignumber.md) | Create a BigNumber, which can store numbers with arbitrary precision.
16[math.boolean(x)](functions/boolean.md) | Create a boolean or convert a string or number to a boolean.
17[math.chain(value)](functions/chain.md) | Wrap any value in a chain, allowing to perform chained operations on the value.
18[math.complex(re, im)](functions/complex.md) | Create a complex value or convert a value to a complex value.
19[math.createUnit(units)](functions/createUnit.md) | Create a user-defined unit and register it with the Unit type.
20[math.fraction(numerator, denominator)](functions/fraction.md) | Create a fraction convert a value to a fraction.
21[math.index(range1, range2, ...)](functions/index.md) | Create an index.
22[math.matrix(x)](functions/matrix.md) | Create a Matrix.
23[math.number(value)](functions/number.md) | Create a number or convert a string, boolean, or unit to a number.
24[math.sparse(x)](functions/sparse.md) | Create a Sparse Matrix.
25[math.splitUnit(unit, parts)](functions/splitUnit.md) | Split a unit in an array of units whose sum is equal to the original unit.
26[math.string(value)](functions/string.md) | Create a string or convert any object into a string.
27[math.unit(x)](functions/unit.md) | Create a unit.
28
29## Expression functions
30
31Function | Description
32---- | -----------
33[math.compile(expr)](functions/compile.md) | Parse and compile an expression.
34[math.eval(expr [, scope])](functions/eval.md) | Evaluate an expression.
35[math.help(search)](functions/help.md) | Retrieve help on a function or data type.
36[math.parse(expr [, scope])](functions/parse.md) | Parse an expression.
37[math.parser()](functions/parser.md) | Create a parser.
38
39## Algebra functions
40
41Function | Description
42---- | -----------
43[derivative(expr, variable)](functions/derivative.md) | Takes the derivative of an expression expressed in parser Nodes.
44[math.lsolve(L, b)](functions/lsolve.md) | Solves the linear equation system by forwards substitution.
45[math.lup(A)](functions/lup.md) | Calculate the Matrix LU decomposition with partial pivoting.
46[math.lusolve(A, b)](functions/lusolve.md) | Solves the linear system `A * x = b` where `A` is an [n x n] matrix and `b` is a [n] column vector.
47[math.qr(A)](functions/qr.md) | Calculate the Matrix QR decomposition.
48[rationalize(expr)](functions/rationalize.md) | Transform a rationalizable expression in a rational fraction.
49[simplify(expr)](functions/simplify.md) | Simplify an expression tree.
50[math.slu(A, order, threshold)](functions/slu.md) | Calculate the Sparse Matrix LU decomposition with full pivoting.
51[math.usolve(U, b)](functions/usolve.md) | Solves the linear equation system by backward substitution.
52
53## Arithmetic functions
54
55Function | Description
56---- | -----------
57[math.abs(x)](functions/abs.md) | Calculate the absolute value of a number.
58[math.add(x, y)](functions/add.md) | Add two or more values, `x + y`.
59[math.cbrt(x [, allRoots])](functions/cbrt.md) | Calculate the cubic root of a value.
60[math.ceil(x)](functions/ceil.md) | Round a value towards plus infinity If `x` is complex, both real and imaginary part are rounded towards plus infinity.
61[math.cube(x)](functions/cube.md) | Compute the cube of a value, `x * x * x`.
62[math.divide(x, y)](functions/divide.md) | Divide two values, `x / y`.
63[math.dotDivide(x, y)](functions/dotDivide.md) | Divide two matrices element wise.
64[math.dotMultiply(x, y)](functions/dotMultiply.md) | Multiply two matrices element wise.
65[math.dotPow(x, y)](functions/dotPow.md) | Calculates the power of x to y element wise.
66[math.exp(x)](functions/exp.md) | Calculate the exponent of a value.
67[math.expm1(x)](functions/expm1.md) | Calculate the value of subtracting 1 from the exponential value.
68[math.fix(x)](functions/fix.md) | Round a value towards zero.
69[math.floor(x)](functions/floor.md) | Round a value towards minus infinity.
70[math.gcd(a, b)](functions/gcd.md) | Calculate the greatest common divisor for two or more values or arrays.
71[math.hypot(a, b, ...)](functions/hypot.md) | Calculate the hypotenusa of a list with values.
72[math.lcm(a, b)](functions/lcm.md) | Calculate the least common multiple for two or more values or arrays.
73[math.log(x [, base])](functions/log.md) | Calculate the logarithm of a value.
74[math.log10(x)](functions/log10.md) | Calculate the 10-base logarithm of a value.
75[math.log1p(x)](functions/log1p.md) | Calculate the logarithm of a `value+1`.
76[math.log2(x)](functions/log2.md) | Calculate the 2-base of a value.
77[math.mod(x, y)](functions/mod.md) | Calculates the modulus, the remainder of an integer division.
78[math.multiply(x, y)](functions/multiply.md) | Multiply two or more values, `x * y`.
79[math.norm(x [, p])](functions/norm.md) | Calculate the norm of a number, vector or matrix.
80[math.nthRoot(a)](functions/nthRoot.md) | Calculate the nth root of a value.
81[math.nthRoots(x)](functions/nthRoots.md) | Calculate the nth roots of a value.
82[math.pow(x, y)](functions/pow.md) | Calculates the power of x to y, `x ^ y`.
83[math.round(x [, n])](functions/round.md) | Round a value towards the nearest integer.
84[math.sign(x)](functions/sign.md) | Compute the sign of a value.
85[math.sqrt(x)](functions/sqrt.md) | Calculate the square root of a value.
86[math.square(x)](functions/square.md) | Compute the square of a value, `x * x`.
87[math.subtract(x, y)](functions/subtract.md) | Subtract two values, `x - y`.
88[math.unaryMinus(x)](functions/unaryMinus.md) | Inverse the sign of a value, apply a unary minus operation.
89[math.unaryPlus(x)](functions/unaryPlus.md) | Unary plus operation.
90[math.xgcd(a, b)](functions/xgcd.md) | Calculate the extended greatest common divisor for two values.
91
92## Bitwise functions
93
94Function | Description
95---- | -----------
96[math.bitAnd(x, y)](functions/bitAnd.md) | Bitwise AND two values, `x & y`.
97[math.bitNot(x)](functions/bitNot.md) | Bitwise NOT value, `~x`.
98[math.bitOr(x, y)](functions/bitOr.md) | Bitwise OR two values, `x | y`.
99[math.bitXor(x, y)](functions/bitXor.md) | Bitwise XOR two values, `x ^ y`.
100[math.leftShift(x,&nbsp;y)](functions/leftShift.md) | Bitwise left logical shift of a value x by y number of bits, `x << y`.
101[math.rightArithShift(x,&nbsp;y)](functions/rightArithShift.md) | Bitwise right arithmetic shift of a value x by y number of bits, `x >> y`.
102[math.rightLogShift(x,&nbsp;y)](functions/rightLogShift.md) | Bitwise right logical shift of value x by y number of bits, `x >>> y`.
103
104## Combinatorics functions
105
106Function | Description
107---- | -----------
108[math.bellNumbers(n)](functions/bellNumbers.md) | The Bell Numbers count the number of partitions of a set.
109[math.catalan(n)](functions/catalan.md) | The Catalan Numbers enumerate combinatorial structures of many different types.
110[math.composition(n,&nbsp;k)](functions/composition.md) | The composition counts of n into k parts.
111[math.stirlingS2(n,&nbsp;k)](functions/stirlingS2.md) | The Stirling numbers of the second kind, counts the number of ways to partition a set of n labelled objects into k nonempty unlabelled subsets.
112
113## Complex functions
114
115Function | Description
116---- | -----------
117[math.arg(x)](functions/arg.md) | Compute the argument of a complex value.
118[math.conj(x)](functions/conj.md) | Compute the complex conjugate of a complex value.
119[math.im(x)](functions/im.md) | Get the imaginary part of a complex number.
120[math.re(x)](functions/re.md) | Get the real part of a complex number.
121
122## Geometry functions
123
124Function | Description
125---- | -----------
126[math.distance([x1,&nbsp;y1],&nbsp;[x2,&nbsp;y2])](functions/distance.md) | Calculates: The eucledian distance between two points in 2 and 3 dimensional spaces.
127[math.intersect(endPoint1Line1, endPoint2Line1, endPoint1Line2, endPoint2Line2)](functions/intersect.md) | Calculates the point of intersection of two lines in two or three dimensions and of a line and a plane in three dimensions.
128
129## Logical functions
130
131Function | Description
132---- | -----------
133[math.and(x,&nbsp;y)](functions/and.md) | Logical `and`.
134[math.not(x)](functions/not.md) | Logical `not`.
135[math.or(x,&nbsp;y)](functions/or.md) | Logical `or`.
136[math.xor(x,&nbsp;y)](functions/xor.md) | Logical `xor`.
137
138## Matrix functions
139
140Function | Description
141---- | -----------
142[math.apply(A,&nbsp;dim,&nbsp;callback)](functions/apply.md) | Apply a function that maps an array to a scalar along a given axis of a matrix or array.
143[math.column(value,&nbsp;index)](functions/column.md) | Return column in Matrix.
144[math.concat(a,&nbsp;b,&nbsp;c,&nbsp;...&nbsp;[,&nbsp;dim])](functions/concat.md) | Concatenate two or more matrices.
145[math.cross(x,&nbsp;y)](functions/cross.md) | Calculate the cross product for two vectors in three dimensional space.
146[math.ctranspose(x)](functions/ctranspose.md) | Transpose and complex conjugate a matrix.
147[math.det(x)](functions/det.md) | Calculate the determinant of a matrix.
148[math.diag(X)](functions/diag.md) | Create a diagonal matrix or retrieve the diagonal of a matrix When `x` is a vector, a matrix with vector `x` on the diagonal will be returned.
149[math.dot(x,&nbsp;y)](functions/dot.md) | Calculate the dot product of two vectors.
150[math.expm(x)](functions/expm.md) | Compute the matrix exponential, expm(A) = e^A.
151[math.filter(x,&nbsp;test)](functions/filter.md) | Filter the items in an array or one dimensional matrix.
152[math.flatten(x)](functions/flatten.md) | Flatten a multi dimensional matrix into a single dimensional matrix.
153[math.forEach(x,&nbsp;callback)](functions/forEach.md) | Iterate over all elements of a matrix/array, and executes the given callback function.
154[math.getMatrixDataType(x)](functions/getMatrixDataType.md) | Find the data type of all elements in a matrix or array, for example 'number' if all items are a number and 'Complex' if all values are complex numbers.
155[math.identity(n)](functions/identity.md) | Create a 2-dimensional identity matrix with size m x n or n x n.
156[math.inv(x)](functions/inv.md) | Calculate the inverse of a square matrix.
157[math.kron(x,&nbsp;y)](functions/kron.md) | Calculates the kronecker product of 2 matrices or vectors.
158[math.map(x,&nbsp;callback)](functions/map.md) | Create a new matrix or array with the results of the callback function executed on each entry of the matrix/array.
159[math.ones(m,&nbsp;n,&nbsp;p,&nbsp;...)](functions/ones.md) | Create a matrix filled with ones.
160[math.partitionSelect(x,&nbsp;k)](functions/partitionSelect.md) | Partition-based selection of an array or 1D matrix.
161[math.range(start,&nbsp;end&nbsp;[,&nbsp;step])](functions/range.md) | Create an array from a range.
162[math.reshape(x,&nbsp;sizes)](functions/reshape.md) | Reshape a multi dimensional array to fit the specified dimensions.
163[math.resize(x,&nbsp;size&nbsp;[,&nbsp;defaultValue])](functions/resize.md) | Resize a matrix.
164[math.row(value,&nbsp;index)](functions/row.md) | Return row in Matrix.
165[math.size(x)](functions/size.md) | Calculate the size of a matrix or scalar.
166[math.sort(x)](functions/sort.md) | Sort the items in a matrix.
167[X&nbsp;=&nbsp;math.sqrtm(A)](functions/sqrtm.md) | Calculate the principal square root of a square matrix.
168[math.squeeze(x)](functions/squeeze.md) | Squeeze a matrix, remove inner and outer singleton dimensions from a matrix.
169[math.subset(x,&nbsp;index&nbsp;[,&nbsp;replacement])](functions/subset.md) | Get or set a subset of a matrix or string.
170[math.trace(x)](functions/trace.md) | Calculate the trace of a matrix: the sum of the elements on the main diagonal of a square matrix.
171[math.transpose(x)](functions/transpose.md) | Transpose a matrix.
172[math.zeros(m,&nbsp;n,&nbsp;p,&nbsp;...)](functions/zeros.md) | Create a matrix filled with zeros.
173
174## Probability functions
175
176Function | Description
177---- | -----------
178[math.combinations(n,&nbsp;k)](functions/combinations.md) | Compute the number of ways of picking `k` unordered outcomes from `n` possibilities.
179[math.factorial(n)](functions/factorial.md) | Compute the factorial of a value Factorial only supports an integer value as argument.
180[math.gamma(n)](functions/gamma.md) | Compute the gamma function of a value using Lanczos approximation for small values, and an extended Stirling approximation for large values.
181[math.kldivergence(x,&nbsp;y)](functions/kldivergence.md) | Calculate the Kullback-Leibler (KL) divergence between two distributions.
182[math.multinomial(a)](functions/multinomial.md) | Multinomial Coefficients compute the number of ways of picking a1, a2, .
183[math.permutations(n&nbsp;[,&nbsp;k])](functions/permutations.md) | Compute the number of ways of obtaining an ordered subset of `k` elements from a set of `n` elements.
184[math.pickRandom(array)](functions/pickRandom.md) | Random pick one or more values from a one dimensional array.
185[math.random([min,&nbsp;max])](functions/random.md) | Return a random number larger or equal to `min` and smaller than `max` using a uniform distribution.
186[math.randomInt([min,&nbsp;max])](functions/randomInt.md) | Return a random integer number larger or equal to `min` and smaller than `max` using a uniform distribution.
187
188## Relational functions
189
190Function | Description
191---- | -----------
192[math.compare(x,&nbsp;y)](functions/compare.md) | Compare two values.
193[math.compareNatural(x,&nbsp;y)](functions/compareNatural.md) | Compare two values of any type in a deterministic, natural way.
194[math.compareText(x,&nbsp;y)](functions/compareText.md) | Compare two strings lexically.
195[math.deepEqual(x,&nbsp;y)](functions/deepEqual.md) | Test element wise whether two matrices are equal.
196[math.equal(x,&nbsp;y)](functions/equal.md) | Test whether two values are equal.
197[math.equalText(x,&nbsp;y)](functions/equalText.md) | Check equality of two strings.
198[math.larger(x,&nbsp;y)](functions/larger.md) | Test whether value x is larger than y.
199[math.largerEq(x,&nbsp;y)](functions/largerEq.md) | Test whether value x is larger or equal to y.
200[math.smaller(x,&nbsp;y)](functions/smaller.md) | Test whether value x is smaller than y.
201[math.smallerEq(x,&nbsp;y)](functions/smallerEq.md) | Test whether value x is smaller or equal to y.
202[math.unequal(x,&nbsp;y)](functions/unequal.md) | Test whether two values are unequal.
203
204## Set functions
205
206Function | Description
207---- | -----------
208[math.setCartesian(set1,&nbsp;set2)](functions/setCartesian.md) | Create the cartesian product of two (multi)sets.
209[math.setDifference(set1,&nbsp;set2)](functions/setDifference.md) | Create the difference of two (multi)sets: every element of set1, that is not the element of set2.
210[math.setDistinct(set)](functions/setDistinct.md) | Collect the distinct elements of a multiset.
211[math.setIntersect(set1,&nbsp;set2)](functions/setIntersect.md) | Create the intersection of two (multi)sets.
212[math.setIsSubset(set1,&nbsp;set2)](functions/setIsSubset.md) | Check whether a (multi)set is a subset of another (multi)set.
213[math.setMultiplicity(element,&nbsp;set)](functions/setMultiplicity.md) | Count the multiplicity of an element in a multiset.
214[math.setPowerset(set)](functions/setPowerset.md) | Create the powerset of a (multi)set.
215[math.setSize(set)](functions/setSize.md) | Count the number of elements of a (multi)set.
216[math.setSymDifference(set1,&nbsp;set2)](functions/setSymDifference.md) | Create the symmetric difference of two (multi)sets.
217[math.setUnion(set1,&nbsp;set2)](functions/setUnion.md) | Create the union of two (multi)sets.
218
219## Special functions
220
221Function | Description
222---- | -----------
223[math.erf(x)](functions/erf.md) | Compute the erf function of a value using a rational Chebyshev approximations for different intervals of x.
224
225## Statistics functions
226
227Function | Description
228---- | -----------
229[math.mad(a,&nbsp;b,&nbsp;c,&nbsp;...)](functions/mad.md) | Compute the median absolute deviation of a matrix or a list with values.
230[math.max(a,&nbsp;b,&nbsp;c,&nbsp;...)](functions/max.md) | Compute the maximum value of a matrix or a list with values.
231[math.mean(a,&nbsp;b,&nbsp;c,&nbsp;...)](functions/mean.md) | Compute the mean value of matrix or a list with values.
232[math.median(a,&nbsp;b,&nbsp;c,&nbsp;...)](functions/median.md) | Compute the median of a matrix or a list with values.
233[math.min(a,&nbsp;b,&nbsp;c,&nbsp;...)](functions/min.md) | Compute the minimum value of a matrix or a list of values.
234[math.mode(a,&nbsp;b,&nbsp;c,&nbsp;...)](functions/mode.md) | Computes the mode of a set of numbers or a list with values(numbers or characters).
235[math.prod(a,&nbsp;b,&nbsp;c,&nbsp;...)](functions/prod.md) | Compute the product of a matrix or a list with values.
236[math.quantileSeq(A,&nbsp;prob[,&nbsp;sorted])](functions/quantileSeq.md) | Compute the prob order quantile of a matrix or a list with values.
237[math.std(a,&nbsp;b,&nbsp;c,&nbsp;...)](functions/std.md) | Compute the standard deviation of a matrix or a list with values.
238[math.sum(a,&nbsp;b,&nbsp;c,&nbsp;...)](functions/sum.md) | Compute the sum of a matrix or a list with values.
239[math.var(a,&nbsp;b,&nbsp;c,&nbsp;...)](functions/var.md) | Compute the variance of a matrix or a list with values.
240
241## String functions
242
243Function | Description
244---- | -----------
245[math.format(value&nbsp;[,&nbsp;precision])](functions/format.md) | Format a value of any type into a string.
246[math.print(template, values [, precision])](functions/print.md) | Interpolate values into a string template.
247
248## Trigonometry functions
249
250Function | Description
251---- | -----------
252[math.acos(x)](functions/acos.md) | Calculate the inverse cosine of a value.
253[math.acosh(x)](functions/acosh.md) | Calculate the hyperbolic arccos of a value, defined as `acosh(x) = ln(sqrt(x^2 - 1) + x)`.
254[math.acot(x)](functions/acot.md) | Calculate the inverse cotangent of a value, defined as `acot(x) = atan(1/x)`.
255[math.acoth(x)](functions/acoth.md) | Calculate the hyperbolic arccotangent of a value, defined as `acoth(x) = atanh(1/x) = (ln((x+1)/x) + ln(x/(x-1))) / 2`.
256[math.acsc(x)](functions/acsc.md) | Calculate the inverse cosecant of a value, defined as `acsc(x) = asin(1/x)`.
257[math.acsch(x)](functions/acsch.md) | Calculate the hyperbolic arccosecant of a value, defined as `acsch(x) = asinh(1/x) = ln(1/x + sqrt(1/x^2 + 1))`.
258[math.asec(x)](functions/asec.md) | Calculate the inverse secant of a value.
259[math.asech(x)](functions/asech.md) | Calculate the hyperbolic arcsecant of a value, defined as `asech(x) = acosh(1/x) = ln(sqrt(1/x^2 - 1) + 1/x)`.
260[math.asin(x)](functions/asin.md) | Calculate the inverse sine of a value.
261[math.asinh(x)](functions/asinh.md) | Calculate the hyperbolic arcsine of a value, defined as `asinh(x) = ln(x + sqrt(x^2 + 1))`.
262[math.atan(x)](functions/atan.md) | Calculate the inverse tangent of a value.
263[math.atan2(y,&nbsp;x)](functions/atan2.md) | Calculate the inverse tangent function with two arguments, y/x.
264[math.atanh(x)](functions/atanh.md) | Calculate the hyperbolic arctangent of a value, defined as `atanh(x) = ln((1 + x)/(1 - x)) / 2`.
265[math.cos(x)](functions/cos.md) | Calculate the cosine of a value.
266[math.cosh(x)](functions/cosh.md) | Calculate the hyperbolic cosine of a value, defined as `cosh(x) = 1/2 * (exp(x) + exp(-x))`.
267[math.cot(x)](functions/cot.md) | Calculate the cotangent of a value.
268[math.coth(x)](functions/coth.md) | Calculate the hyperbolic cotangent of a value, defined as `coth(x) = 1 / tanh(x)`.
269[math.csc(x)](functions/csc.md) | Calculate the cosecant of a value, defined as `csc(x) = 1/sin(x)`.
270[math.csch(x)](functions/csch.md) | Calculate the hyperbolic cosecant of a value, defined as `csch(x) = 1 / sinh(x)`.
271[math.sec(x)](functions/sec.md) | Calculate the secant of a value, defined as `sec(x) = 1/cos(x)`.
272[math.sech(x)](functions/sech.md) | Calculate the hyperbolic secant of a value, defined as `sech(x) = 1 / cosh(x)`.
273[math.sin(x)](functions/sin.md) | Calculate the sine of a value.
274[math.sinh(x)](functions/sinh.md) | Calculate the hyperbolic sine of a value, defined as `sinh(x) = 1/2 * (exp(x) - exp(-x))`.
275[math.tan(x)](functions/tan.md) | Calculate the tangent of a value.
276[math.tanh(x)](functions/tanh.md) | Calculate the hyperbolic tangent of a value, defined as `tanh(x) = (exp(2 * x) - 1) / (exp(2 * x) + 1)`.
277
278## Unit functions
279
280Function | Description
281---- | -----------
282[math.to(x,&nbsp;unit)](functions/to.md) | Change the unit of a value.
283
284## Utils functions
285
286Function | Description
287---- | -----------
288[math.clone(x)](functions/clone.md) | Clone an object.
289[math.hasNumericValue(x)](functions/hasNumericValue.md) | Test whether a value is an numeric value.
290[math.isInteger(x)](functions/isInteger.md) | Test whether a value is an integer number.
291[math.isNaN(x)](functions/isNaN.md) | Test whether a value is NaN (not a number).
292[math.isNegative(x)](functions/isNegative.md) | Test whether a value is negative: smaller than zero.
293[math.isNumeric(x)](functions/isNumeric.md) | Test whether a value is an numeric value.
294[math.isPositive(x)](functions/isPositive.md) | Test whether a value is positive: larger than zero.
295[math.isPrime(x)](functions/isPrime.md) | Test whether a value is prime: has no divisors other than itself and one.
296[math.isZero(x)](functions/isZero.md) | Test whether a value is zero.
297[math.typeof(x)](functions/typeof.md) | Determine the type of a variable.
298
299
300
301<!-- Note: This file is automatically generated from source code comments. Changes made in this file will be overridden. -->