UNPKG

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