@danielsimonjr/mathts-functions 0.2.3 → 0.2.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +21 -0
- package/dist/algebra/decomposition/lup.d.ts +78 -0
- package/dist/algebra/decomposition/lup.d.ts.map +1 -0
- package/dist/algebra/decomposition/qr.d.ts +60 -0
- package/dist/algebra/decomposition/qr.d.ts.map +1 -0
- package/dist/algebra/decomposition/schur.d.ts +40 -0
- package/dist/algebra/decomposition/schur.d.ts.map +1 -0
- package/dist/algebra/decomposition/slu.d.ts +37 -0
- package/dist/algebra/decomposition/slu.d.ts.map +1 -0
- package/dist/algebra/derivative.d.ts +35 -0
- package/dist/algebra/derivative.d.ts.map +1 -0
- package/dist/algebra/leafCount.d.ts +9 -0
- package/dist/algebra/leafCount.d.ts.map +1 -0
- package/dist/algebra/lyap.d.ts +14 -0
- package/dist/algebra/lyap.d.ts.map +1 -0
- package/dist/algebra/polynomialRoot.d.ts +22 -0
- package/dist/algebra/polynomialRoot.d.ts.map +1 -0
- package/dist/algebra/rationalize.d.ts +43 -0
- package/dist/algebra/rationalize.d.ts.map +1 -0
- package/dist/algebra/resolve.d.ts +25 -0
- package/dist/algebra/resolve.d.ts.map +1 -0
- package/dist/algebra/simplify/util.d.ts +35 -0
- package/dist/algebra/simplify/util.d.ts.map +1 -0
- package/dist/algebra/simplify/wildcards.d.ts +5 -0
- package/dist/algebra/simplify/wildcards.d.ts.map +1 -0
- package/dist/algebra/simplify.d.ts +57 -0
- package/dist/algebra/simplify.d.ts.map +1 -0
- package/dist/algebra/simplifyConstant.d.ts +20 -0
- package/dist/algebra/simplifyConstant.d.ts.map +1 -0
- package/dist/algebra/simplifyCore.d.ts +21 -0
- package/dist/algebra/simplifyCore.d.ts.map +1 -0
- package/dist/algebra/solver/lsolve.d.ts +46 -0
- package/dist/algebra/solver/lsolve.d.ts.map +1 -0
- package/dist/algebra/solver/lsolveAll.d.ts +53 -0
- package/dist/algebra/solver/lsolveAll.d.ts.map +1 -0
- package/dist/algebra/solver/lusolve.d.ts +62 -0
- package/dist/algebra/solver/lusolve.d.ts.map +1 -0
- package/dist/algebra/solver/usolve.d.ts +46 -0
- package/dist/algebra/solver/usolve.d.ts.map +1 -0
- package/dist/algebra/solver/usolveAll.d.ts +53 -0
- package/dist/algebra/solver/usolveAll.d.ts.map +1 -0
- package/dist/algebra/solver/utils/solveValidation.d.ts +31 -0
- package/dist/algebra/solver/utils/solveValidation.d.ts.map +1 -0
- package/dist/algebra/sparse/csAmd.d.ts +15 -0
- package/dist/algebra/sparse/csAmd.d.ts.map +1 -0
- package/dist/algebra/sparse/csChol.d.ts +39 -0
- package/dist/algebra/sparse/csChol.d.ts.map +1 -0
- package/dist/algebra/sparse/csCounts.d.ts +13 -0
- package/dist/algebra/sparse/csCounts.d.ts.map +1 -0
- package/dist/algebra/sparse/csCumsum.d.ts +9 -0
- package/dist/algebra/sparse/csCumsum.d.ts.map +1 -0
- package/dist/algebra/sparse/csDfs.d.ts +23 -0
- package/dist/algebra/sparse/csDfs.d.ts.map +1 -0
- package/dist/algebra/sparse/csEreach.d.ts +20 -0
- package/dist/algebra/sparse/csEreach.d.ts.map +1 -0
- package/dist/algebra/sparse/csEtree.d.ts +16 -0
- package/dist/algebra/sparse/csEtree.d.ts.map +1 -0
- package/dist/algebra/sparse/csFkeep.d.ts +22 -0
- package/dist/algebra/sparse/csFkeep.d.ts.map +1 -0
- package/dist/algebra/sparse/csFlip.d.ts +7 -0
- package/dist/algebra/sparse/csFlip.d.ts.map +1 -0
- package/dist/algebra/sparse/csIpvec.d.ts +10 -0
- package/dist/algebra/sparse/csIpvec.d.ts.map +1 -0
- package/dist/algebra/sparse/csLeaf.d.ts +21 -0
- package/dist/algebra/sparse/csLeaf.d.ts.map +1 -0
- package/dist/algebra/sparse/csLu.d.ts +37 -0
- package/dist/algebra/sparse/csLu.d.ts.map +1 -0
- package/dist/algebra/sparse/csMark.d.ts +8 -0
- package/dist/algebra/sparse/csMark.d.ts.map +1 -0
- package/dist/algebra/sparse/csMarked.d.ts +8 -0
- package/dist/algebra/sparse/csMarked.d.ts.map +1 -0
- package/dist/algebra/sparse/csPermute.d.ts +27 -0
- package/dist/algebra/sparse/csPermute.d.ts.map +1 -0
- package/dist/algebra/sparse/csPost.d.ts +8 -0
- package/dist/algebra/sparse/csPost.d.ts.map +1 -0
- package/dist/algebra/sparse/csReach.d.ts +23 -0
- package/dist/algebra/sparse/csReach.d.ts.map +1 -0
- package/dist/algebra/sparse/csSpsolve.d.ts +15 -0
- package/dist/algebra/sparse/csSpsolve.d.ts.map +1 -0
- package/dist/algebra/sparse/csSqr.d.ts +25 -0
- package/dist/algebra/sparse/csSqr.d.ts.map +1 -0
- package/dist/algebra/sparse/csSymperm.d.ts +22 -0
- package/dist/algebra/sparse/csSymperm.d.ts.map +1 -0
- package/dist/algebra/sparse/csTdfs.d.ts +13 -0
- package/dist/algebra/sparse/csTdfs.d.ts.map +1 -0
- package/dist/algebra/sparse/csUnflip.d.ts +7 -0
- package/dist/algebra/sparse/csUnflip.d.ts.map +1 -0
- package/dist/algebra/sylvester.d.ts +30 -0
- package/dist/algebra/sylvester.d.ts.map +1 -0
- package/dist/algebra/symbolicEqual.d.ts +18 -0
- package/dist/algebra/symbolicEqual.d.ts.map +1 -0
- package/dist/arithmetic/abs.d.ts +7 -0
- package/dist/arithmetic/abs.d.ts.map +1 -0
- package/dist/arithmetic/addScalar.d.ts +7 -0
- package/dist/arithmetic/addScalar.d.ts.map +1 -0
- package/dist/arithmetic/cbrt.d.ts +37 -0
- package/dist/arithmetic/cbrt.d.ts.map +1 -0
- package/dist/arithmetic/ceil.d.ts +22 -0
- package/dist/arithmetic/ceil.d.ts.map +1 -0
- package/dist/arithmetic/cube.d.ts +7 -0
- package/dist/arithmetic/cube.d.ts.map +1 -0
- package/dist/arithmetic/divide.d.ts +42 -0
- package/dist/arithmetic/divide.d.ts.map +1 -0
- package/dist/arithmetic/divideScalar.d.ts +8 -0
- package/dist/arithmetic/divideScalar.d.ts.map +1 -0
- package/dist/arithmetic/dotDivide.d.ts +13 -0
- package/dist/arithmetic/dotDivide.d.ts.map +1 -0
- package/dist/arithmetic/dotMultiply.d.ts +11 -0
- package/dist/arithmetic/dotMultiply.d.ts.map +1 -0
- package/dist/arithmetic/dotPow.d.ts +16 -0
- package/dist/arithmetic/dotPow.d.ts.map +1 -0
- package/dist/arithmetic/exp.d.ts +7 -0
- package/dist/arithmetic/exp.d.ts.map +1 -0
- package/dist/arithmetic/expm1.d.ts +15 -0
- package/dist/arithmetic/expm1.d.ts.map +1 -0
- package/dist/arithmetic/fix.d.ts +30 -0
- package/dist/arithmetic/fix.d.ts.map +1 -0
- package/dist/arithmetic/floor.d.ts +22 -0
- package/dist/arithmetic/floor.d.ts.map +1 -0
- package/dist/arithmetic/gcd.d.ts +25 -0
- package/dist/arithmetic/gcd.d.ts.map +1 -0
- package/dist/arithmetic/hypot.d.ts +14 -0
- package/dist/arithmetic/hypot.d.ts.map +1 -0
- package/dist/arithmetic/invmod.d.ts +19 -0
- package/dist/arithmetic/invmod.d.ts.map +1 -0
- package/dist/arithmetic/lcm.d.ts +10 -0
- package/dist/arithmetic/lcm.d.ts.map +1 -0
- package/dist/arithmetic/log.d.ts +18 -0
- package/dist/arithmetic/log.d.ts.map +1 -0
- package/dist/arithmetic/log10.d.ts +18 -0
- package/dist/arithmetic/log10.d.ts.map +1 -0
- package/dist/arithmetic/log1p.d.ts +19 -0
- package/dist/arithmetic/log1p.d.ts.map +1 -0
- package/dist/arithmetic/log2.d.ts +17 -0
- package/dist/arithmetic/log2.d.ts.map +1 -0
- package/dist/arithmetic/mod.d.ts +15 -0
- package/dist/arithmetic/mod.d.ts.map +1 -0
- package/dist/arithmetic/multiplyScalar.d.ts +7 -0
- package/dist/arithmetic/multiplyScalar.d.ts.map +1 -0
- package/dist/arithmetic/norm.d.ts +33 -0
- package/dist/arithmetic/norm.d.ts.map +1 -0
- package/dist/arithmetic/nthRoot.d.ts +38 -0
- package/dist/arithmetic/nthRoot.d.ts.map +1 -0
- package/dist/arithmetic/nthRoots.d.ts +23 -0
- package/dist/arithmetic/nthRoots.d.ts.map +1 -0
- package/dist/arithmetic/pow.d.ts +34 -0
- package/dist/arithmetic/pow.d.ts.map +1 -0
- package/dist/arithmetic/round.d.ts +27 -0
- package/dist/arithmetic/round.d.ts.map +1 -0
- package/dist/arithmetic/sign.d.ts +31 -0
- package/dist/arithmetic/sign.d.ts.map +1 -0
- package/dist/arithmetic/sqrt.d.ts +16 -0
- package/dist/arithmetic/sqrt.d.ts.map +1 -0
- package/dist/arithmetic/square.d.ts +7 -0
- package/dist/arithmetic/square.d.ts.map +1 -0
- package/dist/arithmetic/subtract.d.ts +18 -0
- package/dist/arithmetic/subtract.d.ts.map +1 -0
- package/dist/arithmetic/subtractScalar.d.ts +7 -0
- package/dist/arithmetic/subtractScalar.d.ts.map +1 -0
- package/dist/arithmetic/unaryMinus.d.ts +10 -0
- package/dist/arithmetic/unaryMinus.d.ts.map +1 -0
- package/dist/arithmetic/unaryPlus.d.ts +10 -0
- package/dist/arithmetic/unaryPlus.d.ts.map +1 -0
- package/dist/arithmetic/utils/nodeOperations.d.ts +37 -0
- package/dist/arithmetic/utils/nodeOperations.d.ts.map +1 -0
- package/dist/arithmetic/xgcd.d.ts +25 -0
- package/dist/arithmetic/xgcd.d.ts.map +1 -0
- package/dist/bitwise/bitAnd.d.ts +10 -0
- package/dist/bitwise/bitAnd.d.ts.map +1 -0
- package/dist/bitwise/bitNot.d.ts +7 -0
- package/dist/bitwise/bitNot.d.ts.map +1 -0
- package/dist/bitwise/bitOr.d.ts +11 -0
- package/dist/bitwise/bitOr.d.ts.map +1 -0
- package/dist/bitwise/bitXor.d.ts +11 -0
- package/dist/bitwise/bitXor.d.ts.map +1 -0
- package/dist/bitwise/leftShift.d.ts +17 -0
- package/dist/bitwise/leftShift.d.ts.map +1 -0
- package/dist/bitwise/rightArithShift.d.ts +17 -0
- package/dist/bitwise/rightArithShift.d.ts.map +1 -0
- package/dist/bitwise/rightLogShift.d.ts +17 -0
- package/dist/bitwise/rightLogShift.d.ts.map +1 -0
- package/dist/bitwise/useMatrixForArrayScalar.d.ts +19 -0
- package/dist/bitwise/useMatrixForArrayScalar.d.ts.map +1 -0
- package/dist/combinatorics/bellNumbers.d.ts +14 -0
- package/dist/combinatorics/bellNumbers.d.ts.map +1 -0
- package/dist/combinatorics/catalan.d.ts +16 -0
- package/dist/combinatorics/catalan.d.ts.map +1 -0
- package/dist/combinatorics/composition.d.ts +16 -0
- package/dist/combinatorics/composition.d.ts.map +1 -0
- package/dist/combinatorics/stirlingS2.d.ts +22 -0
- package/dist/combinatorics/stirlingS2.d.ts.map +1 -0
- package/dist/complex/arg.d.ts +7 -0
- package/dist/complex/arg.d.ts.map +1 -0
- package/dist/complex/conj.d.ts +7 -0
- package/dist/complex/conj.d.ts.map +1 -0
- package/dist/complex/im.d.ts +7 -0
- package/dist/complex/im.d.ts.map +1 -0
- package/dist/complex/re.d.ts +7 -0
- package/dist/complex/re.d.ts.map +1 -0
- package/dist/core/config.d.ts +17 -0
- package/dist/core/config.d.ts.map +1 -0
- package/dist/core/create.d.ts +137 -0
- package/dist/core/create.d.ts.map +1 -0
- package/dist/core/function/config.d.ts +35 -0
- package/dist/core/function/config.d.ts.map +1 -0
- package/dist/core/function/import.d.ts +30 -0
- package/dist/core/function/import.d.ts.map +1 -0
- package/dist/core/function/typed.d.ts +127 -0
- package/dist/core/function/typed.d.ts.map +1 -0
- package/dist/error/ArgumentsError.d.ts +21 -0
- package/dist/error/ArgumentsError.d.ts.map +1 -0
- package/dist/error/DimensionError.d.ts +18 -0
- package/dist/error/DimensionError.d.ts.map +1 -0
- package/dist/error/IndexError.d.ts +24 -0
- package/dist/error/IndexError.d.ts.map +1 -0
- package/dist/error/MathjsError.d.ts +13 -0
- package/dist/error/MathjsError.d.ts.map +1 -0
- package/dist/expression/operators.d.ts +942 -0
- package/dist/expression/operators.d.ts.map +1 -0
- package/dist/factories/evaluate.d.ts +91 -0
- package/dist/factories/evaluate.d.ts.map +1 -0
- package/dist/factories/index.d.ts +317 -0
- package/dist/factories/index.d.ts.map +1 -0
- package/dist/factories/matrix-bridge.d.ts +241 -0
- package/dist/factories/matrix-bridge.d.ts.map +1 -0
- package/dist/factories/scope.d.ts +12 -0
- package/dist/factories/scope.d.ts.map +1 -0
- package/dist/geometry/distance.d.ts +15 -0
- package/dist/geometry/distance.d.ts.map +1 -0
- package/dist/geometry/intersect.d.ts +26 -0
- package/dist/geometry/intersect.d.ts.map +1 -0
- package/dist/index.d.ts +16 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +59 -30
- package/dist/logical/and.d.ts +17 -0
- package/dist/logical/and.d.ts.map +1 -0
- package/dist/logical/not.d.ts +7 -0
- package/dist/logical/not.d.ts.map +1 -0
- package/dist/logical/nullish.d.ts +11 -0
- package/dist/logical/nullish.d.ts.map +1 -0
- package/dist/logical/or.d.ts +15 -0
- package/dist/logical/or.d.ts.map +1 -0
- package/dist/logical/xor.d.ts +15 -0
- package/dist/logical/xor.d.ts.map +1 -0
- package/dist/matrix/column.d.ts +22 -0
- package/dist/matrix/column.d.ts.map +1 -0
- package/dist/matrix/concat.d.ts +6 -0
- package/dist/matrix/concat.d.ts.map +1 -0
- package/dist/matrix/count.d.ts +9 -0
- package/dist/matrix/count.d.ts.map +1 -0
- package/dist/matrix/cross.d.ts +7 -0
- package/dist/matrix/cross.d.ts.map +1 -0
- package/dist/matrix/ctranspose.d.ts +9 -0
- package/dist/matrix/ctranspose.d.ts.map +1 -0
- package/dist/matrix/det.d.ts +42 -0
- package/dist/matrix/det.d.ts.map +1 -0
- package/dist/matrix/diag.d.ts +26 -0
- package/dist/matrix/diag.d.ts.map +1 -0
- package/dist/matrix/diff.d.ts +8 -0
- package/dist/matrix/diff.d.ts.map +1 -0
- package/dist/matrix/dot.d.ts +17 -0
- package/dist/matrix/dot.d.ts.map +1 -0
- package/dist/matrix/eigs/complexEigs.d.ts +48 -0
- package/dist/matrix/eigs/complexEigs.d.ts.map +1 -0
- package/dist/matrix/eigs/realSymmetric.d.ts +34 -0
- package/dist/matrix/eigs/realSymmetric.d.ts.map +1 -0
- package/dist/matrix/eigs.d.ts +75 -0
- package/dist/matrix/eigs.d.ts.map +1 -0
- package/dist/matrix/expm.d.ts +26 -0
- package/dist/matrix/expm.d.ts.map +1 -0
- package/dist/matrix/fft.d.ts +41 -0
- package/dist/matrix/fft.d.ts.map +1 -0
- package/dist/matrix/filter.d.ts +7 -0
- package/dist/matrix/filter.d.ts.map +1 -0
- package/dist/matrix/flatten.d.ts +7 -0
- package/dist/matrix/flatten.d.ts.map +1 -0
- package/dist/matrix/forEach.d.ts +7 -0
- package/dist/matrix/forEach.d.ts.map +1 -0
- package/dist/matrix/getMatrixDataType.d.ts +7 -0
- package/dist/matrix/getMatrixDataType.d.ts.map +1 -0
- package/dist/matrix/identity.d.ts +41 -0
- package/dist/matrix/identity.d.ts.map +1 -0
- package/dist/matrix/ifft.d.ts +33 -0
- package/dist/matrix/ifft.d.ts.map +1 -0
- package/dist/matrix/inv.d.ts +48 -0
- package/dist/matrix/inv.d.ts.map +1 -0
- package/dist/matrix/kron.d.ts +17 -0
- package/dist/matrix/kron.d.ts.map +1 -0
- package/dist/matrix/map.d.ts +7 -0
- package/dist/matrix/map.d.ts.map +1 -0
- package/dist/matrix/mapSlices.d.ts +6 -0
- package/dist/matrix/mapSlices.d.ts.map +1 -0
- package/dist/matrix/matrixFromColumns.d.ts +36 -0
- package/dist/matrix/matrixFromColumns.d.ts.map +1 -0
- package/dist/matrix/matrixFromFunction.d.ts +7 -0
- package/dist/matrix/matrixFromFunction.d.ts.map +1 -0
- package/dist/matrix/matrixFromRows.d.ts +36 -0
- package/dist/matrix/matrixFromRows.d.ts.map +1 -0
- package/dist/matrix/ones.d.ts +3 -0
- package/dist/matrix/ones.d.ts.map +1 -0
- package/dist/matrix/partitionSelect.d.ts +13 -0
- package/dist/matrix/partitionSelect.d.ts.map +1 -0
- package/dist/matrix/pinv.d.ts +51 -0
- package/dist/matrix/pinv.d.ts.map +1 -0
- package/dist/matrix/range.d.ts +27 -0
- package/dist/matrix/range.d.ts.map +1 -0
- package/dist/matrix/reshape.d.ts +8 -0
- package/dist/matrix/reshape.d.ts.map +1 -0
- package/dist/matrix/resize.d.ts +17 -0
- package/dist/matrix/resize.d.ts.map +1 -0
- package/dist/matrix/rotate.d.ts +7 -0
- package/dist/matrix/rotate.d.ts.map +1 -0
- package/dist/matrix/rotationMatrix.d.ts +17 -0
- package/dist/matrix/rotationMatrix.d.ts.map +1 -0
- package/dist/matrix/row.d.ts +22 -0
- package/dist/matrix/row.d.ts.map +1 -0
- package/dist/matrix/size.d.ts +9 -0
- package/dist/matrix/size.d.ts.map +1 -0
- package/dist/matrix/sort.d.ts +8 -0
- package/dist/matrix/sort.d.ts.map +1 -0
- package/dist/matrix/sqrtm.d.ts +33 -0
- package/dist/matrix/sqrtm.d.ts.map +1 -0
- package/dist/matrix/squeeze.d.ts +7 -0
- package/dist/matrix/squeeze.d.ts.map +1 -0
- package/dist/matrix/subset.d.ts +7 -0
- package/dist/matrix/subset.d.ts.map +1 -0
- package/dist/matrix/trace.d.ts +25 -0
- package/dist/matrix/trace.d.ts.map +1 -0
- package/dist/matrix/transpose.d.ts +45 -0
- package/dist/matrix/transpose.d.ts.map +1 -0
- package/dist/matrix/utils/zerosAndOnes.d.ts +32 -0
- package/dist/matrix/utils/zerosAndOnes.d.ts.map +1 -0
- package/dist/matrix/zeros.d.ts +3 -0
- package/dist/matrix/zeros.d.ts.map +1 -0
- package/dist/numeric/solveODE.d.ts +2 -0
- package/dist/numeric/solveODE.d.ts.map +1 -0
- package/dist/plain/number/arithmetic.d.ts +168 -0
- package/dist/plain/number/arithmetic.d.ts.map +1 -0
- package/dist/plain/number/bitwise.d.ts +29 -0
- package/dist/plain/number/bitwise.d.ts.map +1 -0
- package/dist/plain/number/combinations.d.ts +5 -0
- package/dist/plain/number/combinations.d.ts.map +1 -0
- package/dist/plain/number/constants.d.ts +5 -0
- package/dist/plain/number/constants.d.ts.map +1 -0
- package/dist/plain/number/index.d.ts +10 -0
- package/dist/plain/number/index.d.ts.map +1 -0
- package/dist/plain/number/logical.d.ts +17 -0
- package/dist/plain/number/logical.d.ts.map +1 -0
- package/dist/plain/number/probability.d.ts +15 -0
- package/dist/plain/number/probability.d.ts.map +1 -0
- package/dist/plain/number/relational.d.ts +29 -0
- package/dist/plain/number/relational.d.ts.map +1 -0
- package/dist/plain/number/trigonometry.d.ts +101 -0
- package/dist/plain/number/trigonometry.d.ts.map +1 -0
- package/dist/plain/number/utils.d.ts +21 -0
- package/dist/plain/number/utils.d.ts.map +1 -0
- package/dist/probability/bernoulli.d.ts +19 -0
- package/dist/probability/bernoulli.d.ts.map +1 -0
- package/dist/probability/combinations.d.ts +7 -0
- package/dist/probability/combinations.d.ts.map +1 -0
- package/dist/probability/combinationsWithRep.d.ts +7 -0
- package/dist/probability/combinationsWithRep.d.ts.map +1 -0
- package/dist/probability/factorial.d.ts +8 -0
- package/dist/probability/factorial.d.ts.map +1 -0
- package/dist/probability/gamma.d.ts +45 -0
- package/dist/probability/gamma.d.ts.map +1 -0
- package/dist/probability/kldivergence.d.ts +18 -0
- package/dist/probability/kldivergence.d.ts.map +1 -0
- package/dist/probability/lgamma.d.ts +24 -0
- package/dist/probability/lgamma.d.ts.map +1 -0
- package/dist/probability/multinomial.d.ts +13 -0
- package/dist/probability/multinomial.d.ts.map +1 -0
- package/dist/probability/permutations.d.ts +8 -0
- package/dist/probability/permutations.d.ts.map +1 -0
- package/dist/probability/pickRandom.d.ts +10 -0
- package/dist/probability/pickRandom.d.ts.map +1 -0
- package/dist/probability/random.d.ts +11 -0
- package/dist/probability/random.d.ts.map +1 -0
- package/dist/probability/randomInt.d.ts +11 -0
- package/dist/probability/randomInt.d.ts.map +1 -0
- package/dist/probability/util/randomMatrix.d.ts +10 -0
- package/dist/probability/util/randomMatrix.d.ts.map +1 -0
- package/dist/probability/util/seededRNG.d.ts +4 -0
- package/dist/probability/util/seededRNG.d.ts.map +1 -0
- package/dist/relational/compare.d.ts +38 -0
- package/dist/relational/compare.d.ts.map +1 -0
- package/dist/relational/compareNatural.d.ts +8 -0
- package/dist/relational/compareNatural.d.ts.map +1 -0
- package/dist/relational/compareText.d.ts +15 -0
- package/dist/relational/compareText.d.ts.map +1 -0
- package/dist/relational/compareUnits.d.ts +9 -0
- package/dist/relational/compareUnits.d.ts.map +1 -0
- package/dist/relational/deepEqual.d.ts +8 -0
- package/dist/relational/deepEqual.d.ts.map +1 -0
- package/dist/relational/equal.d.ts +26 -0
- package/dist/relational/equal.d.ts.map +1 -0
- package/dist/relational/equalScalar.d.ts +11 -0
- package/dist/relational/equalScalar.d.ts.map +1 -0
- package/dist/relational/equalText.d.ts +9 -0
- package/dist/relational/equalText.d.ts.map +1 -0
- package/dist/relational/larger.d.ts +34 -0
- package/dist/relational/larger.d.ts.map +1 -0
- package/dist/relational/largerEq.d.ts +27 -0
- package/dist/relational/largerEq.d.ts.map +1 -0
- package/dist/relational/smaller.d.ts +34 -0
- package/dist/relational/smaller.d.ts.map +1 -0
- package/dist/relational/smallerEq.d.ts +27 -0
- package/dist/relational/smallerEq.d.ts.map +1 -0
- package/dist/relational/unequal.d.ts +28 -0
- package/dist/relational/unequal.d.ts.map +1 -0
- package/dist/set/setCartesian.d.ts +15 -0
- package/dist/set/setCartesian.d.ts.map +1 -0
- package/dist/set/setDifference.d.ts +15 -0
- package/dist/set/setDifference.d.ts.map +1 -0
- package/dist/set/setDistinct.d.ts +2 -0
- package/dist/set/setDistinct.d.ts.map +1 -0
- package/dist/set/setIntersect.d.ts +15 -0
- package/dist/set/setIntersect.d.ts.map +1 -0
- package/dist/set/setIsSubset.d.ts +2 -0
- package/dist/set/setIsSubset.d.ts.map +1 -0
- package/dist/set/setMultiplicity.d.ts +2 -0
- package/dist/set/setMultiplicity.d.ts.map +1 -0
- package/dist/set/setPowerset.d.ts +2 -0
- package/dist/set/setPowerset.d.ts.map +1 -0
- package/dist/set/setSize.d.ts +2 -0
- package/dist/set/setSize.d.ts.map +1 -0
- package/dist/set/setSymDifference.d.ts +15 -0
- package/dist/set/setSymDifference.d.ts.map +1 -0
- package/dist/set/setUnion.d.ts +16 -0
- package/dist/set/setUnion.d.ts.map +1 -0
- package/dist/signal/freqz.d.ts +2 -0
- package/dist/signal/freqz.d.ts.map +1 -0
- package/dist/signal/zpk2tf.d.ts +2 -0
- package/dist/signal/zpk2tf.d.ts.map +1 -0
- package/dist/special/erf.d.ts +7 -0
- package/dist/special/erf.d.ts.map +1 -0
- package/dist/special/zeta.d.ts +38 -0
- package/dist/special/zeta.d.ts.map +1 -0
- package/dist/statistics/corr.d.ts +18 -0
- package/dist/statistics/corr.d.ts.map +1 -0
- package/dist/statistics/cumsum.d.ts +9 -0
- package/dist/statistics/cumsum.d.ts.map +1 -0
- package/dist/statistics/mad.d.ts +11 -0
- package/dist/statistics/mad.d.ts.map +1 -0
- package/dist/statistics/max.d.ts +12 -0
- package/dist/statistics/max.d.ts.map +1 -0
- package/dist/statistics/mean.d.ts +9 -0
- package/dist/statistics/mean.d.ts.map +1 -0
- package/dist/statistics/median.d.ts +11 -0
- package/dist/statistics/median.d.ts.map +1 -0
- package/dist/statistics/min.d.ts +12 -0
- package/dist/statistics/min.d.ts.map +1 -0
- package/dist/statistics/mode.d.ts +9 -0
- package/dist/statistics/mode.d.ts.map +1 -0
- package/dist/statistics/prod.d.ts +12 -0
- package/dist/statistics/prod.d.ts.map +1 -0
- package/dist/statistics/quantileSeq.d.ts +26 -0
- package/dist/statistics/quantileSeq.d.ts.map +1 -0
- package/dist/statistics/std.d.ts +10 -0
- package/dist/statistics/std.d.ts.map +1 -0
- package/dist/statistics/sum.d.ts +12 -0
- package/dist/statistics/sum.d.ts.map +1 -0
- package/dist/statistics/utils/improveErrorMessage.d.ts +18 -0
- package/dist/statistics/utils/improveErrorMessage.d.ts.map +1 -0
- package/dist/statistics/variance.d.ts +13 -0
- package/dist/statistics/variance.d.ts.map +1 -0
- package/dist/string/bin.d.ts +36 -0
- package/dist/string/bin.d.ts.map +1 -0
- package/dist/string/format.d.ts +7 -0
- package/dist/string/format.d.ts.map +1 -0
- package/dist/string/hex.d.ts +35 -0
- package/dist/string/hex.d.ts.map +1 -0
- package/dist/string/oct.d.ts +36 -0
- package/dist/string/oct.d.ts.map +1 -0
- package/dist/string/print.d.ts +7 -0
- package/dist/string/print.d.ts.map +1 -0
- package/dist/trigonometry/acos.d.ts +16 -0
- package/dist/trigonometry/acos.d.ts.map +1 -0
- package/dist/trigonometry/acosh.d.ts +14 -0
- package/dist/trigonometry/acosh.d.ts.map +1 -0
- package/dist/trigonometry/acot.d.ts +12 -0
- package/dist/trigonometry/acot.d.ts.map +1 -0
- package/dist/trigonometry/acoth.d.ts +19 -0
- package/dist/trigonometry/acoth.d.ts.map +1 -0
- package/dist/trigonometry/acsc.d.ts +19 -0
- package/dist/trigonometry/acsc.d.ts.map +1 -0
- package/dist/trigonometry/acsch.d.ts +12 -0
- package/dist/trigonometry/acsch.d.ts.map +1 -0
- package/dist/trigonometry/asec.d.ts +19 -0
- package/dist/trigonometry/asec.d.ts.map +1 -0
- package/dist/trigonometry/asech.d.ts +19 -0
- package/dist/trigonometry/asech.d.ts.map +1 -0
- package/dist/trigonometry/asin.d.ts +16 -0
- package/dist/trigonometry/asin.d.ts.map +1 -0
- package/dist/trigonometry/asinh.d.ts +5 -0
- package/dist/trigonometry/asinh.d.ts.map +1 -0
- package/dist/trigonometry/atan.d.ts +7 -0
- package/dist/trigonometry/atan.d.ts.map +1 -0
- package/dist/trigonometry/atan2.d.ts +22 -0
- package/dist/trigonometry/atan2.d.ts.map +1 -0
- package/dist/trigonometry/atanh.d.ts +14 -0
- package/dist/trigonometry/atanh.d.ts.map +1 -0
- package/dist/trigonometry/cos.d.ts +7 -0
- package/dist/trigonometry/cos.d.ts.map +1 -0
- package/dist/trigonometry/cosh.d.ts +7 -0
- package/dist/trigonometry/cosh.d.ts.map +1 -0
- package/dist/trigonometry/cot.d.ts +12 -0
- package/dist/trigonometry/cot.d.ts.map +1 -0
- package/dist/trigonometry/coth.d.ts +12 -0
- package/dist/trigonometry/coth.d.ts.map +1 -0
- package/dist/trigonometry/csc.d.ts +12 -0
- package/dist/trigonometry/csc.d.ts.map +1 -0
- package/dist/trigonometry/csch.d.ts +12 -0
- package/dist/trigonometry/csch.d.ts.map +1 -0
- package/dist/trigonometry/sec.d.ts +12 -0
- package/dist/trigonometry/sec.d.ts.map +1 -0
- package/dist/trigonometry/sech.d.ts +12 -0
- package/dist/trigonometry/sech.d.ts.map +1 -0
- package/dist/trigonometry/sin.d.ts +7 -0
- package/dist/trigonometry/sin.d.ts.map +1 -0
- package/dist/trigonometry/sinh.d.ts +7 -0
- package/dist/trigonometry/sinh.d.ts.map +1 -0
- package/dist/trigonometry/tan.d.ts +7 -0
- package/dist/trigonometry/tan.d.ts.map +1 -0
- package/dist/trigonometry/tanh.d.ts +7 -0
- package/dist/trigonometry/tanh.d.ts.map +1 -0
- package/dist/trigonometry/trigUnit.d.ts +9 -0
- package/dist/trigonometry/trigUnit.d.ts.map +1 -0
- package/dist/type/bignumber/BigNumber.d.ts +46 -0
- package/dist/type/bignumber/BigNumber.d.ts.map +1 -0
- package/dist/type/chain/Chain.d.ts +58 -0
- package/dist/type/chain/Chain.d.ts.map +1 -0
- package/dist/type/chain/function/chain.d.ts +6 -0
- package/dist/type/chain/function/chain.d.ts.map +1 -0
- package/dist/type/complex/Complex.d.ts +74 -0
- package/dist/type/complex/Complex.d.ts.map +1 -0
- package/dist/type/local/Decimal.d.ts +223 -0
- package/dist/type/local/Decimal.d.ts.map +1 -0
- package/dist/type/matrix/FibonacciHeap.d.ts +59 -0
- package/dist/type/matrix/FibonacciHeap.d.ts.map +1 -0
- package/dist/type/matrix/ImmutableDenseMatrix.d.ts +282 -0
- package/dist/type/matrix/ImmutableDenseMatrix.d.ts.map +1 -0
- package/dist/type/matrix/MatrixIndex.d.ts +386 -0
- package/dist/type/matrix/MatrixIndex.d.ts.map +1 -0
- package/dist/type/matrix/Spa.d.ts +40 -0
- package/dist/type/matrix/Spa.d.ts.map +1 -0
- package/dist/type/matrix/function/index.d.ts +11 -0
- package/dist/type/matrix/function/index.d.ts.map +1 -0
- package/dist/type/matrix/types.d.ts +435 -0
- package/dist/type/matrix/types.d.ts.map +1 -0
- package/dist/type/matrix/utils/broadcast.d.ts +18 -0
- package/dist/type/matrix/utils/broadcast.d.ts.map +1 -0
- package/dist/type/matrix/utils/matAlgo01xDSid.d.ts +34 -0
- package/dist/type/matrix/utils/matAlgo01xDSid.d.ts.map +1 -0
- package/dist/type/matrix/utils/matAlgo02xDS0.d.ts +32 -0
- package/dist/type/matrix/utils/matAlgo02xDS0.d.ts.map +1 -0
- package/dist/type/matrix/utils/matAlgo03xDSf.d.ts +31 -0
- package/dist/type/matrix/utils/matAlgo03xDSf.d.ts.map +1 -0
- package/dist/type/matrix/utils/matAlgo04xSidSid.d.ts +21 -0
- package/dist/type/matrix/utils/matAlgo04xSidSid.d.ts.map +1 -0
- package/dist/type/matrix/utils/matAlgo05xSfSf.d.ts +21 -0
- package/dist/type/matrix/utils/matAlgo05xSfSf.d.ts.map +1 -0
- package/dist/type/matrix/utils/matAlgo06xS0S0.d.ts +21 -0
- package/dist/type/matrix/utils/matAlgo06xS0S0.d.ts.map +1 -0
- package/dist/type/matrix/utils/matAlgo07xSSf.d.ts +26 -0
- package/dist/type/matrix/utils/matAlgo07xSSf.d.ts.map +1 -0
- package/dist/type/matrix/utils/matAlgo08xS0Sid.d.ts +21 -0
- package/dist/type/matrix/utils/matAlgo08xS0Sid.d.ts.map +1 -0
- package/dist/type/matrix/utils/matAlgo09xS0Sf.d.ts +21 -0
- package/dist/type/matrix/utils/matAlgo09xS0Sf.d.ts.map +1 -0
- package/dist/type/matrix/utils/matAlgo10xSids.d.ts +33 -0
- package/dist/type/matrix/utils/matAlgo10xSids.d.ts.map +1 -0
- package/dist/type/matrix/utils/matAlgo11xS0s.d.ts +19 -0
- package/dist/type/matrix/utils/matAlgo11xS0s.d.ts.map +1 -0
- package/dist/type/matrix/utils/matAlgo12xSfs.d.ts +33 -0
- package/dist/type/matrix/utils/matAlgo12xSfs.d.ts.map +1 -0
- package/dist/type/matrix/utils/matAlgo13xDD.d.ts +20 -0
- package/dist/type/matrix/utils/matAlgo13xDD.d.ts.map +1 -0
- package/dist/type/matrix/utils/matAlgo14xDs.d.ts +19 -0
- package/dist/type/matrix/utils/matAlgo14xDs.d.ts.map +1 -0
- package/dist/type/matrix/utils/matrixAlgorithmSuite.d.ts +23 -0
- package/dist/type/matrix/utils/matrixAlgorithmSuite.d.ts.map +1 -0
- package/dist/type/resultset/ResultSet.d.ts +28 -0
- package/dist/type/resultset/ResultSet.d.ts.map +1 -0
- package/dist/type/unit/Unit.d.ts +13907 -0
- package/dist/type/unit/Unit.d.ts.map +1 -0
- package/dist/type/unit/function/createUnit.d.ts +40 -0
- package/dist/type/unit/function/createUnit.d.ts.map +1 -0
- package/dist/type/unit/function/splitUnit.d.ts +10 -0
- package/dist/type/unit/function/splitUnit.d.ts.map +1 -0
- package/dist/type/unit/function/unit.d.ts +27 -0
- package/dist/type/unit/function/unit.d.ts.map +1 -0
- package/dist/type/unit/physicalConstants.d.ts +89 -0
- package/dist/type/unit/physicalConstants.d.ts.map +1 -0
- package/dist/typed/algebra.d.ts +418 -0
- package/dist/typed/algebra.d.ts.map +1 -0
- package/dist/typed/arithmetic.d.ts +302 -0
- package/dist/typed/arithmetic.d.ts.map +1 -0
- package/dist/typed/bitwise.d.ts +48 -0
- package/dist/typed/bitwise.d.ts.map +1 -0
- package/dist/typed/cas.d.ts +691 -0
- package/dist/typed/cas.d.ts.map +1 -0
- package/dist/typed/combinatorics.d.ts +333 -0
- package/dist/typed/combinatorics.d.ts.map +1 -0
- package/dist/typed/complex.d.ts +91 -0
- package/dist/typed/complex.d.ts.map +1 -0
- package/dist/typed/dist-objects.d.ts +219 -0
- package/dist/typed/dist-objects.d.ts.map +1 -0
- package/dist/typed/distributions.d.ts +247 -0
- package/dist/typed/distributions.d.ts.map +1 -0
- package/dist/typed/geometry.d.ts +329 -0
- package/dist/typed/geometry.d.ts.map +1 -0
- package/dist/typed/gpu.d.ts +62 -0
- package/dist/typed/gpu.d.ts.map +1 -0
- package/dist/typed/graph.d.ts +339 -0
- package/dist/typed/graph.d.ts.map +1 -0
- package/dist/typed/hypothesis.d.ts +274 -0
- package/dist/typed/hypothesis.d.ts.map +1 -0
- package/dist/typed/index.d.ts +299 -0
- package/dist/typed/index.d.ts.map +1 -0
- package/dist/typed/integration.d.ts +219 -0
- package/dist/typed/integration.d.ts.map +1 -0
- package/dist/typed/interpolation.d.ts +189 -0
- package/dist/typed/interpolation.d.ts.map +1 -0
- package/dist/typed/logical.d.ts +87 -0
- package/dist/typed/logical.d.ts.map +1 -0
- package/dist/typed/matrix-ops.d.ts +303 -0
- package/dist/typed/matrix-ops.d.ts.map +1 -0
- package/dist/typed/numeric.d.ts +395 -0
- package/dist/typed/numeric.d.ts.map +1 -0
- package/dist/typed/probability.d.ts +165 -0
- package/dist/typed/probability.d.ts.map +1 -0
- package/dist/typed/relational.d.ts +136 -0
- package/dist/typed/relational.d.ts.map +1 -0
- package/dist/typed/set.d.ts +145 -0
- package/dist/typed/set.d.ts.map +1 -0
- package/dist/typed/signal.d.ts +427 -0
- package/dist/typed/signal.d.ts.map +1 -0
- package/dist/typed/special.d.ts +469 -0
- package/dist/typed/special.d.ts.map +1 -0
- package/dist/typed/statistics.d.ts +174 -0
- package/dist/typed/statistics.d.ts.map +1 -0
- package/dist/typed/string.d.ts +114 -0
- package/dist/typed/string.d.ts.map +1 -0
- package/dist/typed/trigonometry.d.ts +111 -0
- package/dist/typed/trigonometry.d.ts.map +1 -0
- package/dist/typed/typed-bridge.d.ts +6 -0
- package/dist/typed/typed-bridge.d.ts.map +1 -0
- package/dist/typed/unit.d.ts +60 -0
- package/dist/typed/unit.d.ts.map +1 -0
- package/dist/types.d.ts +20 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/unit/to.d.ts +13 -0
- package/dist/unit/to.d.ts.map +1 -0
- package/dist/unit/toBest.d.ts +5 -0
- package/dist/unit/toBest.d.ts.map +1 -0
- package/dist/utils/array.d.ts +249 -0
- package/dist/utils/array.d.ts.map +1 -0
- package/dist/utils/bigint.d.ts +18 -0
- package/dist/utils/bigint.d.ts.map +1 -0
- package/dist/utils/bignumber/bitwise.d.ts +99 -0
- package/dist/utils/bignumber/bitwise.d.ts.map +1 -0
- package/dist/utils/bignumber/constants.d.ts +25 -0
- package/dist/utils/bignumber/constants.d.ts.map +1 -0
- package/dist/utils/bignumber/formatter.d.ts +105 -0
- package/dist/utils/bignumber/formatter.d.ts.map +1 -0
- package/dist/utils/bignumber/nearlyEqual.d.ts +18 -0
- package/dist/utils/bignumber/nearlyEqual.d.ts.map +1 -0
- package/dist/utils/clone.d.ts +7 -0
- package/dist/utils/clone.d.ts.map +1 -0
- package/dist/utils/collection.d.ts +67 -0
- package/dist/utils/collection.d.ts.map +1 -0
- package/dist/utils/complex.d.ts +11 -0
- package/dist/utils/complex.d.ts.map +1 -0
- package/dist/utils/customs.d.ts +51 -0
- package/dist/utils/customs.d.ts.map +1 -0
- package/dist/utils/emitter.d.ts +13 -0
- package/dist/utils/emitter.d.ts.map +1 -0
- package/dist/utils/factory.d.ts +112 -0
- package/dist/utils/factory.d.ts.map +1 -0
- package/dist/utils/function.d.ts +44 -0
- package/dist/utils/function.d.ts.map +1 -0
- package/dist/utils/hasNumericValue.d.ts +8 -0
- package/dist/utils/hasNumericValue.d.ts.map +1 -0
- package/dist/utils/is.d.ts +204 -0
- package/dist/utils/is.d.ts.map +1 -0
- package/dist/utils/isBounded.d.ts +6 -0
- package/dist/utils/isBounded.d.ts.map +1 -0
- package/dist/utils/isFinite.d.ts +10 -0
- package/dist/utils/isFinite.d.ts.map +1 -0
- package/dist/utils/isInteger.d.ts +8 -0
- package/dist/utils/isInteger.d.ts.map +1 -0
- package/dist/utils/isNaN.d.ts +7 -0
- package/dist/utils/isNaN.d.ts.map +1 -0
- package/dist/utils/isNegative.d.ts +9 -0
- package/dist/utils/isNegative.d.ts.map +1 -0
- package/dist/utils/isNumeric.d.ts +6 -0
- package/dist/utils/isNumeric.d.ts.map +1 -0
- package/dist/utils/isPositive.d.ts +9 -0
- package/dist/utils/isPositive.d.ts.map +1 -0
- package/dist/utils/isPrime.d.ts +7 -0
- package/dist/utils/isPrime.d.ts.map +1 -0
- package/dist/utils/isZero.d.ts +8 -0
- package/dist/utils/isZero.d.ts.map +1 -0
- package/dist/utils/log.d.ts +5 -0
- package/dist/utils/log.d.ts.map +1 -0
- package/dist/utils/lruQueue.d.ts +6 -0
- package/dist/utils/lruQueue.d.ts.map +1 -0
- package/dist/utils/map.d.ts +95 -0
- package/dist/utils/map.d.ts.map +1 -0
- package/dist/utils/node.d.ts +2 -0
- package/dist/utils/node.d.ts.map +1 -0
- package/dist/utils/noop.d.ts +6 -0
- package/dist/utils/noop.d.ts.map +1 -0
- package/dist/utils/number.d.ts +314 -0
- package/dist/utils/number.d.ts.map +1 -0
- package/dist/utils/numeric.d.ts +10 -0
- package/dist/utils/numeric.d.ts.map +1 -0
- package/dist/utils/object.d.ts +123 -0
- package/dist/utils/object.d.ts.map +1 -0
- package/dist/utils/optimizeCallback.d.ts +22 -0
- package/dist/utils/optimizeCallback.d.ts.map +1 -0
- package/dist/utils/parseNumber.d.ts +2 -0
- package/dist/utils/parseNumber.d.ts.map +1 -0
- package/dist/utils/print.d.ts +2 -0
- package/dist/utils/print.d.ts.map +1 -0
- package/dist/utils/product.d.ts +6 -0
- package/dist/utils/product.d.ts.map +1 -0
- package/dist/utils/string.d.ts +66 -0
- package/dist/utils/string.d.ts.map +1 -0
- package/dist/utils/switch.d.ts +8 -0
- package/dist/utils/switch.d.ts.map +1 -0
- package/dist/utils/typeOf.d.ts +7 -0
- package/dist/utils/typeOf.d.ts.map +1 -0
- package/dist/wasm/WasmLoader.d.ts +395 -0
- package/dist/wasm/WasmLoader.d.ts.map +1 -0
- package/dist/wasm/bitwise/wasm-bridge.d.ts +65 -0
- package/dist/wasm/bitwise/wasm-bridge.d.ts.map +1 -0
- package/dist/wasm/integrity.d.ts +48 -0
- package/dist/wasm/integrity.d.ts.map +1 -0
- package/dist/wasm/interpolation/wasm-bridge.d.ts +95 -0
- package/dist/wasm/interpolation/wasm-bridge.d.ts.map +1 -0
- package/dist/wasm/poly/wasm-bridge.d.ts +99 -0
- package/dist/wasm/poly/wasm-bridge.d.ts.map +1 -0
- package/dist/wasm/signal/wasm-bridge.d.ts +61 -0
- package/dist/wasm/signal/wasm-bridge.d.ts.map +1 -0
- package/dist/wasm/sort/wasm-bridge.d.ts +43 -0
- package/dist/wasm/sort/wasm-bridge.d.ts.map +1 -0
- package/dist/wasm/special/wasm-bridge.d.ts +133 -0
- package/dist/wasm/special/wasm-bridge.d.ts.map +1 -0
- package/package.json +2 -2
|
@@ -0,0 +1,339 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Graph Theory Functions
|
|
3
|
+
*
|
|
4
|
+
* Provides fundamental graph algorithms operating on adjacency matrices:
|
|
5
|
+
* - adjacencyMatrix: create adjacency matrix from edge list
|
|
6
|
+
* - shortestPath: Dijkstra's algorithm for shortest path
|
|
7
|
+
* - minimumSpanningTree: Prim's algorithm for MST
|
|
8
|
+
* - connectedComponents: BFS-based component detection
|
|
9
|
+
* - stronglyConnectedComponents: Tarjan's algorithm for directed graphs
|
|
10
|
+
* - topologicalSort: Kahn's algorithm for DAGs
|
|
11
|
+
* - isConnected: check if graph is connected
|
|
12
|
+
* - graphDistance: shortest path length between two nodes
|
|
13
|
+
* - pageRank: PageRank centrality with optional random-restart fan-out (Slice 5.13)
|
|
14
|
+
* - betweennessCentrality: Brandes betweenness centrality with optional restarts
|
|
15
|
+
* - eigenvectorCentrality: power-iteration eigenvector centrality with optional restarts
|
|
16
|
+
*
|
|
17
|
+
* Input format: adjacency matrix as number[][] where adj[i][j] > 0
|
|
18
|
+
* means an edge from i to j with that weight.
|
|
19
|
+
*
|
|
20
|
+
* Worker-dispatch strategy (Slice 5.13) — centrality random-restart fan-out:
|
|
21
|
+
* - When `restarts >= CENTRALITY_WORKER_THRESHOLD` (4), the N independent
|
|
22
|
+
* restart computations are fanned out via `Promise.all`. Each restart uses a
|
|
23
|
+
* different random-initialisation seed derived from the caller-supplied
|
|
24
|
+
* `restartSeed` via SplitMix64-style hashing:
|
|
25
|
+
* `seed_k = (baseSeed ^ (k * 0x9E3779B97F4A7C15)) >>> 0`
|
|
26
|
+
* - Graph serialisation: the adjacency matrix is plain `number[][]` and is
|
|
27
|
+
* passed directly. Option B (main-thread fan-out) is used because registering
|
|
28
|
+
* a new worker handler would require modifying packages/workerpool/src/worker.ts
|
|
29
|
+
* which is outside this slice's scope.
|
|
30
|
+
*
|
|
31
|
+
* @packageDocumentation
|
|
32
|
+
*/
|
|
33
|
+
/**
|
|
34
|
+
* Create an adjacency matrix from an edge list.
|
|
35
|
+
*
|
|
36
|
+
* @param edges - Array of [from, to] or [from, to, weight] tuples
|
|
37
|
+
* @param n - Number of nodes in the graph
|
|
38
|
+
* @param directed - Whether the graph is directed (default false)
|
|
39
|
+
* @returns n x n adjacency matrix
|
|
40
|
+
*
|
|
41
|
+
* @example
|
|
42
|
+
* adjacencyMatrix([[0, 1], [1, 2]], 3)
|
|
43
|
+
* // => [[0, 1, 0], [1, 0, 1], [0, 1, 0]] (undirected)
|
|
44
|
+
*/
|
|
45
|
+
export declare function adjacencyMatrix(edges: number[][], n: number, directed?: boolean): number[][];
|
|
46
|
+
/**
|
|
47
|
+
* Find the shortest path between two nodes using Dijkstra's algorithm.
|
|
48
|
+
*
|
|
49
|
+
* Returns the sequence of node indices from start to end.
|
|
50
|
+
* Returns an empty array if no path exists.
|
|
51
|
+
*
|
|
52
|
+
* Time complexity: O(V^2) with simple linear scan.
|
|
53
|
+
*
|
|
54
|
+
* @param adj - Adjacency matrix (weights must be non-negative)
|
|
55
|
+
* @param start - Source node index
|
|
56
|
+
* @param end - Destination node index
|
|
57
|
+
* @returns Array of node indices forming the shortest path
|
|
58
|
+
*
|
|
59
|
+
* @example
|
|
60
|
+
* const adj = [[0,1,0],[1,0,1],[0,1,0]];
|
|
61
|
+
* shortestPath(adj, 0, 2) // => [0, 1, 2]
|
|
62
|
+
*/
|
|
63
|
+
export declare function shortestPath(adj: number[][], start: number, end: number): number[];
|
|
64
|
+
/**
|
|
65
|
+
* Find the minimum spanning tree using Prim's algorithm.
|
|
66
|
+
*
|
|
67
|
+
* Returns edges of the MST as [from, to, weight] tuples.
|
|
68
|
+
* The graph must be connected for a valid MST.
|
|
69
|
+
*
|
|
70
|
+
* Time complexity: O(V^2)
|
|
71
|
+
*
|
|
72
|
+
* @param adj - Adjacency matrix (undirected, symmetric)
|
|
73
|
+
* @returns Array of MST edges as [from, to, weight]
|
|
74
|
+
*
|
|
75
|
+
* @example
|
|
76
|
+
* const adj = [[0,2,0],[2,0,1],[0,1,0]];
|
|
77
|
+
* minimumSpanningTree(adj) // => [[0, 1, 2], [1, 2, 1]]
|
|
78
|
+
*/
|
|
79
|
+
export declare function minimumSpanningTree(adj: number[][]): number[][];
|
|
80
|
+
/**
|
|
81
|
+
* Find all connected components in an undirected graph.
|
|
82
|
+
*
|
|
83
|
+
* Returns an array of component arrays, where each component is an
|
|
84
|
+
* array of node indices belonging to that component.
|
|
85
|
+
*
|
|
86
|
+
* @param adj - Adjacency matrix (undirected)
|
|
87
|
+
* @returns Array of connected components
|
|
88
|
+
*
|
|
89
|
+
* @example
|
|
90
|
+
* const adj = [[0,1,0],[1,0,0],[0,0,0]];
|
|
91
|
+
* connectedComponents(adj) // => [[0, 1], [2]]
|
|
92
|
+
*/
|
|
93
|
+
export declare function connectedComponents(adj: number[][]): number[][];
|
|
94
|
+
/**
|
|
95
|
+
* Find strongly connected components in a directed graph using Tarjan's algorithm.
|
|
96
|
+
*
|
|
97
|
+
* Returns an array of SCC arrays, each containing node indices.
|
|
98
|
+
*
|
|
99
|
+
* @param adj - Adjacency matrix (directed)
|
|
100
|
+
* @returns Array of strongly connected components
|
|
101
|
+
*
|
|
102
|
+
* @example
|
|
103
|
+
* const adj = [[0,1,0],[0,0,1],[1,0,0]];
|
|
104
|
+
* stronglyConnectedComponents(adj) // => [[2, 1, 0]]
|
|
105
|
+
*/
|
|
106
|
+
export declare function stronglyConnectedComponents(adj: number[][]): number[][];
|
|
107
|
+
/**
|
|
108
|
+
* Topological sort of a directed acyclic graph using Kahn's algorithm.
|
|
109
|
+
*
|
|
110
|
+
* Returns an array of node indices in topological order.
|
|
111
|
+
* Throws if the graph contains a cycle.
|
|
112
|
+
*
|
|
113
|
+
* @param adj - Adjacency matrix (directed, acyclic)
|
|
114
|
+
* @returns Topologically sorted node indices
|
|
115
|
+
*
|
|
116
|
+
* @example
|
|
117
|
+
* const adj = [[0,1,0],[0,0,1],[0,0,0]];
|
|
118
|
+
* topologicalSort(adj) // => [0, 1, 2]
|
|
119
|
+
*/
|
|
120
|
+
export declare function topologicalSort(adj: number[][]): number[];
|
|
121
|
+
/**
|
|
122
|
+
* Check if an undirected graph is connected.
|
|
123
|
+
*
|
|
124
|
+
* A graph is connected if there is a path between every pair of vertices.
|
|
125
|
+
*
|
|
126
|
+
* @param adj - Adjacency matrix (undirected)
|
|
127
|
+
* @returns true if the graph is connected
|
|
128
|
+
*
|
|
129
|
+
* @example
|
|
130
|
+
* isConnected([[0,1],[1,0]]) // => true
|
|
131
|
+
* isConnected([[0,0],[0,0]]) // => false
|
|
132
|
+
*/
|
|
133
|
+
export declare function isConnected(adj: number[][]): boolean;
|
|
134
|
+
/**
|
|
135
|
+
* Compute the shortest path length (distance) between two nodes.
|
|
136
|
+
*
|
|
137
|
+
* Uses Dijkstra's algorithm internally.
|
|
138
|
+
* Returns Infinity if no path exists.
|
|
139
|
+
*
|
|
140
|
+
* @param adj - Adjacency matrix
|
|
141
|
+
* @param start - Source node index
|
|
142
|
+
* @param end - Destination node index
|
|
143
|
+
* @returns Shortest path distance (sum of edge weights)
|
|
144
|
+
*
|
|
145
|
+
* @example
|
|
146
|
+
* const adj = [[0,3,0],[3,0,2],[0,2,0]];
|
|
147
|
+
* graphDistance(adj, 0, 2) // => 5
|
|
148
|
+
*/
|
|
149
|
+
export declare function graphDistance(adj: number[][], start: number, end: number): number;
|
|
150
|
+
/**
|
|
151
|
+
* Minimum restart count before fanning out via Promise.all rather than running
|
|
152
|
+
* sequentially. Below this threshold restarts run one after another on the
|
|
153
|
+
* current microtask, avoiding Promise scheduling overhead for the common
|
|
154
|
+
* single-restart case.
|
|
155
|
+
*/
|
|
156
|
+
export declare const CENTRALITY_WORKER_THRESHOLD = 4;
|
|
157
|
+
/**
|
|
158
|
+
* Shared options for centrality functions that support random-restart
|
|
159
|
+
* fan-out (Slice 5.13).
|
|
160
|
+
*/
|
|
161
|
+
export interface CentralityRestartOptions {
|
|
162
|
+
/**
|
|
163
|
+
* Number of independent restarts to run (default 1 — no fan-out).
|
|
164
|
+
* When `restarts >= CENTRALITY_WORKER_THRESHOLD` (4) the restarts are
|
|
165
|
+
* dispatched as a `Promise.all` fan-out.
|
|
166
|
+
*/
|
|
167
|
+
restarts?: number;
|
|
168
|
+
/**
|
|
169
|
+
* Base seed for reproducible restart initialisation. Each restart k
|
|
170
|
+
* receives a derived seed:
|
|
171
|
+
* `seed_k = ((baseSeed ^ (k * 0x9E3779B97F4A7C15)) >>> 0)`
|
|
172
|
+
* Default: 0 (non-reproducible — uses `Math.random()`).
|
|
173
|
+
*/
|
|
174
|
+
restartSeed?: number;
|
|
175
|
+
/**
|
|
176
|
+
* How to aggregate multi-restart results.
|
|
177
|
+
* - `'mean'` (default): return the element-wise average rank vector.
|
|
178
|
+
* - `'all'`: return all N rank vectors plus their mean and std.
|
|
179
|
+
*/
|
|
180
|
+
aggregation?: 'mean' | 'all';
|
|
181
|
+
}
|
|
182
|
+
/** Options for pageRank. */
|
|
183
|
+
export interface PageRankOptions {
|
|
184
|
+
/**
|
|
185
|
+
* Damping factor d (probability of following an edge rather than teleporting).
|
|
186
|
+
* Brin & Page recommend 0.85. Default: 0.85.
|
|
187
|
+
*/
|
|
188
|
+
dampingFactor?: number;
|
|
189
|
+
/**
|
|
190
|
+
* Maximum number of power-iteration steps. Default: 100.
|
|
191
|
+
*/
|
|
192
|
+
maxIter?: number;
|
|
193
|
+
/**
|
|
194
|
+
* Convergence tolerance. Iteration stops when the L1 norm of the rank
|
|
195
|
+
* delta is below this value. Default: 1e-6.
|
|
196
|
+
*/
|
|
197
|
+
tol?: number;
|
|
198
|
+
}
|
|
199
|
+
/** Result when `restarts` is omitted or 1. */
|
|
200
|
+
export interface PageRankResult {
|
|
201
|
+
/** Normalised rank vector (sums to 1). */
|
|
202
|
+
ranks: Float64Array;
|
|
203
|
+
}
|
|
204
|
+
/** Result when `restarts > 1` and `aggregation === 'all'`. */
|
|
205
|
+
export interface PageRankRestartResult {
|
|
206
|
+
/** Element-wise average of all restart rank vectors. */
|
|
207
|
+
ranks: Float64Array;
|
|
208
|
+
/** All N rank vectors, one per restart (only when `aggregation='all'`). */
|
|
209
|
+
ranksPerRestart?: Float64Array[];
|
|
210
|
+
/** Per-element mean and std across restarts (only when `aggregation='all'`). */
|
|
211
|
+
restartStats?: {
|
|
212
|
+
mean: Float64Array;
|
|
213
|
+
std: Float64Array;
|
|
214
|
+
};
|
|
215
|
+
}
|
|
216
|
+
/**
|
|
217
|
+
* Compute PageRank centrality for each node in a directed graph.
|
|
218
|
+
*
|
|
219
|
+
* **Single-restart path** (`restarts` omitted or 1): runs one power-iteration
|
|
220
|
+
* sequence from a uniform initialisation and returns `{ ranks }` synchronously
|
|
221
|
+
* (wrapped in a resolved Promise for a uniform async API).
|
|
222
|
+
*
|
|
223
|
+
* **Multi-restart path** (`restarts >= CENTRALITY_WORKER_THRESHOLD` = 4):
|
|
224
|
+
* fans out N independent restarts via `Promise.all`, each initialised from a
|
|
225
|
+
* different seed derived by SplitMix64-style hashing of `restartSeed × k`.
|
|
226
|
+
* Results are averaged element-wise (or returned individually when
|
|
227
|
+
* `aggregation: 'all'`).
|
|
228
|
+
*
|
|
229
|
+
* **Option B note:** all restarts execute on the main thread because adding a
|
|
230
|
+
* new `centralityRestartChunk` worker handler would require modifying
|
|
231
|
+
* `packages/workerpool/src/worker.ts`, which is outside this slice's scope.
|
|
232
|
+
* The Promise.all fan-out still keeps the event loop responsive for consumers
|
|
233
|
+
* that `await` the result.
|
|
234
|
+
*
|
|
235
|
+
* @param adj - Directed adjacency matrix
|
|
236
|
+
* @param opts - PageRank + restart options
|
|
237
|
+
*
|
|
238
|
+
* @example
|
|
239
|
+
* const adj = [[0,1,0],[0,0,1],[1,0,0]];
|
|
240
|
+
* const { ranks } = await pageRank(adj);
|
|
241
|
+
* // ranks ≈ [0.333, 0.333, 0.333] (symmetric ring)
|
|
242
|
+
*
|
|
243
|
+
* @example
|
|
244
|
+
* // 8 restarts, averaged
|
|
245
|
+
* const result = await pageRank(adj, { restarts: 8, restartSeed: 42 });
|
|
246
|
+
*/
|
|
247
|
+
export declare function pageRank(adj: number[][], opts?: PageRankOptions & CentralityRestartOptions): Promise<PageRankResult | PageRankRestartResult>;
|
|
248
|
+
/** Options for betweennessCentrality. */
|
|
249
|
+
export interface BetweennessOptions {
|
|
250
|
+
/**
|
|
251
|
+
* Whether the graph is directed. Default: false (undirected).
|
|
252
|
+
*/
|
|
253
|
+
directed?: boolean;
|
|
254
|
+
/**
|
|
255
|
+
* Normalise by the maximum possible betweenness: (n-1)(n-2)/2 for
|
|
256
|
+
* undirected, (n-1)(n-2) for directed. Default: true.
|
|
257
|
+
*/
|
|
258
|
+
normalise?: boolean;
|
|
259
|
+
}
|
|
260
|
+
/** Result returned by betweennessCentrality. */
|
|
261
|
+
export interface BetweennessResult {
|
|
262
|
+
/** Betweenness centrality score for each node (length = n). */
|
|
263
|
+
centrality: Float64Array;
|
|
264
|
+
}
|
|
265
|
+
/** Result when `restarts > 1` and `aggregation === 'all'`. */
|
|
266
|
+
export interface BetweennessRestartResult {
|
|
267
|
+
centrality: Float64Array;
|
|
268
|
+
centralityPerRestart?: Float64Array[];
|
|
269
|
+
restartStats?: {
|
|
270
|
+
mean: Float64Array;
|
|
271
|
+
std: Float64Array;
|
|
272
|
+
};
|
|
273
|
+
}
|
|
274
|
+
/**
|
|
275
|
+
* Compute betweenness centrality for each node.
|
|
276
|
+
*
|
|
277
|
+
* Uses Brandes' BFS-based algorithm (exact for a single restart). When
|
|
278
|
+
* `restarts > 1` each restart samples n source nodes (with replacement) using
|
|
279
|
+
* a distinct seed; the per-restart scores are averaged.
|
|
280
|
+
*
|
|
281
|
+
* Worker-dispatch strategy: Option B — all restarts run on the main thread
|
|
282
|
+
* via `Promise.all`.
|
|
283
|
+
*
|
|
284
|
+
* @param adj - Adjacency matrix
|
|
285
|
+
* @param opts - Betweenness + restart options
|
|
286
|
+
*
|
|
287
|
+
* @example
|
|
288
|
+
* const adj = [[0,1,1],[1,0,1],[1,1,0]];
|
|
289
|
+
* const { centrality } = await betweennessCentrality(adj);
|
|
290
|
+
*/
|
|
291
|
+
export declare function betweennessCentrality(adj: number[][], opts?: BetweennessOptions & CentralityRestartOptions): Promise<BetweennessResult | BetweennessRestartResult>;
|
|
292
|
+
/** Options for eigenvectorCentrality. */
|
|
293
|
+
export interface EigenvectorOptions {
|
|
294
|
+
/**
|
|
295
|
+
* Maximum number of power-iteration steps. Default: 100.
|
|
296
|
+
*/
|
|
297
|
+
maxIter?: number;
|
|
298
|
+
/**
|
|
299
|
+
* Convergence tolerance (L∞ norm of delta). Default: 1e-6.
|
|
300
|
+
*/
|
|
301
|
+
tol?: number;
|
|
302
|
+
}
|
|
303
|
+
/** Result from eigenvectorCentrality. */
|
|
304
|
+
export interface EigenvectorResult {
|
|
305
|
+
/** Eigenvector centrality scores (length = n). */
|
|
306
|
+
centrality: Float64Array;
|
|
307
|
+
}
|
|
308
|
+
/** Result when `restarts > 1` and `aggregation === 'all'`. */
|
|
309
|
+
export interface EigenvectorRestartResult {
|
|
310
|
+
centrality: Float64Array;
|
|
311
|
+
centralityPerRestart?: Float64Array[];
|
|
312
|
+
restartStats?: {
|
|
313
|
+
mean: Float64Array;
|
|
314
|
+
std: Float64Array;
|
|
315
|
+
};
|
|
316
|
+
}
|
|
317
|
+
/**
|
|
318
|
+
* Compute eigenvector centrality using power iteration.
|
|
319
|
+
*
|
|
320
|
+
* Each node's score is proportional to the sum of its neighbours' scores,
|
|
321
|
+
* converging to the principal eigenvector of the adjacency matrix.
|
|
322
|
+
*
|
|
323
|
+
* When `restarts > 1`, each restart is initialised from a distinct random
|
|
324
|
+
* vector seeded reproducibly. The per-restart eigenvectors are sign-aligned
|
|
325
|
+
* and then averaged to produce a stable estimate.
|
|
326
|
+
*
|
|
327
|
+
* Worker-dispatch strategy: Option B — all restarts run on the main thread
|
|
328
|
+
* via `Promise.all`.
|
|
329
|
+
*
|
|
330
|
+
* @param adj - Adjacency matrix (undirected, non-negative weights)
|
|
331
|
+
* @param opts - Eigenvector + restart options
|
|
332
|
+
*
|
|
333
|
+
* @example
|
|
334
|
+
* const adj = [[0,1,1],[1,0,1],[1,1,0]];
|
|
335
|
+
* const { centrality } = await eigenvectorCentrality(adj);
|
|
336
|
+
* // all ≈ [0.577, 0.577, 0.577] (symmetric k3)
|
|
337
|
+
*/
|
|
338
|
+
export declare function eigenvectorCentrality(adj: number[][], opts?: EigenvectorOptions & CentralityRestartOptions): Promise<EigenvectorResult | EigenvectorRestartResult>;
|
|
339
|
+
//# sourceMappingURL=graph.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"graph.d.ts","sourceRoot":"","sources":["../../src/typed/graph.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,274 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Statistical Hypothesis Tests
|
|
3
|
+
*
|
|
4
|
+
* Provides common statistical tests returning test statistics and p-values:
|
|
5
|
+
* - studentTTest: one-sample and two-sample t-test
|
|
6
|
+
* - chiSquareTest: chi-square goodness of fit
|
|
7
|
+
* - anova: one-way ANOVA
|
|
8
|
+
* - kolmogorovSmirnovTest: Kolmogorov-Smirnov test
|
|
9
|
+
* - mannWhitneyTest: Mann-Whitney U test
|
|
10
|
+
* - shapiroWilkTest: Shapiro-Wilk normality test
|
|
11
|
+
* - principalComponentAnalysis: PCA dimensionality reduction
|
|
12
|
+
*
|
|
13
|
+
* Worker-dispatch policy (Slice 3.10):
|
|
14
|
+
* - chiSquareTest (1D): element-wise reduction via applyKernel2 + sum above threshold.
|
|
15
|
+
* - kolmogorovSmirnovTest: sort on main thread; post-sort CDF-compare loop via
|
|
16
|
+
* applyKernel (serialised normal-CDF) above threshold when no custom CDF is given.
|
|
17
|
+
* - mannWhitneyTest: sort on main thread; rank-sum via parallel dot above threshold.
|
|
18
|
+
* - shapiroWilkTest: sort on main thread; W-numerator dot-product via parallel dot
|
|
19
|
+
* above threshold.
|
|
20
|
+
*
|
|
21
|
+
* Bootstrap fan-out (Slice 5.11):
|
|
22
|
+
* - All four two-sample / goodness-of-fit tests accept `{ bootstrap: N }`.
|
|
23
|
+
* - When set, N permuted resamples are drawn from the combined data pool and the
|
|
24
|
+
* statistic is recomputed for each. The N tasks are fanned out via
|
|
25
|
+
* `Promise.all` so the JS event-loop can interleave them (embarrassingly
|
|
26
|
+
* parallel at the microtask level; each individual run uses the existing
|
|
27
|
+
* Slice-3.10 worker dispatch if the resample is large enough).
|
|
28
|
+
* - `bootstrapSeed` enables fully deterministic resampling via Mulberry32 PRNG.
|
|
29
|
+
*
|
|
30
|
+
* @packageDocumentation
|
|
31
|
+
*/
|
|
32
|
+
/** 64-bit float */
|
|
33
|
+
type f64 = number;
|
|
34
|
+
export interface TTestResult {
|
|
35
|
+
statistic: f64;
|
|
36
|
+
pValue: f64;
|
|
37
|
+
degreesOfFreedom: f64;
|
|
38
|
+
}
|
|
39
|
+
export interface ChiSquareResult {
|
|
40
|
+
statistic: f64;
|
|
41
|
+
pValue: f64;
|
|
42
|
+
degreesOfFreedom: f64;
|
|
43
|
+
}
|
|
44
|
+
export interface AnovaResult {
|
|
45
|
+
fStatistic: f64;
|
|
46
|
+
pValue: f64;
|
|
47
|
+
dfBetween: f64;
|
|
48
|
+
dfWithin: f64;
|
|
49
|
+
}
|
|
50
|
+
export interface KSTestResult {
|
|
51
|
+
statistic: f64;
|
|
52
|
+
pValue: f64;
|
|
53
|
+
}
|
|
54
|
+
export interface MannWhitneyResult {
|
|
55
|
+
uStatistic: f64;
|
|
56
|
+
pValue: f64;
|
|
57
|
+
}
|
|
58
|
+
export interface ShapiroWilkResult {
|
|
59
|
+
statistic: f64;
|
|
60
|
+
pValue: f64;
|
|
61
|
+
}
|
|
62
|
+
export interface PCAResult {
|
|
63
|
+
components: f64[][];
|
|
64
|
+
explained: f64[];
|
|
65
|
+
scores: f64[][];
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Options for bootstrap resampling. When `bootstrap` is set, the test is run
|
|
69
|
+
* on `bootstrap` independent permutations of the combined sample data, and the
|
|
70
|
+
* results are aggregated into a `*BootstrapResult` object.
|
|
71
|
+
*
|
|
72
|
+
* @example
|
|
73
|
+
* const r = await kolmogorovSmirnovTest(s1, s2, { bootstrap: 200, bootstrapSeed: 42 });
|
|
74
|
+
* // r.pValueEmpirical — fraction of permuted statistics ≥ base statistic
|
|
75
|
+
*/
|
|
76
|
+
export interface BootstrapOptions {
|
|
77
|
+
/**
|
|
78
|
+
* Number of permutation-resampled test runs to execute.
|
|
79
|
+
* `0` or `undefined` = fall back to the ordinary (non-bootstrap) result.
|
|
80
|
+
*/
|
|
81
|
+
bootstrap?: number;
|
|
82
|
+
/**
|
|
83
|
+
* Integer seed for the Mulberry32 PRNG so that permutations are
|
|
84
|
+
* deterministic across runs. When omitted Math.random() is used.
|
|
85
|
+
*/
|
|
86
|
+
bootstrapSeed?: number;
|
|
87
|
+
}
|
|
88
|
+
export interface KSBootstrapResult {
|
|
89
|
+
/** D statistic from the original (un-permuted) samples. */
|
|
90
|
+
statistic: f64;
|
|
91
|
+
/** Fraction of permuted statistics ≥ original statistic (two-tailed). */
|
|
92
|
+
pValueEmpirical: f64;
|
|
93
|
+
/** Raw permuted D statistics. */
|
|
94
|
+
bootstrapStatistics: Float64Array;
|
|
95
|
+
bootstrapMean: f64;
|
|
96
|
+
bootstrapStd: f64;
|
|
97
|
+
}
|
|
98
|
+
export interface MWBootstrapResult {
|
|
99
|
+
/** U statistic from the original (un-permuted) samples. */
|
|
100
|
+
uStatistic: f64;
|
|
101
|
+
/** Fraction of permuted U statistics ≥ original U statistic. */
|
|
102
|
+
pValueEmpirical: f64;
|
|
103
|
+
/** Raw permuted U statistics. */
|
|
104
|
+
bootstrapStatistics: Float64Array;
|
|
105
|
+
bootstrapMean: f64;
|
|
106
|
+
bootstrapStd: f64;
|
|
107
|
+
}
|
|
108
|
+
export interface SWBootstrapResult {
|
|
109
|
+
/** W statistic from the original (un-permuted) samples. */
|
|
110
|
+
statistic: f64;
|
|
111
|
+
/**
|
|
112
|
+
* Fraction of permuted W statistics ≤ original W statistic.
|
|
113
|
+
* (Small W indicates non-normality, so we count ≤.)
|
|
114
|
+
*/
|
|
115
|
+
pValueEmpirical: f64;
|
|
116
|
+
/** Raw permuted W statistics. */
|
|
117
|
+
bootstrapStatistics: Float64Array;
|
|
118
|
+
bootstrapMean: f64;
|
|
119
|
+
bootstrapStd: f64;
|
|
120
|
+
}
|
|
121
|
+
export interface ChiSquareBootstrapResult {
|
|
122
|
+
/** chi² statistic from the original (un-permuted) samples. */
|
|
123
|
+
statistic: f64;
|
|
124
|
+
/** Fraction of permuted statistics ≥ original statistic. */
|
|
125
|
+
pValueEmpirical: f64;
|
|
126
|
+
/** Raw permuted chi² statistics. */
|
|
127
|
+
bootstrapStatistics: Float64Array;
|
|
128
|
+
bootstrapMean: f64;
|
|
129
|
+
bootstrapStd: f64;
|
|
130
|
+
}
|
|
131
|
+
/**
|
|
132
|
+
* Student's t-test.
|
|
133
|
+
*
|
|
134
|
+
* One-sample: test if sample mean differs from 0 (or provide second argument as null).
|
|
135
|
+
* Two-sample: Welch's t-test (unequal variances) comparing two independent samples.
|
|
136
|
+
*
|
|
137
|
+
* @param sample1 - First sample
|
|
138
|
+
* @param sample2 - Second sample (omit for one-sample test)
|
|
139
|
+
* @returns Test result with statistic, pValue, degreesOfFreedom
|
|
140
|
+
*
|
|
141
|
+
* @example
|
|
142
|
+
* studentTTest([1, 2, 3, 4, 5]) // one-sample test
|
|
143
|
+
* studentTTest([1, 2, 3], [4, 5, 6]) // two-sample test
|
|
144
|
+
*/
|
|
145
|
+
export declare function studentTTest(sample1: f64[], sample2?: f64[]): TTestResult;
|
|
146
|
+
/**
|
|
147
|
+
* Chi-square goodness-of-fit test (1D) or independence test (2D contingency table).
|
|
148
|
+
*
|
|
149
|
+
* 1D form: tests whether observed frequencies match expected frequencies.
|
|
150
|
+
* chi2 = sum((O_i - E_i)^2 / E_i), df = length - 1.
|
|
151
|
+
*
|
|
152
|
+
* 2D form: when called with a single 2D `observed` array (rows x cols),
|
|
153
|
+
* tests independence of two categorical variables. Expected cell counts
|
|
154
|
+
* are auto-computed from row totals * col totals / grand total.
|
|
155
|
+
* chi2 = sum_{i,j} ((O_ij - E_ij)^2 / E_ij), df = (rows-1) * (cols-1).
|
|
156
|
+
*
|
|
157
|
+
* Worker dispatch (Slice 3.10): For the 1D form with ≥ 4096 categories the
|
|
158
|
+
* element-wise reduction `(o-e)²/e` is computed via `applyKernel2` + `sum`
|
|
159
|
+
* on the worker pool. The 2D form stays on the main thread (reduction over a
|
|
160
|
+
* 2D grid — marshal cost dominates).
|
|
161
|
+
*
|
|
162
|
+
* Bootstrap (Slice 5.11): When `opts.bootstrap > 0`, the observed counts are
|
|
163
|
+
* resampled with replacement from a multinomial distribution (preserving the
|
|
164
|
+
* total count), the statistic is re-computed for each resample, and the
|
|
165
|
+
* empirical p-value is the fraction of resampled statistics ≥ the base.
|
|
166
|
+
*
|
|
167
|
+
* @param observed - 1D observed counts, OR 2D contingency table (rows x cols)
|
|
168
|
+
* @param expected - 1D expected counts (required for 1D form; omit for 2D)
|
|
169
|
+
* @param opts - Optional bootstrap settings
|
|
170
|
+
* @returns Chi-square test result (or bootstrap result when `opts.bootstrap > 0`)
|
|
171
|
+
*
|
|
172
|
+
* @example
|
|
173
|
+
* chiSquareTest([10, 20, 30], [20, 20, 20]) // 1D goodness-of-fit
|
|
174
|
+
* chiSquareTest([[10, 20], [30, 40]]) // 2D independence test
|
|
175
|
+
* chiSquareTest([10, 20, 30], [20, 20, 20], { bootstrap: 500 }) // bootstrap
|
|
176
|
+
*/
|
|
177
|
+
export declare function chiSquareTest(observed: f64[] | f64[][], expected?: f64[], opts?: BootstrapOptions): Promise<ChiSquareResult | ChiSquareBootstrapResult>;
|
|
178
|
+
/**
|
|
179
|
+
* One-way ANOVA (Analysis of Variance).
|
|
180
|
+
*
|
|
181
|
+
* Tests whether the means of multiple groups are equal.
|
|
182
|
+
*
|
|
183
|
+
* @param groups - Array of sample arrays (at least 2 groups)
|
|
184
|
+
* @returns ANOVA result with F-statistic and p-value
|
|
185
|
+
*
|
|
186
|
+
* @example
|
|
187
|
+
* anova([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
|
|
188
|
+
*/
|
|
189
|
+
export declare function anova(groups: f64[][]): AnovaResult;
|
|
190
|
+
/**
|
|
191
|
+
* Kolmogorov-Smirnov test for goodness of fit.
|
|
192
|
+
*
|
|
193
|
+
* One-sample test against the standard normal distribution (default),
|
|
194
|
+
* or provide a custom CDF function.
|
|
195
|
+
*
|
|
196
|
+
* Worker dispatch (Slice 3.10): When no custom CDF is supplied and
|
|
197
|
+
* `sample.length >= 4096`, the sort stays on the main thread but the
|
|
198
|
+
* per-element normal-CDF evaluation is dispatched via `applyKernel`.
|
|
199
|
+
* Max-reduction of |D+| and |D-| is done on the main thread from the
|
|
200
|
+
* returned CDF values (O(n) but cheap vs. O(n log n) sort).
|
|
201
|
+
* When a custom CDF closure is given, the parallel path is skipped
|
|
202
|
+
* (closures cannot be serialised into worker threads).
|
|
203
|
+
*
|
|
204
|
+
* Bootstrap (Slice 5.11): When `opts.bootstrap > 0`, the sample is resampled
|
|
205
|
+
* with replacement (parametric bootstrap from the empirical distribution),
|
|
206
|
+
* and the D statistic is recomputed against the same CDF for each resample.
|
|
207
|
+
* Empirical p-value = fraction of bootstrap D values ≥ base D.
|
|
208
|
+
*
|
|
209
|
+
* @param sample - Array of observations
|
|
210
|
+
* @param cdfFn - CDF function to test against (default: standard normal)
|
|
211
|
+
* @param opts - Optional bootstrap settings
|
|
212
|
+
* @returns K-S test result
|
|
213
|
+
*
|
|
214
|
+
* @example
|
|
215
|
+
* kolmogorovSmirnovTest([0.1, 0.5, 0.9], (x) => x) // test against uniform(0,1)
|
|
216
|
+
* kolmogorovSmirnovTest(data, undefined, { bootstrap: 200, bootstrapSeed: 1 })
|
|
217
|
+
*/
|
|
218
|
+
export declare function kolmogorovSmirnovTest(sample: f64[], cdfFn?: (x: f64) => f64, opts?: BootstrapOptions): Promise<KSTestResult | KSBootstrapResult>;
|
|
219
|
+
/**
|
|
220
|
+
* Mann-Whitney U test (Wilcoxon rank-sum test).
|
|
221
|
+
*
|
|
222
|
+
* Non-parametric test for whether two independent samples are drawn
|
|
223
|
+
* from the same distribution.
|
|
224
|
+
*
|
|
225
|
+
* Worker dispatch (Slice 3.10): When the combined sample has ≥ 4096 elements,
|
|
226
|
+
* the sort stays on the main thread but the rank-sum for group 1 is computed
|
|
227
|
+
* via a parallel dot-product `dot(ranks, groupIndicator)` on the pool.
|
|
228
|
+
*
|
|
229
|
+
* @param sample1 - First sample
|
|
230
|
+
* @param sample2 - Second sample
|
|
231
|
+
* @param opts - Optional bootstrap settings
|
|
232
|
+
* @returns Mann-Whitney test result
|
|
233
|
+
*
|
|
234
|
+
* @example
|
|
235
|
+
* mannWhitneyTest([1, 2, 3], [4, 5, 6])
|
|
236
|
+
* mannWhitneyTest(s1, s2, { bootstrap: 200, bootstrapSeed: 7 })
|
|
237
|
+
*/
|
|
238
|
+
export declare function mannWhitneyTest(sample1: f64[], sample2: f64[], opts?: BootstrapOptions): Promise<MannWhitneyResult | MWBootstrapResult>;
|
|
239
|
+
/**
|
|
240
|
+
* Shapiro-Wilk test for normality.
|
|
241
|
+
*
|
|
242
|
+
* Tests the null hypothesis that the data is normally distributed.
|
|
243
|
+
* Implementation uses the simplified algorithm for sample sizes up to 5000.
|
|
244
|
+
*
|
|
245
|
+
* Worker dispatch (Slice 3.10): When `sample.length >= 4096`, the sort stays
|
|
246
|
+
* on the main thread but the W-statistic numerator dot-product
|
|
247
|
+
* `dot(coefficients, sorted_values)` is computed via the pool.
|
|
248
|
+
*
|
|
249
|
+
* @param sample - Array of observations (3 to 5000 elements)
|
|
250
|
+
* @param opts - Optional bootstrap settings
|
|
251
|
+
* @returns Shapiro-Wilk test result
|
|
252
|
+
*
|
|
253
|
+
* @example
|
|
254
|
+
* shapiroWilkTest([1, 2, 3, 4, 5])
|
|
255
|
+
* shapiroWilkTest(data, { bootstrap: 100, bootstrapSeed: 42 })
|
|
256
|
+
*/
|
|
257
|
+
export declare function shapiroWilkTest(sample: f64[], opts?: BootstrapOptions): Promise<ShapiroWilkResult | SWBootstrapResult>;
|
|
258
|
+
/**
|
|
259
|
+
* Principal Component Analysis (PCA).
|
|
260
|
+
*
|
|
261
|
+
* Reduces dimensionality of data by finding the directions of maximum variance.
|
|
262
|
+
*
|
|
263
|
+
* @param data - 2D array where each row is an observation, each column a variable
|
|
264
|
+
* @param k - Number of principal components to keep (default: all)
|
|
265
|
+
* @returns PCA result with components, explained variance ratios, and scores
|
|
266
|
+
*
|
|
267
|
+
* @example
|
|
268
|
+
* const result = principalComponentAnalysis([[1, 2], [3, 4], [5, 6]], 1);
|
|
269
|
+
* result.components // [[0.707, 0.707]]
|
|
270
|
+
* result.explained // [1.0]
|
|
271
|
+
*/
|
|
272
|
+
export declare function principalComponentAnalysis(data: f64[][], k?: number): PCAResult;
|
|
273
|
+
export {};
|
|
274
|
+
//# sourceMappingURL=hypothesis.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hypothesis.d.ts","sourceRoot":"","sources":["../../src/typed/hypothesis.ts"],"names":[],"mappings":"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"}
|