UNPKG

mathjs

Version:

Math.js is an extensive math library for JavaScript and Node.js. It features a flexible expression parser with support for symbolic computation, comes with a large set of built-in functions and constants, and offers an integrated solution to work with dif

664 lines 23.2 kB
import { bignumberDocs } from './construction/bignumber'; import { typeOfDocs } from './function/utils/typeOf'; import { isZeroDocs } from './function/utils/isZero'; import { isPrimeDocs } from './function/utils/isPrime'; import { isPositiveDocs } from './function/utils/isPositive'; import { isNumericDocs } from './function/utils/isNumeric'; import { hasNumericValueDocs } from './function/utils/hasNumericValue'; import { isNegativeDocs } from './function/utils/isNegative'; import { isIntegerDocs } from './function/utils/isInteger'; import { isNaNDocs } from './function/utils/isNaN'; import { formatDocs } from './function/utils/format'; import { binDocs } from './function/utils/bin'; import { octDocs } from './function/utils/oct'; import { hexDocs } from './function/utils/hex'; import { cloneDocs } from './function/utils/clone'; import { toDocs } from './function/units/to'; import { tanhDocs } from './function/trigonometry/tanh'; import { tanDocs } from './function/trigonometry/tan'; import { sinhDocs } from './function/trigonometry/sinh'; import { sechDocs } from './function/trigonometry/sech'; import { secDocs } from './function/trigonometry/sec'; import { cschDocs } from './function/trigonometry/csch'; import { cscDocs } from './function/trigonometry/csc'; import { cothDocs } from './function/trigonometry/coth'; import { cotDocs } from './function/trigonometry/cot'; import { coshDocs } from './function/trigonometry/cosh'; import { cosDocs } from './function/trigonometry/cos'; import { atan2Docs } from './function/trigonometry/atan2'; import { atanhDocs } from './function/trigonometry/atanh'; import { atanDocs } from './function/trigonometry/atan'; import { asinhDocs } from './function/trigonometry/asinh'; import { asinDocs } from './function/trigonometry/asin'; import { asechDocs } from './function/trigonometry/asech'; import { asecDocs } from './function/trigonometry/asec'; import { acschDocs } from './function/trigonometry/acsch'; import { acscDocs } from './function/trigonometry/acsc'; import { acothDocs } from './function/trigonometry/acoth'; import { acotDocs } from './function/trigonometry/acot'; import { acoshDocs } from './function/trigonometry/acosh'; import { acosDocs } from './function/trigonometry/acos'; import { sumDocs } from './function/statistics/sum'; import { stdDocs } from './function/statistics/std'; import { quantileSeqDocs } from './function/statistics/quantileSeq'; import { prodDocs } from './function/statistics/prod'; import { modeDocs } from './function/statistics/mode'; import { minDocs } from './function/statistics/min'; import { medianDocs } from './function/statistics/median'; import { meanDocs } from './function/statistics/mean'; import { maxDocs } from './function/statistics/max'; import { madDocs } from './function/statistics/mad'; import { erfDocs } from './function/special/erf'; import { setUnionDocs } from './function/set/setUnion'; import { setSymDifferenceDocs } from './function/set/setSymDifference'; import { setSizeDocs } from './function/set/setSize'; import { setPowersetDocs } from './function/set/setPowerset'; import { setMultiplicityDocs } from './function/set/setMultiplicity'; import { setIsSubsetDocs } from './function/set/setIsSubset'; import { setIntersectDocs } from './function/set/setIntersect'; import { setDistinctDocs } from './function/set/setDistinct'; import { setDifferenceDocs } from './function/set/setDifference'; import { setCartesianDocs } from './function/set/setCartesian'; import { unequalDocs } from './function/relational/unequal'; import { smallerEqDocs } from './function/relational/smallerEq'; import { smallerDocs } from './function/relational/smaller'; import { largerEqDocs } from './function/relational/largerEq'; import { largerDocs } from './function/relational/larger'; import { equalTextDocs } from './function/relational/equalText'; import { equalDocs } from './function/relational/equal'; import { deepEqualDocs } from './function/relational/deepEqual'; import { compareTextDocs } from './function/relational/compareText'; import { compareNaturalDocs } from './function/relational/compareNatural'; import { compareDocs } from './function/relational/compare'; import { randomIntDocs } from './function/probability/randomInt'; import { randomDocs } from './function/probability/random'; import { pickRandomDocs } from './function/probability/pickRandom'; import { permutationsDocs } from './function/probability/permutations'; import { multinomialDocs } from './function/probability/multinomial'; import { kldivergenceDocs } from './function/probability/kldivergence'; import { gammaDocs } from './function/probability/gamma'; import { factorialDocs } from './function/probability/factorial'; import { combinationsDocs } from './function/probability/combinations'; import { combinationsWithRepDocs } from './function/probability/combinationsWithRep'; import { zerosDocs } from './function/matrix/zeros'; import { transposeDocs } from './function/matrix/transpose'; import { traceDocs } from './function/matrix/trace'; import { subsetDocs } from './function/matrix/subset'; import { squeezeDocs } from './function/matrix/squeeze'; import { sortDocs } from './function/matrix/sort'; import { sizeDocs } from './function/matrix/size'; import { diffDocs } from './function/matrix/diff'; import { reshapeDocs } from './function/matrix/reshape'; import { resizeDocs } from './function/matrix/resize'; import { rangeDocs } from './function/matrix/range'; import { partitionSelectDocs } from './function/matrix/partitionSelect'; import { onesDocs } from './function/matrix/ones'; import { mapDocs } from './function/matrix/map'; import { kronDocs } from './function/matrix/kron'; import { invDocs } from './function/matrix/inv'; import { forEachDocs } from './function/matrix/forEach'; import { flattenDocs } from './function/matrix/flatten'; import { filterDocs } from './function/matrix/filter'; import { identityDocs } from './function/matrix/identity'; import { getMatrixDataTypeDocs } from './function/matrix/getMatrixDataType'; import { dotDocs } from './function/matrix/dot'; import { diagDocs } from './function/matrix/diag'; import { detDocs } from './function/matrix/det'; import { ctransposeDocs } from './function/matrix/ctranspose'; import { crossDocs } from './function/matrix/cross'; import { concatDocs } from './function/matrix/concat'; import { xorDocs } from './function/logical/xor'; import { orDocs } from './function/logical/or'; import { notDocs } from './function/logical/not'; import { andDocs } from './function/logical/and'; import { intersectDocs } from './function/geometry/intersect'; import { distanceDocs } from './function/geometry/distance'; import { helpDocs } from './function/expression/help'; import { evaluateDocs } from './function/expression/evaluate'; import { imDocs } from './function/complex/im'; import { reDocs } from './function/complex/re'; import { conjDocs } from './function/complex/conj'; import { argDocs } from './function/complex/arg'; import { typedDocs } from './core/typed'; import { importDocs } from './core/import'; import { configDocs } from './core/config'; import { stirlingS2Docs } from './function/combinatorics/stirlingS2'; import { compositionDocs } from './function/combinatorics/composition'; import { catalanDocs } from './function/combinatorics/catalan'; import { bellNumbersDocs } from './function/combinatorics/bellNumbers'; import { rightLogShiftDocs } from './function/bitwise/rightLogShift'; import { rightArithShiftDocs } from './function/bitwise/rightArithShift'; import { leftShiftDocs } from './function/bitwise/leftShift'; import { bitXorDocs } from './function/bitwise/bitXor'; import { bitOrDocs } from './function/bitwise/bitOr'; import { bitNotDocs } from './function/bitwise/bitNot'; import { bitAndDocs } from './function/bitwise/bitAnd'; import { xgcdDocs } from './function/arithmetic/xgcd'; import { unaryPlusDocs } from './function/arithmetic/unaryPlus'; import { unaryMinusDocs } from './function/arithmetic/unaryMinus'; import { squareDocs } from './function/arithmetic/square'; import { sqrtmDocs } from './function/arithmetic/sqrtm'; import { sqrtDocs } from './function/arithmetic/sqrt'; import { signDocs } from './function/arithmetic/sign'; import { roundDocs } from './function/arithmetic/round'; import { powDocs } from './function/arithmetic/pow'; import { nthRootsDocs } from './function/arithmetic/nthRoots'; import { nthRootDocs } from './function/arithmetic/nthRoot'; import { normDocs } from './function/arithmetic/norm'; import { multiplyDocs } from './function/arithmetic/multiply'; import { modDocs } from './function/arithmetic/mod'; import { log10Docs } from './function/arithmetic/log10'; import { log1pDocs } from './function/arithmetic/log1p'; import { log2Docs } from './function/arithmetic/log2'; import { logDocs } from './function/arithmetic/log'; import { lcmDocs } from './function/arithmetic/lcm'; import { hypotDocs } from './function/arithmetic/hypot'; import { gcdDocs } from './function/arithmetic/gcd'; import { floorDocs } from './function/arithmetic/floor'; import { fixDocs } from './function/arithmetic/fix'; import { expm1Docs } from './function/arithmetic/expm1'; import { expmDocs } from './function/arithmetic/expm'; import { eigsDocs } from './function/matrix/eigs'; import { expDocs } from './function/arithmetic/exp'; import { dotMultiplyDocs } from './function/arithmetic/dotMultiply'; import { dotDivideDocs } from './function/arithmetic/dotDivide'; import { divideDocs } from './function/arithmetic/divide'; import { cubeDocs } from './function/arithmetic/cube'; import { ceilDocs } from './function/arithmetic/ceil'; import { cbrtDocs } from './function/arithmetic/cbrt'; import { addDocs } from './function/arithmetic/add'; import { absDocs } from './function/arithmetic/abs'; import { qrDocs } from './function/algebra/qr'; import { usolveDocs } from './function/algebra/usolve'; import { usolveAllDocs } from './function/algebra/usolveAll'; import { sluDocs } from './function/algebra/slu'; import { rationalizeDocs } from './function/algebra/rationalize'; import { simplifyDocs } from './function/algebra/simplify'; import { lupDocs } from './function/algebra/lup'; import { lsolveDocs } from './function/algebra/lsolve'; import { lsolveAllDocs } from './function/algebra/lsolveAll'; import { derivativeDocs } from './function/algebra/derivative'; import { versionDocs } from './constants/version'; import { trueDocs } from './constants/true'; import { tauDocs } from './constants/tau'; import { SQRT2Docs } from './constants/SQRT2'; import { SQRT12Docs } from './constants/SQRT1_2'; import { phiDocs } from './constants/phi'; import { piDocs } from './constants/pi'; import { nullDocs } from './constants/null'; import { NaNDocs } from './constants/NaN'; import { LOG10EDocs } from './constants/LOG10E'; import { LOG2EDocs } from './constants/LOG2E'; import { LN10Docs } from './constants/LN10'; import { LN2Docs } from './constants/LN2'; import { InfinityDocs } from './constants/Infinity'; import { iDocs } from './constants/i'; import { falseDocs } from './constants/false'; import { eDocs } from './constants/e'; import { unitDocs } from './construction/unit'; import { stringDocs } from './construction/string'; import { splitUnitDocs } from './construction/splitUnit'; import { sparseDocs } from './construction/sparse'; import { numberDocs } from './construction/number'; import { matrixDocs } from './construction/matrix'; import { indexDocs } from './construction'; import { fractionDocs } from './construction/fraction'; import { createUnitDocs } from './construction/createUnit'; import { complexDocs } from './construction/complex'; import { booleanDocs } from './construction/boolean'; import { dotPowDocs } from './function/arithmetic/dotPow'; import { lusolveDocs } from './function/algebra/lusolve'; import { subtractDocs } from './function/arithmetic/subtract'; import { varianceDocs } from './function/statistics/variance'; import { sinDocs } from './function/trigonometry/sin'; import { numericDocs } from './function/utils/numeric'; import { columnDocs } from './function/matrix/column'; import { rowDocs } from './function/matrix/row'; import { rotationMatrixDocs } from './function/matrix/rotationMatrix'; export var embeddedDocs = { // construction functions bignumber: bignumberDocs, "boolean": booleanDocs, complex: complexDocs, createUnit: createUnitDocs, fraction: fractionDocs, index: indexDocs, matrix: matrixDocs, number: numberDocs, sparse: sparseDocs, splitUnit: splitUnitDocs, string: stringDocs, unit: unitDocs, // constants e: eDocs, E: eDocs, "false": falseDocs, i: iDocs, Infinity: InfinityDocs, LN2: LN2Docs, LN10: LN10Docs, LOG2E: LOG2EDocs, LOG10E: LOG10EDocs, NaN: NaNDocs, "null": nullDocs, pi: piDocs, PI: piDocs, phi: phiDocs, SQRT1_2: SQRT12Docs, SQRT2: SQRT2Docs, tau: tauDocs, "true": trueDocs, version: versionDocs, // physical constants // TODO: more detailed docs for physical constants speedOfLight: { description: 'Speed of light in vacuum', examples: ['speedOfLight'] }, gravitationConstant: { description: 'Newtonian constant of gravitation', examples: ['gravitationConstant'] }, planckConstant: { description: 'Planck constant', examples: ['planckConstant'] }, reducedPlanckConstant: { description: 'Reduced Planck constant', examples: ['reducedPlanckConstant'] }, magneticConstant: { description: 'Magnetic constant (vacuum permeability)', examples: ['magneticConstant'] }, electricConstant: { description: 'Electric constant (vacuum permeability)', examples: ['electricConstant'] }, vacuumImpedance: { description: 'Characteristic impedance of vacuum', examples: ['vacuumImpedance'] }, coulomb: { description: 'Coulomb\'s constant', examples: ['coulomb'] }, elementaryCharge: { description: 'Elementary charge', examples: ['elementaryCharge'] }, bohrMagneton: { description: 'Borh magneton', examples: ['bohrMagneton'] }, conductanceQuantum: { description: 'Conductance quantum', examples: ['conductanceQuantum'] }, inverseConductanceQuantum: { description: 'Inverse conductance quantum', examples: ['inverseConductanceQuantum'] }, // josephson: {description: 'Josephson constant', examples: ['josephson']}, magneticFluxQuantum: { description: 'Magnetic flux quantum', examples: ['magneticFluxQuantum'] }, nuclearMagneton: { description: 'Nuclear magneton', examples: ['nuclearMagneton'] }, klitzing: { description: 'Von Klitzing constant', examples: ['klitzing'] }, bohrRadius: { description: 'Borh radius', examples: ['bohrRadius'] }, classicalElectronRadius: { description: 'Classical electron radius', examples: ['classicalElectronRadius'] }, electronMass: { description: 'Electron mass', examples: ['electronMass'] }, fermiCoupling: { description: 'Fermi coupling constant', examples: ['fermiCoupling'] }, fineStructure: { description: 'Fine-structure constant', examples: ['fineStructure'] }, hartreeEnergy: { description: 'Hartree energy', examples: ['hartreeEnergy'] }, protonMass: { description: 'Proton mass', examples: ['protonMass'] }, deuteronMass: { description: 'Deuteron Mass', examples: ['deuteronMass'] }, neutronMass: { description: 'Neutron mass', examples: ['neutronMass'] }, quantumOfCirculation: { description: 'Quantum of circulation', examples: ['quantumOfCirculation'] }, rydberg: { description: 'Rydberg constant', examples: ['rydberg'] }, thomsonCrossSection: { description: 'Thomson cross section', examples: ['thomsonCrossSection'] }, weakMixingAngle: { description: 'Weak mixing angle', examples: ['weakMixingAngle'] }, efimovFactor: { description: 'Efimov factor', examples: ['efimovFactor'] }, atomicMass: { description: 'Atomic mass constant', examples: ['atomicMass'] }, avogadro: { description: 'Avogadro\'s number', examples: ['avogadro'] }, boltzmann: { description: 'Boltzmann constant', examples: ['boltzmann'] }, faraday: { description: 'Faraday constant', examples: ['faraday'] }, firstRadiation: { description: 'First radiation constant', examples: ['firstRadiation'] }, loschmidt: { description: 'Loschmidt constant at T=273.15 K and p=101.325 kPa', examples: ['loschmidt'] }, gasConstant: { description: 'Gas constant', examples: ['gasConstant'] }, molarPlanckConstant: { description: 'Molar Planck constant', examples: ['molarPlanckConstant'] }, molarVolume: { description: 'Molar volume of an ideal gas at T=273.15 K and p=101.325 kPa', examples: ['molarVolume'] }, sackurTetrode: { description: 'Sackur-Tetrode constant at T=1 K and p=101.325 kPa', examples: ['sackurTetrode'] }, secondRadiation: { description: 'Second radiation constant', examples: ['secondRadiation'] }, stefanBoltzmann: { description: 'Stefan-Boltzmann constant', examples: ['stefanBoltzmann'] }, wienDisplacement: { description: 'Wien displacement law constant', examples: ['wienDisplacement'] }, // spectralRadiance: {description: 'First radiation constant for spectral radiance', examples: ['spectralRadiance']}, molarMass: { description: 'Molar mass constant', examples: ['molarMass'] }, molarMassC12: { description: 'Molar mass constant of carbon-12', examples: ['molarMassC12'] }, gravity: { description: 'Standard acceleration of gravity (standard acceleration of free-fall on Earth)', examples: ['gravity'] }, planckLength: { description: 'Planck length', examples: ['planckLength'] }, planckMass: { description: 'Planck mass', examples: ['planckMass'] }, planckTime: { description: 'Planck time', examples: ['planckTime'] }, planckCharge: { description: 'Planck charge', examples: ['planckCharge'] }, planckTemperature: { description: 'Planck temperature', examples: ['planckTemperature'] }, // functions - algebra derivative: derivativeDocs, lsolve: lsolveDocs, lsolveAll: lsolveAllDocs, lup: lupDocs, lusolve: lusolveDocs, simplify: simplifyDocs, rationalize: rationalizeDocs, slu: sluDocs, usolve: usolveDocs, usolveAll: usolveAllDocs, qr: qrDocs, // functions - arithmetic abs: absDocs, add: addDocs, cbrt: cbrtDocs, ceil: ceilDocs, cube: cubeDocs, divide: divideDocs, dotDivide: dotDivideDocs, dotMultiply: dotMultiplyDocs, dotPow: dotPowDocs, exp: expDocs, expm: expmDocs, expm1: expm1Docs, fix: fixDocs, floor: floorDocs, gcd: gcdDocs, hypot: hypotDocs, lcm: lcmDocs, log: logDocs, log2: log2Docs, log1p: log1pDocs, log10: log10Docs, mod: modDocs, multiply: multiplyDocs, norm: normDocs, nthRoot: nthRootDocs, nthRoots: nthRootsDocs, pow: powDocs, round: roundDocs, sign: signDocs, sqrt: sqrtDocs, sqrtm: sqrtmDocs, square: squareDocs, subtract: subtractDocs, unaryMinus: unaryMinusDocs, unaryPlus: unaryPlusDocs, xgcd: xgcdDocs, // functions - bitwise bitAnd: bitAndDocs, bitNot: bitNotDocs, bitOr: bitOrDocs, bitXor: bitXorDocs, leftShift: leftShiftDocs, rightArithShift: rightArithShiftDocs, rightLogShift: rightLogShiftDocs, // functions - combinatorics bellNumbers: bellNumbersDocs, catalan: catalanDocs, composition: compositionDocs, stirlingS2: stirlingS2Docs, // functions - core config: configDocs, "import": importDocs, typed: typedDocs, // functions - complex arg: argDocs, conj: conjDocs, re: reDocs, im: imDocs, // functions - expression evaluate: evaluateDocs, help: helpDocs, // functions - geometry distance: distanceDocs, intersect: intersectDocs, // functions - logical and: andDocs, not: notDocs, or: orDocs, xor: xorDocs, // functions - matrix concat: concatDocs, cross: crossDocs, column: columnDocs, ctranspose: ctransposeDocs, det: detDocs, diag: diagDocs, diff: diffDocs, dot: dotDocs, getMatrixDataType: getMatrixDataTypeDocs, identity: identityDocs, filter: filterDocs, flatten: flattenDocs, forEach: forEachDocs, inv: invDocs, eigs: eigsDocs, kron: kronDocs, map: mapDocs, ones: onesDocs, partitionSelect: partitionSelectDocs, range: rangeDocs, resize: resizeDocs, reshape: reshapeDocs, rotationMatrix: rotationMatrixDocs, row: rowDocs, size: sizeDocs, sort: sortDocs, squeeze: squeezeDocs, subset: subsetDocs, trace: traceDocs, transpose: transposeDocs, zeros: zerosDocs, // functions - probability combinations: combinationsDocs, combinationsWithRep: combinationsWithRepDocs, // distribution: distributionDocs, factorial: factorialDocs, gamma: gammaDocs, kldivergence: kldivergenceDocs, multinomial: multinomialDocs, permutations: permutationsDocs, pickRandom: pickRandomDocs, random: randomDocs, randomInt: randomIntDocs, // functions - relational compare: compareDocs, compareNatural: compareNaturalDocs, compareText: compareTextDocs, deepEqual: deepEqualDocs, equal: equalDocs, equalText: equalTextDocs, larger: largerDocs, largerEq: largerEqDocs, smaller: smallerDocs, smallerEq: smallerEqDocs, unequal: unequalDocs, // functions - set setCartesian: setCartesianDocs, setDifference: setDifferenceDocs, setDistinct: setDistinctDocs, setIntersect: setIntersectDocs, setIsSubset: setIsSubsetDocs, setMultiplicity: setMultiplicityDocs, setPowerset: setPowersetDocs, setSize: setSizeDocs, setSymDifference: setSymDifferenceDocs, setUnion: setUnionDocs, // functions - special erf: erfDocs, // functions - statistics mad: madDocs, max: maxDocs, mean: meanDocs, median: medianDocs, min: minDocs, mode: modeDocs, prod: prodDocs, quantileSeq: quantileSeqDocs, std: stdDocs, sum: sumDocs, variance: varianceDocs, // functions - trigonometry acos: acosDocs, acosh: acoshDocs, acot: acotDocs, acoth: acothDocs, acsc: acscDocs, acsch: acschDocs, asec: asecDocs, asech: asechDocs, asin: asinDocs, asinh: asinhDocs, atan: atanDocs, atanh: atanhDocs, atan2: atan2Docs, cos: cosDocs, cosh: coshDocs, cot: cotDocs, coth: cothDocs, csc: cscDocs, csch: cschDocs, sec: secDocs, sech: sechDocs, sin: sinDocs, sinh: sinhDocs, tan: tanDocs, tanh: tanhDocs, // functions - units to: toDocs, // functions - utils clone: cloneDocs, format: formatDocs, bin: binDocs, oct: octDocs, hex: hexDocs, isNaN: isNaNDocs, isInteger: isIntegerDocs, isNegative: isNegativeDocs, isNumeric: isNumericDocs, hasNumericValue: hasNumericValueDocs, isPositive: isPositiveDocs, isPrime: isPrimeDocs, isZero: isZeroDocs, // print: printDocs // TODO: add documentation for print as soon as the parser supports objects. typeOf: typeOfDocs, numeric: numericDocs };