mathjs 11.2.1 → 11.3.0
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/HISTORY.md +9 -1
- package/README.md +26 -0
- package/lib/browser/math.js +1 -1
- package/lib/browser/math.js.LICENSE.txt +2 -2
- package/lib/browser/math.js.map +1 -1
- package/lib/cjs/constants.js +21 -23
- package/lib/cjs/core/create.js +23 -41
- package/lib/cjs/core/function/config.js +12 -16
- package/lib/cjs/core/function/import.js +21 -66
- package/lib/cjs/core/function/typed.js +24 -50
- package/lib/cjs/defaultInstance.js +0 -7
- package/lib/cjs/entry/allFactoriesAny.js +1 -5
- package/lib/cjs/entry/allFactoriesNumber.js +1 -5
- package/lib/cjs/entry/configReadonly.js +0 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesAbs.generated.js +1 -3
- package/lib/cjs/entry/dependenciesAny/dependenciesAccessorNode.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesAcos.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesAcosh.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesAcot.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesAcoth.generated.js +1 -5
- package/lib/cjs/entry/dependenciesAny/dependenciesAcsc.generated.js +1 -5
- package/lib/cjs/entry/dependenciesAny/dependenciesAcsch.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesAdd.generated.js +1 -8
- package/lib/cjs/entry/dependenciesAny/dependenciesAddScalar.generated.js +1 -3
- package/lib/cjs/entry/dependenciesAny/dependenciesAnd.generated.js +1 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesApply.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesApplyTransform.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesArg.generated.js +1 -3
- package/lib/cjs/entry/dependenciesAny/dependenciesArrayNode.generated.js +1 -3
- package/lib/cjs/entry/dependenciesAny/dependenciesAsec.generated.js +1 -5
- package/lib/cjs/entry/dependenciesAny/dependenciesAsech.generated.js +1 -5
- package/lib/cjs/entry/dependenciesAny/dependenciesAsin.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesAsinh.generated.js +1 -3
- package/lib/cjs/entry/dependenciesAny/dependenciesAssignmentNode.generated.js +1 -5
- package/lib/cjs/entry/dependenciesAny/dependenciesAtan.generated.js +1 -3
- package/lib/cjs/entry/dependenciesAny/dependenciesAtan2.generated.js +1 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesAtanh.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesAtomicMass.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesAvogadro.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesBellNumbers.generated.js +1 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesBigNumberClass.generated.js +1 -2
- package/lib/cjs/entry/dependenciesAny/dependenciesBignumber.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesBin.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesBitAnd.generated.js +1 -5
- package/lib/cjs/entry/dependenciesAny/dependenciesBitNot.generated.js +1 -3
- package/lib/cjs/entry/dependenciesAny/dependenciesBitOr.generated.js +1 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesBitXor.generated.js +1 -5
- package/lib/cjs/entry/dependenciesAny/dependenciesBlockNode.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesBohrMagneton.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesBohrRadius.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesBoltzmann.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesBoolean.generated.js +1 -3
- package/lib/cjs/entry/dependenciesAny/dependenciesCatalan.generated.js +1 -9
- package/lib/cjs/entry/dependenciesAny/dependenciesCbrt.generated.js +1 -9
- package/lib/cjs/entry/dependenciesAny/dependenciesCeil.generated.js +1 -8
- package/lib/cjs/entry/dependenciesAny/dependenciesChain.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesChainClass.generated.js +1 -3
- package/lib/cjs/entry/dependenciesAny/dependenciesClassicalElectronRadius.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesClone.generated.js +1 -3
- package/lib/cjs/entry/dependenciesAny/dependenciesColumn.generated.js +1 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesColumnTransform.generated.js +1 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesCombinations.generated.js +1 -3
- package/lib/cjs/entry/dependenciesAny/dependenciesCombinationsWithRep.generated.js +1 -3
- package/lib/cjs/entry/dependenciesAny/dependenciesCompare.generated.js +1 -8
- package/lib/cjs/entry/dependenciesAny/dependenciesCompareNatural.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesCompareText.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesCompile.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesComplex.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesComplexClass.generated.js +1 -2
- package/lib/cjs/entry/dependenciesAny/dependenciesComposition.generated.js +1 -9
- package/lib/cjs/entry/dependenciesAny/dependenciesConcat.generated.js +1 -5
- package/lib/cjs/entry/dependenciesAny/dependenciesConcatTransform.generated.js +1 -5
- package/lib/cjs/entry/dependenciesAny/dependenciesConditionalNode.generated.js +1 -3
- package/lib/cjs/entry/dependenciesAny/dependenciesConductanceQuantum.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesConj.generated.js +1 -3
- package/lib/cjs/entry/dependenciesAny/dependenciesConstantNode.generated.js +1 -3
- package/lib/cjs/entry/dependenciesAny/dependenciesCos.generated.js +1 -3
- package/lib/cjs/entry/dependenciesAny/dependenciesCosh.generated.js +1 -3
- package/lib/cjs/entry/dependenciesAny/dependenciesCot.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesCoth.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesCoulomb.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesCount.generated.js +1 -5
- package/lib/cjs/entry/dependenciesAny/dependenciesCreateUnit.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesCross.generated.js +1 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesCsc.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesCsch.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesCtranspose.generated.js +1 -5
- package/lib/cjs/entry/dependenciesAny/dependenciesCube.generated.js +1 -3
- package/lib/cjs/entry/dependenciesAny/dependenciesCumSum.generated.js +1 -5
- package/lib/cjs/entry/dependenciesAny/dependenciesCumSumTransform.generated.js +1 -5
- package/lib/cjs/entry/dependenciesAny/dependenciesDeepEqual.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesDenseMatrixClass.generated.js +1 -3
- package/lib/cjs/entry/dependenciesAny/dependenciesDerivative.generated.js +1 -13
- package/lib/cjs/entry/dependenciesAny/dependenciesDet.generated.js +1 -9
- package/lib/cjs/entry/dependenciesAny/dependenciesDeuteronMass.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesDiag.generated.js +1 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesDiff.generated.js +1 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesDiffTransform.generated.js +1 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesDistance.generated.js +1 -10
- package/lib/cjs/entry/dependenciesAny/dependenciesDivide.generated.js +1 -8
- package/lib/cjs/entry/dependenciesAny/dependenciesDivideScalar.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesDot.generated.js +1 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesDotDivide.generated.js +1 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesDotMultiply.generated.js +1 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesDotPow.generated.js +1 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesE.generated.js +1 -3
- package/lib/cjs/entry/dependenciesAny/dependenciesEfimovFactor.generated.js +1 -3
- package/lib/cjs/entry/dependenciesAny/dependenciesEigs.generated.js +1 -32
- package/lib/cjs/entry/dependenciesAny/dependenciesElectricConstant.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesElectronMass.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesElementaryCharge.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesEqual.generated.js +1 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesEqualScalar.generated.js +1 -3
- package/lib/cjs/entry/dependenciesAny/dependenciesEqualText.generated.js +1 -5
- package/lib/cjs/entry/dependenciesAny/dependenciesErf.generated.js +1 -3
- package/lib/cjs/entry/dependenciesAny/dependenciesEvaluate.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesExp.generated.js +1 -3
- package/lib/cjs/entry/dependenciesAny/dependenciesExpm.generated.js +1 -8
- package/lib/cjs/entry/dependenciesAny/dependenciesExpm1.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesFactorial.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesFalse.generated.js +1 -2
- package/lib/cjs/entry/dependenciesAny/dependenciesFaraday.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesFermiCoupling.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesFft.generated.js +1 -10
- package/lib/cjs/entry/dependenciesAny/dependenciesFibonacciHeapClass.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesFilter.generated.js +1 -3
- package/lib/cjs/entry/dependenciesAny/dependenciesFilterTransform.generated.js +1 -3
- package/lib/cjs/entry/dependenciesAny/dependenciesFineStructure.generated.js +1 -3
- package/lib/cjs/entry/dependenciesAny/dependenciesFirstRadiation.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesFix.generated.js +1 -10
- package/lib/cjs/entry/dependenciesAny/dependenciesFlatten.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesFloor.generated.js +1 -8
- package/lib/cjs/entry/dependenciesAny/dependenciesForEach.generated.js +1 -3
- package/lib/cjs/entry/dependenciesAny/dependenciesForEachTransform.generated.js +1 -3
- package/lib/cjs/entry/dependenciesAny/dependenciesFormat.generated.js +1 -3
- package/lib/cjs/entry/dependenciesAny/dependenciesFraction.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesFractionClass.generated.js +1 -2
- package/lib/cjs/entry/dependenciesAny/dependenciesFunctionAssignmentNode.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesFunctionNode.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesGamma.generated.js +1 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesGasConstant.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesGcd.generated.js +1 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesGetMatrixDataType.generated.js +1 -3
- package/lib/cjs/entry/dependenciesAny/dependenciesGravitationConstant.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesGravity.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesHartreeEnergy.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesHasNumericValue.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesHelp.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesHelpClass.generated.js +1 -3
- package/lib/cjs/entry/dependenciesAny/dependenciesHex.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesHypot.generated.js +1 -10
- package/lib/cjs/entry/dependenciesAny/dependenciesI.generated.js +1 -3
- package/lib/cjs/entry/dependenciesAny/dependenciesIdentity.generated.js +1 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesIfft.generated.js +1 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesIm.generated.js +1 -3
- package/lib/cjs/entry/dependenciesAny/dependenciesImmutableDenseMatrixClass.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesIndex.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesIndexClass.generated.js +1 -3
- package/lib/cjs/entry/dependenciesAny/dependenciesIndexNode.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesIndexTransform.generated.js +1 -3
- package/lib/cjs/entry/dependenciesAny/dependenciesInfinity.generated.js +1 -3
- package/lib/cjs/entry/dependenciesAny/dependenciesIntersect.generated.js +1 -16
- package/lib/cjs/entry/dependenciesAny/dependenciesInv.generated.js +1 -11
- package/lib/cjs/entry/dependenciesAny/dependenciesInverseConductanceQuantum.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesInvmod.generated.js +1 -10
- package/lib/cjs/entry/dependenciesAny/dependenciesIsInteger.generated.js +1 -3
- package/lib/cjs/entry/dependenciesAny/dependenciesIsNaN.generated.js +1 -3
- package/lib/cjs/entry/dependenciesAny/dependenciesIsNegative.generated.js +1 -3
- package/lib/cjs/entry/dependenciesAny/dependenciesIsNumeric.generated.js +1 -3
- package/lib/cjs/entry/dependenciesAny/dependenciesIsPositive.generated.js +1 -3
- package/lib/cjs/entry/dependenciesAny/dependenciesIsPrime.generated.js +1 -3
- package/lib/cjs/entry/dependenciesAny/dependenciesIsZero.generated.js +1 -3
- package/lib/cjs/entry/dependenciesAny/dependenciesKldivergence.generated.js +1 -11
- package/lib/cjs/entry/dependenciesAny/dependenciesKlitzing.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesKron.generated.js +1 -5
- package/lib/cjs/entry/dependenciesAny/dependenciesLN10.generated.js +1 -3
- package/lib/cjs/entry/dependenciesAny/dependenciesLN2.generated.js +1 -3
- package/lib/cjs/entry/dependenciesAny/dependenciesLOG10E.generated.js +1 -3
- package/lib/cjs/entry/dependenciesAny/dependenciesLOG2E.generated.js +1 -3
- package/lib/cjs/entry/dependenciesAny/dependenciesLarger.generated.js +1 -5
- package/lib/cjs/entry/dependenciesAny/dependenciesLargerEq.generated.js +1 -5
- package/lib/cjs/entry/dependenciesAny/dependenciesLcm.generated.js +1 -5
- package/lib/cjs/entry/dependenciesAny/dependenciesLeafCount.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesLeftShift.generated.js +1 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesLgamma.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesLog.generated.js +1 -5
- package/lib/cjs/entry/dependenciesAny/dependenciesLog10.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesLog1p.generated.js +1 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesLog2.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesLoschmidt.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesLsolve.generated.js +1 -9
- package/lib/cjs/entry/dependenciesAny/dependenciesLsolveAll.generated.js +1 -9
- package/lib/cjs/entry/dependenciesAny/dependenciesLup.generated.js +1 -15
- package/lib/cjs/entry/dependenciesAny/dependenciesLusolve.generated.js +1 -9
- package/lib/cjs/entry/dependenciesAny/dependenciesMad.generated.js +1 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesMagneticConstant.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesMagneticFluxQuantum.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesMap.generated.js +1 -3
- package/lib/cjs/entry/dependenciesAny/dependenciesMapTransform.generated.js +1 -3
- package/lib/cjs/entry/dependenciesAny/dependenciesMatrix.generated.js +1 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesMatrixClass.generated.js +1 -2
- package/lib/cjs/entry/dependenciesAny/dependenciesMatrixFromColumns.generated.js +1 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesMatrixFromFunction.generated.js +1 -5
- package/lib/cjs/entry/dependenciesAny/dependenciesMatrixFromRows.generated.js +1 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesMax.generated.js +1 -5
- package/lib/cjs/entry/dependenciesAny/dependenciesMaxTransform.generated.js +1 -5
- package/lib/cjs/entry/dependenciesAny/dependenciesMean.generated.js +1 -5
- package/lib/cjs/entry/dependenciesAny/dependenciesMeanTransform.generated.js +1 -5
- package/lib/cjs/entry/dependenciesAny/dependenciesMedian.generated.js +1 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesMin.generated.js +1 -5
- package/lib/cjs/entry/dependenciesAny/dependenciesMinTransform.generated.js +1 -5
- package/lib/cjs/entry/dependenciesAny/dependenciesMod.generated.js +1 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesMode.generated.js +1 -5
- package/lib/cjs/entry/dependenciesAny/dependenciesMolarMass.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesMolarMassC12.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesMolarPlanckConstant.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesMolarVolume.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesMultinomial.generated.js +1 -9
- package/lib/cjs/entry/dependenciesAny/dependenciesMultiply.generated.js +1 -8
- package/lib/cjs/entry/dependenciesAny/dependenciesMultiplyScalar.generated.js +1 -3
- package/lib/cjs/entry/dependenciesAny/dependenciesNaN.generated.js +1 -3
- package/lib/cjs/entry/dependenciesAny/dependenciesNeutronMass.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesNode.generated.js +1 -2
- package/lib/cjs/entry/dependenciesAny/dependenciesNorm.generated.js +1 -15
- package/lib/cjs/entry/dependenciesAny/dependenciesNot.generated.js +1 -3
- package/lib/cjs/entry/dependenciesAny/dependenciesNthRoot.generated.js +1 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesNthRoots.generated.js +1 -5
- package/lib/cjs/entry/dependenciesAny/dependenciesNuclearMagneton.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesNull.generated.js +1 -2
- package/lib/cjs/entry/dependenciesAny/dependenciesNumber.generated.js +1 -3
- package/lib/cjs/entry/dependenciesAny/dependenciesNumeric.generated.js +1 -5
- package/lib/cjs/entry/dependenciesAny/dependenciesObjectNode.generated.js +1 -3
- package/lib/cjs/entry/dependenciesAny/dependenciesOct.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesOnes.generated.js +1 -5
- package/lib/cjs/entry/dependenciesAny/dependenciesOperatorNode.generated.js +1 -3
- package/lib/cjs/entry/dependenciesAny/dependenciesOr.generated.js +1 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesParenthesisNode.generated.js +1 -3
- package/lib/cjs/entry/dependenciesAny/dependenciesParse.generated.js +1 -19
- package/lib/cjs/entry/dependenciesAny/dependenciesParser.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesParserClass.generated.js +1 -3
- package/lib/cjs/entry/dependenciesAny/dependenciesPartitionSelect.generated.js +1 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesPermutations.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesPhi.generated.js +1 -3
- package/lib/cjs/entry/dependenciesAny/dependenciesPi.generated.js +1 -3
- package/lib/cjs/entry/dependenciesAny/dependenciesPickRandom.generated.js +1 -3
- package/lib/cjs/entry/dependenciesAny/dependenciesPinv.generated.js +1 -14
- package/lib/cjs/entry/dependenciesAny/dependenciesPlanckCharge.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesPlanckConstant.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesPlanckLength.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesPlanckMass.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesPlanckTemperature.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesPlanckTime.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesPow.generated.js +1 -10
- package/lib/cjs/entry/dependenciesAny/dependenciesPrint.generated.js +1 -3
- package/lib/cjs/entry/dependenciesAny/dependenciesProd.generated.js +1 -5
- package/lib/cjs/entry/dependenciesAny/dependenciesProtonMass.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesQr.generated.js +1 -17
- package/lib/cjs/entry/dependenciesAny/dependenciesQuantileSeq.generated.js +1 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesQuantumOfCirculation.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesRandom.generated.js +1 -3
- package/lib/cjs/entry/dependenciesAny/dependenciesRandomInt.generated.js +1 -3
- package/lib/cjs/entry/dependenciesAny/dependenciesRange.generated.js +1 -9
- package/lib/cjs/entry/dependenciesAny/dependenciesRangeClass.generated.js +1 -2
- package/lib/cjs/entry/dependenciesAny/dependenciesRangeNode.generated.js +1 -3
- package/lib/cjs/entry/dependenciesAny/dependenciesRangeTransform.generated.js +1 -9
- package/lib/cjs/entry/dependenciesAny/dependenciesRationalize.generated.js +1 -26
- package/lib/cjs/entry/dependenciesAny/dependenciesRe.generated.js +1 -3
- package/lib/cjs/entry/dependenciesAny/dependenciesReducedPlanckConstant.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesRelationalNode.generated.js +1 -3
- package/lib/cjs/entry/dependenciesAny/dependenciesReplacer.generated.js +1 -2
- package/lib/cjs/entry/dependenciesAny/dependenciesReshape.generated.js +1 -5
- package/lib/cjs/entry/dependenciesAny/dependenciesResize.generated.js +1 -3
- package/lib/cjs/entry/dependenciesAny/dependenciesResolve.generated.js +1 -8
- package/lib/cjs/entry/dependenciesAny/dependenciesResultSet.generated.js +1 -2
- package/lib/cjs/entry/dependenciesAny/dependenciesReviver.generated.js +1 -2
- package/lib/cjs/entry/dependenciesAny/dependenciesRightArithShift.generated.js +1 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesRightLogShift.generated.js +1 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesRotate.generated.js +1 -5
- package/lib/cjs/entry/dependenciesAny/dependenciesRotationMatrix.generated.js +1 -13
- package/lib/cjs/entry/dependenciesAny/dependenciesRound.generated.js +1 -8
- package/lib/cjs/entry/dependenciesAny/dependenciesRow.generated.js +1 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesRowTransform.generated.js +1 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesRydberg.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesSQRT1_2.generated.js +2 -3
- package/lib/cjs/entry/dependenciesAny/dependenciesSQRT2.generated.js +1 -3
- package/lib/cjs/entry/dependenciesAny/dependenciesSackurTetrode.generated.js +1 -3
- package/lib/cjs/entry/dependenciesAny/dependenciesSec.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesSech.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesSecondRadiation.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesSetCartesian.generated.js +1 -8
- package/lib/cjs/entry/dependenciesAny/dependenciesSetDifference.generated.js +1 -8
- package/lib/cjs/entry/dependenciesAny/dependenciesSetDistinct.generated.js +1 -8
- package/lib/cjs/entry/dependenciesAny/dependenciesSetIntersect.generated.js +1 -8
- package/lib/cjs/entry/dependenciesAny/dependenciesSetIsSubset.generated.js +1 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesSetMultiplicity.generated.js +1 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesSetPowerset.generated.js +1 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesSetSize.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesSetSymDifference.generated.js +1 -8
- package/lib/cjs/entry/dependenciesAny/dependenciesSetUnion.generated.js +1 -9
- package/lib/cjs/entry/dependenciesAny/dependenciesSign.generated.js +1 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesSimplify.generated.js +1 -26
- package/lib/cjs/entry/dependenciesAny/dependenciesSimplifyConstant.generated.js +1 -15
- package/lib/cjs/entry/dependenciesAny/dependenciesSimplifyCore.generated.js +1 -20
- package/lib/cjs/entry/dependenciesAny/dependenciesSin.generated.js +1 -3
- package/lib/cjs/entry/dependenciesAny/dependenciesSinh.generated.js +1 -3
- package/lib/cjs/entry/dependenciesAny/dependenciesSize.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesSlu.generated.js +1 -12
- package/lib/cjs/entry/dependenciesAny/dependenciesSmaller.generated.js +1 -5
- package/lib/cjs/entry/dependenciesAny/dependenciesSmallerEq.generated.js +1 -5
- package/lib/cjs/entry/dependenciesAny/dependenciesSort.generated.js +1 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesSpaClass.generated.js +1 -5
- package/lib/cjs/entry/dependenciesAny/dependenciesSparse.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesSparseMatrixClass.generated.js +1 -5
- package/lib/cjs/entry/dependenciesAny/dependenciesSpeedOfLight.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesSplitUnit.generated.js +1 -3
- package/lib/cjs/entry/dependenciesAny/dependenciesSqrt.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesSqrtm.generated.js +1 -13
- package/lib/cjs/entry/dependenciesAny/dependenciesSquare.generated.js +1 -3
- package/lib/cjs/entry/dependenciesAny/dependenciesSqueeze.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesStd.generated.js +1 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesStdTransform.generated.js +1 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesStefanBoltzmann.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesStirlingS2.generated.js +1 -15
- package/lib/cjs/entry/dependenciesAny/dependenciesString.generated.js +1 -3
- package/lib/cjs/entry/dependenciesAny/dependenciesSubset.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesSubsetTransform.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesSubtract.generated.js +1 -8
- package/lib/cjs/entry/dependenciesAny/dependenciesSum.generated.js +1 -5
- package/lib/cjs/entry/dependenciesAny/dependenciesSumTransform.generated.js +1 -5
- package/lib/cjs/entry/dependenciesAny/dependenciesSymbolNode.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesSymbolicEqual.generated.js +1 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesTan.generated.js +1 -3
- package/lib/cjs/entry/dependenciesAny/dependenciesTanh.generated.js +1 -3
- package/lib/cjs/entry/dependenciesAny/dependenciesTau.generated.js +1 -3
- package/lib/cjs/entry/dependenciesAny/dependenciesThomsonCrossSection.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesTo.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesTrace.generated.js +1 -5
- package/lib/cjs/entry/dependenciesAny/dependenciesTranspose.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesTrue.generated.js +1 -2
- package/lib/cjs/entry/dependenciesAny/dependenciesTypeOf.generated.js +1 -3
- package/lib/cjs/entry/dependenciesAny/dependenciesTyped.generated.js +1 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesUnaryMinus.generated.js +1 -3
- package/lib/cjs/entry/dependenciesAny/dependenciesUnaryPlus.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesUnequal.generated.js +1 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesUnitClass.generated.js +1 -17
- package/lib/cjs/entry/dependenciesAny/dependenciesUnitFunction.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesUppercaseE.generated.js +1 -3
- package/lib/cjs/entry/dependenciesAny/dependenciesUppercasePi.generated.js +1 -3
- package/lib/cjs/entry/dependenciesAny/dependenciesUsolve.generated.js +1 -9
- package/lib/cjs/entry/dependenciesAny/dependenciesUsolveAll.generated.js +1 -9
- package/lib/cjs/entry/dependenciesAny/dependenciesVacuumImpedance.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesVariance.generated.js +1 -9
- package/lib/cjs/entry/dependenciesAny/dependenciesVarianceTransform.generated.js +1 -9
- package/lib/cjs/entry/dependenciesAny/dependenciesVersion.generated.js +1 -2
- package/lib/cjs/entry/dependenciesAny/dependenciesWeakMixingAngle.generated.js +1 -3
- package/lib/cjs/entry/dependenciesAny/dependenciesWienDisplacement.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesXgcd.generated.js +1 -5
- package/lib/cjs/entry/dependenciesAny/dependenciesXor.generated.js +1 -5
- package/lib/cjs/entry/dependenciesAny/dependenciesZeros.generated.js +1 -5
- package/lib/cjs/entry/dependenciesAny.generated.js +0 -346
- package/lib/cjs/entry/dependenciesNumber/dependenciesAbs.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesAccessorNode.generated.js +1 -4
- package/lib/cjs/entry/dependenciesNumber/dependenciesAcos.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesAcosh.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesAcot.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesAcoth.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesAcsc.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesAcsch.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesAdd.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesAddScalar.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesAnd.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesApply.generated.js +1 -4
- package/lib/cjs/entry/dependenciesNumber/dependenciesApplyTransform.generated.js +1 -4
- package/lib/cjs/entry/dependenciesNumber/dependenciesArrayNode.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesAsec.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesAsech.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesAsin.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesAsinh.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesAssignmentNode.generated.js +1 -5
- package/lib/cjs/entry/dependenciesNumber/dependenciesAtan.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesAtan2.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesAtanh.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesBellNumbers.generated.js +1 -7
- package/lib/cjs/entry/dependenciesNumber/dependenciesBitAnd.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesBitNot.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesBitOr.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesBitXor.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesBlockNode.generated.js +1 -4
- package/lib/cjs/entry/dependenciesNumber/dependenciesBoolean.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesCatalan.generated.js +1 -9
- package/lib/cjs/entry/dependenciesNumber/dependenciesCbrt.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesCeil.generated.js +1 -4
- package/lib/cjs/entry/dependenciesNumber/dependenciesChain.generated.js +1 -4
- package/lib/cjs/entry/dependenciesNumber/dependenciesChainClass.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesClone.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesCombinations.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesCombinationsWithRep.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesCompare.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesCompareNatural.generated.js +1 -4
- package/lib/cjs/entry/dependenciesNumber/dependenciesCompareText.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesCompile.generated.js +1 -4
- package/lib/cjs/entry/dependenciesNumber/dependenciesComposition.generated.js +1 -9
- package/lib/cjs/entry/dependenciesNumber/dependenciesConditionalNode.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesConstantNode.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesCos.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesCosh.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesCot.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesCoth.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesCsc.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesCsch.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesCube.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesCumSum.generated.js +1 -5
- package/lib/cjs/entry/dependenciesNumber/dependenciesCumSumTransform.generated.js +1 -5
- package/lib/cjs/entry/dependenciesNumber/dependenciesDeepEqual.generated.js +1 -4
- package/lib/cjs/entry/dependenciesNumber/dependenciesDerivative.generated.js +1 -13
- package/lib/cjs/entry/dependenciesNumber/dependenciesDivide.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesDivideScalar.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesE.generated.js +1 -2
- package/lib/cjs/entry/dependenciesNumber/dependenciesEqual.generated.js +1 -4
- package/lib/cjs/entry/dependenciesNumber/dependenciesEqualScalar.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesEqualText.generated.js +1 -5
- package/lib/cjs/entry/dependenciesNumber/dependenciesErf.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesEvaluate.generated.js +1 -4
- package/lib/cjs/entry/dependenciesNumber/dependenciesExp.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesExpm1.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesFactorial.generated.js +1 -4
- package/lib/cjs/entry/dependenciesNumber/dependenciesFalse.generated.js +1 -2
- package/lib/cjs/entry/dependenciesNumber/dependenciesFilter.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesFilterTransform.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesFix.generated.js +1 -5
- package/lib/cjs/entry/dependenciesNumber/dependenciesFloor.generated.js +1 -4
- package/lib/cjs/entry/dependenciesNumber/dependenciesForEach.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesForEachTransform.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesFormat.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesFunctionAssignmentNode.generated.js +1 -4
- package/lib/cjs/entry/dependenciesNumber/dependenciesFunctionNode.generated.js +1 -4
- package/lib/cjs/entry/dependenciesNumber/dependenciesGamma.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesGcd.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesHasNumericValue.generated.js +1 -4
- package/lib/cjs/entry/dependenciesNumber/dependenciesHelp.generated.js +1 -4
- package/lib/cjs/entry/dependenciesNumber/dependenciesHelpClass.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesHypot.generated.js +1 -10
- package/lib/cjs/entry/dependenciesNumber/dependenciesIndex.generated.js +1 -2
- package/lib/cjs/entry/dependenciesNumber/dependenciesIndexNode.generated.js +1 -4
- package/lib/cjs/entry/dependenciesNumber/dependenciesInfinity.generated.js +1 -2
- package/lib/cjs/entry/dependenciesNumber/dependenciesIsInteger.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesIsNaN.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesIsNegative.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesIsNumeric.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesIsPositive.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesIsPrime.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesIsZero.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesLN10.generated.js +1 -2
- package/lib/cjs/entry/dependenciesNumber/dependenciesLN2.generated.js +1 -2
- package/lib/cjs/entry/dependenciesNumber/dependenciesLOG10E.generated.js +1 -2
- package/lib/cjs/entry/dependenciesNumber/dependenciesLOG2E.generated.js +1 -2
- package/lib/cjs/entry/dependenciesNumber/dependenciesLarger.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesLargerEq.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesLcm.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesLeftShift.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesLgamma.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesLog.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesLog10.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesLog1p.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesLog2.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesMad.generated.js +1 -7
- package/lib/cjs/entry/dependenciesNumber/dependenciesMap.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesMapTransform.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesMatrix.generated.js +1 -2
- package/lib/cjs/entry/dependenciesNumber/dependenciesMax.generated.js +1 -5
- package/lib/cjs/entry/dependenciesNumber/dependenciesMaxTransform.generated.js +1 -5
- package/lib/cjs/entry/dependenciesNumber/dependenciesMean.generated.js +1 -5
- package/lib/cjs/entry/dependenciesNumber/dependenciesMeanTransform.generated.js +1 -5
- package/lib/cjs/entry/dependenciesNumber/dependenciesMedian.generated.js +1 -7
- package/lib/cjs/entry/dependenciesNumber/dependenciesMin.generated.js +1 -5
- package/lib/cjs/entry/dependenciesNumber/dependenciesMinTransform.generated.js +1 -5
- package/lib/cjs/entry/dependenciesNumber/dependenciesMod.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesMode.generated.js +1 -5
- package/lib/cjs/entry/dependenciesNumber/dependenciesMultinomial.generated.js +1 -9
- package/lib/cjs/entry/dependenciesNumber/dependenciesMultiply.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesMultiplyScalar.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesNaN.generated.js +1 -2
- package/lib/cjs/entry/dependenciesNumber/dependenciesNode.generated.js +1 -2
- package/lib/cjs/entry/dependenciesNumber/dependenciesNorm.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesNot.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesNthRoot.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesNull.generated.js +1 -2
- package/lib/cjs/entry/dependenciesNumber/dependenciesNumber.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesNumeric.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesObjectNode.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesOperatorNode.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesOr.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesParenthesisNode.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesParse.generated.js +1 -19
- package/lib/cjs/entry/dependenciesNumber/dependenciesParser.generated.js +1 -4
- package/lib/cjs/entry/dependenciesNumber/dependenciesParserClass.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesPartitionSelect.generated.js +1 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesPermutations.generated.js +1 -4
- package/lib/cjs/entry/dependenciesNumber/dependenciesPhi.generated.js +1 -2
- package/lib/cjs/entry/dependenciesNumber/dependenciesPi.generated.js +1 -2
- package/lib/cjs/entry/dependenciesNumber/dependenciesPickRandom.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesPow.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesPrint.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesProd.generated.js +1 -5
- package/lib/cjs/entry/dependenciesNumber/dependenciesQuantileSeq.generated.js +1 -7
- package/lib/cjs/entry/dependenciesNumber/dependenciesRandom.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesRandomInt.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesRange.generated.js +1 -8
- package/lib/cjs/entry/dependenciesNumber/dependenciesRangeClass.generated.js +1 -2
- package/lib/cjs/entry/dependenciesNumber/dependenciesRangeNode.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesRangeTransform.generated.js +1 -8
- package/lib/cjs/entry/dependenciesNumber/dependenciesRationalize.generated.js +1 -24
- package/lib/cjs/entry/dependenciesNumber/dependenciesRelationalNode.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesReplacer.generated.js +1 -2
- package/lib/cjs/entry/dependenciesNumber/dependenciesResolve.generated.js +1 -8
- package/lib/cjs/entry/dependenciesNumber/dependenciesResultSet.generated.js +1 -2
- package/lib/cjs/entry/dependenciesNumber/dependenciesReviver.generated.js +1 -2
- package/lib/cjs/entry/dependenciesNumber/dependenciesRightArithShift.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesRightLogShift.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesRound.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesSQRT1_2.generated.js +1 -2
- package/lib/cjs/entry/dependenciesNumber/dependenciesSQRT2.generated.js +1 -2
- package/lib/cjs/entry/dependenciesNumber/dependenciesSec.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesSech.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesSign.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesSimplify.generated.js +1 -24
- package/lib/cjs/entry/dependenciesNumber/dependenciesSimplifyConstant.generated.js +1 -13
- package/lib/cjs/entry/dependenciesNumber/dependenciesSimplifyCore.generated.js +1 -20
- package/lib/cjs/entry/dependenciesNumber/dependenciesSin.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesSinh.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesSize.generated.js +1 -4
- package/lib/cjs/entry/dependenciesNumber/dependenciesSmaller.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesSmallerEq.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesSqrt.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesSquare.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesStd.generated.js +1 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesStdTransform.generated.js +1 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesStirlingS2.generated.js +1 -14
- package/lib/cjs/entry/dependenciesNumber/dependenciesString.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesSubset.generated.js +1 -2
- package/lib/cjs/entry/dependenciesNumber/dependenciesSubsetTransform.generated.js +1 -2
- package/lib/cjs/entry/dependenciesNumber/dependenciesSubtract.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesSum.generated.js +1 -5
- package/lib/cjs/entry/dependenciesNumber/dependenciesSumTransform.generated.js +1 -5
- package/lib/cjs/entry/dependenciesNumber/dependenciesSymbolNode.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesTan.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesTanh.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesTau.generated.js +1 -2
- package/lib/cjs/entry/dependenciesNumber/dependenciesTrue.generated.js +1 -2
- package/lib/cjs/entry/dependenciesNumber/dependenciesTypeOf.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesTyped.generated.js +1 -2
- package/lib/cjs/entry/dependenciesNumber/dependenciesUnaryMinus.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesUnaryPlus.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesUnequal.generated.js +1 -4
- package/lib/cjs/entry/dependenciesNumber/dependenciesUppercaseE.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesUppercasePi.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesVariance.generated.js +1 -9
- package/lib/cjs/entry/dependenciesNumber/dependenciesVarianceTransform.generated.js +1 -9
- package/lib/cjs/entry/dependenciesNumber/dependenciesVersion.generated.js +1 -2
- package/lib/cjs/entry/dependenciesNumber/dependenciesXgcd.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesXor.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber.generated.js +0 -202
- package/lib/cjs/entry/impureFunctionsAny.generated.js +1 -9
- package/lib/cjs/entry/impureFunctionsNumber.generated.js +1 -9
- package/lib/cjs/entry/mainAny.js +0 -16
- package/lib/cjs/entry/mainNumber.js +0 -16
- package/lib/cjs/entry/pureFunctionsAny.generated.js +1 -15
- package/lib/cjs/entry/pureFunctionsNumber.generated.js +1 -15
- package/lib/cjs/entry/typeChecks.js +0 -1
- package/lib/cjs/error/ArgumentsError.js +0 -3
- package/lib/cjs/error/DimensionError.js +0 -3
- package/lib/cjs/error/IndexError.js +0 -6
- package/lib/cjs/expression/Help.js +5 -28
- package/lib/cjs/expression/Parser.js +8 -21
- package/lib/cjs/expression/embeddedDocs/embeddedDocs.js +1 -235
- package/lib/cjs/expression/function/compile.js +1 -5
- package/lib/cjs/expression/function/evaluate.js +1 -6
- package/lib/cjs/expression/function/help.js +3 -12
- package/lib/cjs/expression/function/parser.js +1 -4
- package/lib/cjs/expression/node/AccessorNode.js +15 -45
- package/lib/cjs/expression/node/ArrayNode.js +10 -33
- package/lib/cjs/expression/node/AssignmentNode.js +28 -68
- package/lib/cjs/expression/node/BlockNode.js +11 -37
- package/lib/cjs/expression/node/ConditionalNode.js +14 -56
- package/lib/cjs/expression/node/ConstantNode.js +10 -41
- package/lib/cjs/expression/node/FunctionAssignmentNode.js +13 -54
- package/lib/cjs/expression/node/FunctionNode.js +32 -103
- package/lib/cjs/expression/node/IndexNode.js +15 -44
- package/lib/cjs/expression/node/Node.js +23 -57
- package/lib/cjs/expression/node/ObjectNode.js +10 -48
- package/lib/cjs/expression/node/OperatorNode.js +35 -142
- package/lib/cjs/expression/node/ParenthesisNode.js +11 -33
- package/lib/cjs/expression/node/RangeNode.js +15 -66
- package/lib/cjs/expression/node/RelationalNode.js +8 -44
- package/lib/cjs/expression/node/SymbolNode.js +16 -43
- package/lib/cjs/expression/node/utils/access.js +0 -7
- package/lib/cjs/expression/node/utils/assign.js +1 -8
- package/lib/cjs/expression/operators.js +22 -54
- package/lib/cjs/expression/parse.js +162 -341
- package/lib/cjs/expression/transform/apply.transform.js +4 -10
- package/lib/cjs/expression/transform/column.transform.js +6 -12
- package/lib/cjs/expression/transform/concat.transform.js +3 -10
- package/lib/cjs/expression/transform/cumsum.transform.js +2 -9
- package/lib/cjs/expression/transform/diff.transform.js +5 -11
- package/lib/cjs/expression/transform/filter.transform.js +3 -14
- package/lib/cjs/expression/transform/forEach.transform.js +2 -14
- package/lib/cjs/expression/transform/index.transform.js +4 -9
- package/lib/cjs/expression/transform/map.transform.js +3 -16
- package/lib/cjs/expression/transform/max.transform.js +4 -10
- package/lib/cjs/expression/transform/mean.transform.js +3 -9
- package/lib/cjs/expression/transform/min.transform.js +4 -10
- package/lib/cjs/expression/transform/range.transform.js +8 -13
- package/lib/cjs/expression/transform/row.transform.js +6 -12
- package/lib/cjs/expression/transform/std.transform.js +4 -10
- package/lib/cjs/expression/transform/subset.transform.js +2 -6
- package/lib/cjs/expression/transform/sum.transform.js +3 -9
- package/lib/cjs/expression/transform/utils/compileInlineExpression.js +2 -7
- package/lib/cjs/expression/transform/utils/errorTransform.js +0 -3
- package/lib/cjs/expression/transform/utils/lastDimToZeroBase.js +0 -4
- package/lib/cjs/expression/transform/variance.transform.js +7 -13
- package/lib/cjs/factoriesAny.js +0 -278
- package/lib/cjs/factoriesNumber.js +20 -123
- package/lib/cjs/function/algebra/decomposition/lup.js +136 -173
- package/lib/cjs/function/algebra/decomposition/qr.js +36 -54
- package/lib/cjs/function/algebra/decomposition/slu.js +18 -22
- package/lib/cjs/function/algebra/derivative.js +47 -119
- package/lib/cjs/function/algebra/leafCount.js +2 -6
- package/lib/cjs/function/algebra/rationalize.js +152 -170
- package/lib/cjs/function/algebra/resolve.js +8 -19
- package/lib/cjs/function/algebra/simplify/util.js +14 -74
- package/lib/cjs/function/algebra/simplify.js +126 -213
- package/lib/cjs/function/algebra/simplifyConstant.js +45 -131
- package/lib/cjs/function/algebra/simplifyCore.js +29 -81
- package/lib/cjs/function/algebra/solver/lsolve.js +28 -35
- package/lib/cjs/function/algebra/solver/lsolveAll.js +30 -36
- package/lib/cjs/function/algebra/solver/lusolve.js +15 -25
- package/lib/cjs/function/algebra/solver/usolve.js +32 -40
- package/lib/cjs/function/algebra/solver/usolveAll.js +34 -36
- package/lib/cjs/function/algebra/solver/utils/solveValidation.js +4 -32
- package/lib/cjs/function/algebra/sparse/csAmd.js +249 -301
- package/lib/cjs/function/algebra/sparse/csChol.js +72 -88
- package/lib/cjs/function/algebra/sparse/csCounts.js +37 -55
- package/lib/cjs/function/algebra/sparse/csCumsum.js +8 -11
- package/lib/cjs/function/algebra/sparse/csDfs.js +34 -42
- package/lib/cjs/function/algebra/sparse/csEreach.js +24 -31
- package/lib/cjs/function/algebra/sparse/csEtree.js +23 -28
- package/lib/cjs/function/algebra/sparse/csFkeep.js +20 -25
- package/lib/cjs/function/algebra/sparse/csFlip.js +0 -1
- package/lib/cjs/function/algebra/sparse/csIpvec.js +2 -4
- package/lib/cjs/function/algebra/sparse/csLeaf.js +12 -13
- package/lib/cjs/function/algebra/sparse/csLu.js +71 -92
- package/lib/cjs/function/algebra/sparse/csMark.js +0 -2
- package/lib/cjs/function/algebra/sparse/csMarked.js +0 -1
- package/lib/cjs/function/algebra/sparse/csPermute.js +20 -25
- package/lib/cjs/function/algebra/sparse/csPost.js +14 -24
- package/lib/cjs/function/algebra/sparse/csReach.js +14 -20
- package/lib/cjs/function/algebra/sparse/csSpsolve.js +32 -40
- package/lib/cjs/function/algebra/sparse/csSqr.js +62 -86
- package/lib/cjs/function/algebra/sparse/csSymperm.js +33 -44
- package/lib/cjs/function/algebra/sparse/csTdfs.js +12 -15
- package/lib/cjs/function/algebra/sparse/csUnflip.js +0 -2
- package/lib/cjs/function/algebra/symbolicEqual.js +3 -8
- package/lib/cjs/function/arithmetic/abs.js +0 -5
- package/lib/cjs/function/arithmetic/add.js +6 -14
- package/lib/cjs/function/arithmetic/addScalar.js +0 -6
- package/lib/cjs/function/arithmetic/cbrt.js +15 -26
- package/lib/cjs/function/arithmetic/ceil.js +11 -29
- package/lib/cjs/function/arithmetic/cube.js +2 -4
- package/lib/cjs/function/arithmetic/divide.js +7 -11
- package/lib/cjs/function/arithmetic/divideScalar.js +1 -4
- package/lib/cjs/function/arithmetic/dotDivide.js +5 -13
- package/lib/cjs/function/arithmetic/dotMultiply.js +4 -10
- package/lib/cjs/function/arithmetic/dotPow.js +5 -14
- package/lib/cjs/function/arithmetic/exp.js +0 -4
- package/lib/cjs/function/arithmetic/expm1.js +1 -5
- package/lib/cjs/function/arithmetic/fix.js +9 -17
- package/lib/cjs/function/arithmetic/floor.js +11 -29
- package/lib/cjs/function/arithmetic/gcd.js +8 -19
- package/lib/cjs/function/arithmetic/hypot.js +8 -17
- package/lib/cjs/function/arithmetic/invmod.js +11 -19
- package/lib/cjs/function/arithmetic/lcm.js +7 -20
- package/lib/cjs/function/arithmetic/log.js +3 -7
- package/lib/cjs/function/arithmetic/log10.js +2 -7
- package/lib/cjs/function/arithmetic/log1p.js +5 -11
- package/lib/cjs/function/arithmetic/log2.js +3 -8
- package/lib/cjs/function/arithmetic/mod.js +6 -17
- package/lib/cjs/function/arithmetic/multiply.js +312 -335
- package/lib/cjs/function/arithmetic/multiplyScalar.js +0 -4
- package/lib/cjs/function/arithmetic/norm.js +41 -69
- package/lib/cjs/function/arithmetic/nthRoot.js +9 -25
- package/lib/cjs/function/arithmetic/nthRoots.js +7 -15
- package/lib/cjs/function/arithmetic/pow.js +21 -40
- package/lib/cjs/function/arithmetic/round.js +6 -22
- package/lib/cjs/function/arithmetic/sign.js +3 -9
- package/lib/cjs/function/arithmetic/sqrt.js +3 -6
- package/lib/cjs/function/arithmetic/square.js +0 -4
- package/lib/cjs/function/arithmetic/subtract.js +7 -17
- package/lib/cjs/function/arithmetic/unaryMinus.js +2 -6
- package/lib/cjs/function/arithmetic/unaryPlus.js +5 -7
- package/lib/cjs/function/arithmetic/xgcd.js +12 -18
- package/lib/cjs/function/bitwise/bitAnd.js +3 -11
- package/lib/cjs/function/bitwise/bitNot.js +0 -6
- package/lib/cjs/function/bitwise/bitOr.js +4 -12
- package/lib/cjs/function/bitwise/bitXor.js +3 -11
- package/lib/cjs/function/bitwise/leftShift.js +5 -21
- package/lib/cjs/function/bitwise/rightArithShift.js +5 -21
- package/lib/cjs/function/bitwise/rightLogShift.js +6 -19
- package/lib/cjs/function/bitwise/useMatrixForArrayScalar.js +1 -3
- package/lib/cjs/function/combinatorics/bellNumbers.js +6 -11
- package/lib/cjs/function/combinatorics/catalan.js +6 -10
- package/lib/cjs/function/combinatorics/composition.js +6 -10
- package/lib/cjs/function/combinatorics/stirlingS2.js +12 -23
- package/lib/cjs/function/complex/arg.js +1 -4
- package/lib/cjs/function/complex/conj.js +0 -4
- package/lib/cjs/function/complex/im.js +0 -4
- package/lib/cjs/function/complex/re.js +0 -4
- package/lib/cjs/function/geometry/distance.js +7 -55
- package/lib/cjs/function/geometry/intersect.js +19 -54
- package/lib/cjs/function/logical/and.js +5 -17
- package/lib/cjs/function/logical/not.js +0 -5
- package/lib/cjs/function/logical/or.js +4 -11
- package/lib/cjs/function/logical/xor.js +3 -10
- package/lib/cjs/function/matrix/apply.js +3 -23
- package/lib/cjs/function/matrix/column.js +4 -10
- package/lib/cjs/function/matrix/concat.js +9 -26
- package/lib/cjs/function/matrix/count.js +2 -5
- package/lib/cjs/function/matrix/cross.js +4 -11
- package/lib/cjs/function/matrix/ctranspose.js +2 -5
- package/lib/cjs/function/matrix/det.js +7 -26
- package/lib/cjs/function/matrix/diag.js +21 -35
- package/lib/cjs/function/matrix/diff.js +7 -24
- package/lib/cjs/function/matrix/dot.js +22 -46
- package/lib/cjs/function/matrix/eigs/complexEigs.js +156 -209
- package/lib/cjs/function/matrix/eigs/realSymetric.js +62 -106
- package/lib/cjs/function/matrix/eigs.js +40 -72
- package/lib/cjs/function/matrix/expm.js +26 -42
- package/lib/cjs/function/matrix/fft.js +12 -26
- package/lib/cjs/function/matrix/filter.js +1 -7
- package/lib/cjs/function/matrix/flatten.js +6 -12
- package/lib/cjs/function/matrix/forEach.js +1 -9
- package/lib/cjs/function/matrix/getMatrixDataType.js +0 -5
- package/lib/cjs/function/matrix/identity.js +14 -30
- package/lib/cjs/function/matrix/ifft.js +3 -8
- package/lib/cjs/function/matrix/inv.js +20 -44
- package/lib/cjs/function/matrix/kron.js +3 -10
- package/lib/cjs/function/matrix/map.js +1 -11
- package/lib/cjs/function/matrix/matrixFromColumns.js +12 -22
- package/lib/cjs/function/matrix/matrixFromFunction.js +2 -8
- package/lib/cjs/function/matrix/matrixFromRows.js +6 -18
- package/lib/cjs/function/matrix/ones.js +8 -22
- package/lib/cjs/function/matrix/partitionSelect.js +15 -26
- package/lib/cjs/function/matrix/pinv.js +18 -50
- package/lib/cjs/function/matrix/range.js +15 -41
- package/lib/cjs/function/matrix/reshape.js +1 -5
- package/lib/cjs/function/matrix/resize.js +6 -27
- package/lib/cjs/function/matrix/rotate.js +2 -14
- package/lib/cjs/function/matrix/rotationMatrix.js +14 -33
- package/lib/cjs/function/matrix/row.js +4 -10
- package/lib/cjs/function/matrix/size.js +2 -7
- package/lib/cjs/function/matrix/sort.js +7 -20
- package/lib/cjs/function/matrix/sqrtm.js +12 -25
- package/lib/cjs/function/matrix/squeeze.js +3 -8
- package/lib/cjs/function/matrix/subset.js +16 -39
- package/lib/cjs/function/matrix/trace.js +22 -36
- package/lib/cjs/function/matrix/transpose.js +43 -58
- package/lib/cjs/function/matrix/zeros.js +10 -23
- package/lib/cjs/function/probability/combinations.js +3 -12
- package/lib/cjs/function/probability/combinationsWithRep.js +1 -17
- package/lib/cjs/function/probability/factorial.js +1 -7
- package/lib/cjs/function/probability/gamma.js +23 -34
- package/lib/cjs/function/probability/kldivergence.js +10 -22
- package/lib/cjs/function/probability/lgamma.js +13 -17
- package/lib/cjs/function/probability/multinomial.js +6 -11
- package/lib/cjs/function/probability/permutations.js +6 -19
- package/lib/cjs/function/probability/pickRandom.js +7 -27
- package/lib/cjs/function/probability/random.js +9 -20
- package/lib/cjs/function/probability/randomInt.js +3 -12
- package/lib/cjs/function/probability/util/randomMatrix.js +0 -3
- package/lib/cjs/function/probability/util/seededRNG.js +6 -9
- package/lib/cjs/function/relational/compare.js +8 -17
- package/lib/cjs/function/relational/compareNatural.js +28 -59
- package/lib/cjs/function/relational/compareText.js +2 -6
- package/lib/cjs/function/relational/compareUnits.js +0 -3
- package/lib/cjs/function/relational/deepEqual.js +2 -8
- package/lib/cjs/function/relational/equal.js +5 -15
- package/lib/cjs/function/relational/equalScalar.js +3 -9
- package/lib/cjs/function/relational/equalText.js +2 -5
- package/lib/cjs/function/relational/larger.js +5 -14
- package/lib/cjs/function/relational/largerEq.js +5 -14
- package/lib/cjs/function/relational/smaller.js +5 -14
- package/lib/cjs/function/relational/smallerEq.js +5 -14
- package/lib/cjs/function/relational/unequal.js +6 -17
- package/lib/cjs/function/set/setCartesian.js +9 -17
- package/lib/cjs/function/set/setDifference.js +9 -19
- package/lib/cjs/function/set/setDistinct.js +9 -17
- package/lib/cjs/function/set/setIntersect.js +9 -17
- package/lib/cjs/function/set/setIsSubset.js +4 -13
- package/lib/cjs/function/set/setMultiplicity.js +4 -11
- package/lib/cjs/function/set/setPowerset.js +10 -20
- package/lib/cjs/function/set/setSize.js +1 -7
- package/lib/cjs/function/set/setSymDifference.js +5 -10
- package/lib/cjs/function/set/setUnion.js +6 -11
- package/lib/cjs/function/special/erf.js +12 -27
- package/lib/cjs/function/statistics/cumsum.js +4 -27
- package/lib/cjs/function/statistics/mad.js +4 -12
- package/lib/cjs/function/statistics/max.js +7 -16
- package/lib/cjs/function/statistics/mean.js +4 -14
- package/lib/cjs/function/statistics/median.js +14 -21
- package/lib/cjs/function/statistics/min.js +7 -16
- package/lib/cjs/function/statistics/mode.js +3 -15
- package/lib/cjs/function/statistics/prod.js +9 -13
- package/lib/cjs/function/statistics/quantileSeq.js +19 -65
- package/lib/cjs/function/statistics/std.js +3 -10
- package/lib/cjs/function/statistics/sum.js +6 -14
- package/lib/cjs/function/statistics/utils/improveErrorMessage.js +0 -5
- package/lib/cjs/function/statistics/variance.js +11 -24
- package/lib/cjs/function/string/bin.js +2 -4
- package/lib/cjs/function/string/format.js +0 -4
- package/lib/cjs/function/string/hex.js +2 -4
- package/lib/cjs/function/string/oct.js +2 -3
- package/lib/cjs/function/string/print.js +1 -10
- package/lib/cjs/function/trigonometry/acos.js +2 -5
- package/lib/cjs/function/trigonometry/acosh.js +2 -8
- package/lib/cjs/function/trigonometry/acot.js +1 -5
- package/lib/cjs/function/trigonometry/acoth.js +3 -8
- package/lib/cjs/function/trigonometry/acsc.js +3 -8
- package/lib/cjs/function/trigonometry/acsch.js +1 -5
- package/lib/cjs/function/trigonometry/asec.js +3 -8
- package/lib/cjs/function/trigonometry/asech.js +3 -10
- package/lib/cjs/function/trigonometry/asin.js +2 -5
- package/lib/cjs/function/trigonometry/asinh.js +0 -4
- package/lib/cjs/function/trigonometry/atan.js +0 -3
- package/lib/cjs/function/trigonometry/atan2.js +6 -13
- package/lib/cjs/function/trigonometry/atanh.js +2 -7
- package/lib/cjs/function/trigonometry/cos.js +1 -4
- package/lib/cjs/function/trigonometry/cosh.js +0 -4
- package/lib/cjs/function/trigonometry/cot.js +2 -6
- package/lib/cjs/function/trigonometry/coth.js +1 -5
- package/lib/cjs/function/trigonometry/csc.js +2 -6
- package/lib/cjs/function/trigonometry/csch.js +1 -5
- package/lib/cjs/function/trigonometry/sec.js +2 -6
- package/lib/cjs/function/trigonometry/sech.js +1 -5
- package/lib/cjs/function/trigonometry/sin.js +1 -4
- package/lib/cjs/function/trigonometry/sinh.js +0 -4
- package/lib/cjs/function/trigonometry/tan.js +1 -4
- package/lib/cjs/function/trigonometry/tanh.js +0 -4
- package/lib/cjs/function/trigonometry/trigUnit.js +0 -3
- package/lib/cjs/function/unit/to.js +2 -5
- package/lib/cjs/function/utils/clone.js +0 -4
- package/lib/cjs/function/utils/hasNumericValue.js +1 -4
- package/lib/cjs/function/utils/isInteger.js +1 -5
- package/lib/cjs/function/utils/isNaN.js +0 -5
- package/lib/cjs/function/utils/isNegative.js +1 -5
- package/lib/cjs/function/utils/isNumeric.js +0 -4
- package/lib/cjs/function/utils/isPositive.js +0 -5
- package/lib/cjs/function/utils/isPrime.js +4 -25
- package/lib/cjs/function/utils/isZero.js +0 -5
- package/lib/cjs/function/utils/numeric.js +5 -13
- package/lib/cjs/function/utils/typeOf.js +0 -4
- package/lib/cjs/header.js +2 -2
- package/lib/cjs/index.js +0 -2
- package/lib/cjs/json/replacer.js +0 -3
- package/lib/cjs/json/reviver.js +0 -5
- package/lib/cjs/number.js +0 -2
- package/lib/cjs/plain/bignumber/arithmetic.js +0 -10
- package/lib/cjs/plain/bignumber/index.js +0 -7
- package/lib/cjs/plain/number/arithmetic.js +24 -85
- package/lib/cjs/plain/number/bitwise.js +0 -23
- package/lib/cjs/plain/number/combinations.js +4 -14
- package/lib/cjs/plain/number/constants.js +0 -1
- package/lib/cjs/plain/number/index.js +0 -18
- package/lib/cjs/plain/number/logical.js +0 -8
- package/lib/cjs/plain/number/probability.js +11 -22
- package/lib/cjs/plain/number/trigonometry.js +0 -52
- package/lib/cjs/plain/number/utils.js +0 -12
- package/lib/cjs/type/bignumber/BigNumber.js +4 -13
- package/lib/cjs/type/bignumber/function/bignumber.js +1 -10
- package/lib/cjs/type/boolean.js +2 -9
- package/lib/cjs/type/chain/Chain.js +18 -43
- package/lib/cjs/type/chain/function/chain.js +1 -4
- package/lib/cjs/type/complex/Complex.js +8 -35
- package/lib/cjs/type/complex/function/complex.js +2 -7
- package/lib/cjs/type/fraction/Fraction.js +2 -8
- package/lib/cjs/type/fraction/function/fraction.js +2 -6
- package/lib/cjs/type/matrix/DenseMatrix.js +144 -246
- package/lib/cjs/type/matrix/FibonacciHeap.js +119 -159
- package/lib/cjs/type/matrix/ImmutableDenseMatrix.js +20 -43
- package/lib/cjs/type/matrix/Matrix.js +18 -38
- package/lib/cjs/type/matrix/MatrixIndex.js +24 -65
- package/lib/cjs/type/matrix/Range.js +14 -50
- package/lib/cjs/type/matrix/Spa.js +34 -54
- package/lib/cjs/type/matrix/SparseMatrix.js +414 -531
- package/lib/cjs/type/matrix/function/index.js +1 -5
- package/lib/cjs/type/matrix/function/matrix.js +4 -9
- package/lib/cjs/type/matrix/function/sparse.js +1 -4
- package/lib/cjs/type/matrix/utils/matAlgo01xDSid.js +36 -36
- package/lib/cjs/type/matrix/utils/matAlgo02xDS0.js +43 -43
- package/lib/cjs/type/matrix/utils/matAlgo03xDSf.js +40 -40
- package/lib/cjs/type/matrix/utils/matAlgo04xSidSid.js +71 -71
- package/lib/cjs/type/matrix/utils/matAlgo05xSfSf.js +73 -74
- package/lib/cjs/type/matrix/utils/matAlgo06xS0S0.js +61 -61
- package/lib/cjs/type/matrix/utils/matAlgo07xSSf.js +47 -49
- package/lib/cjs/type/matrix/utils/matAlgo08xS0Sid.js +67 -67
- package/lib/cjs/type/matrix/utils/matAlgo09xS0Sf.js +57 -56
- package/lib/cjs/type/matrix/utils/matAlgo10xSids.js +33 -33
- package/lib/cjs/type/matrix/utils/matAlgo11xS0s.js +39 -38
- package/lib/cjs/type/matrix/utils/matAlgo12xSfs.js +33 -33
- package/lib/cjs/type/matrix/utils/matAlgo13xDD.js +26 -28
- package/lib/cjs/type/matrix/utils/matAlgo14xDs.js +18 -19
- package/lib/cjs/type/matrix/utils/matrixAlgorithmSuite.js +10 -32
- package/lib/cjs/type/number.js +7 -26
- package/lib/cjs/type/resultset/ResultSet.js +5 -13
- package/lib/cjs/type/string.js +0 -5
- package/lib/cjs/type/unit/Unit.js +205 -388
- package/lib/cjs/type/unit/function/createUnit.js +1 -4
- package/lib/cjs/type/unit/function/splitUnit.js +0 -3
- package/lib/cjs/type/unit/function/unit.js +5 -6
- package/lib/cjs/type/unit/physicalConstants.js +22 -19
- package/lib/cjs/utils/array.js +62 -137
- package/lib/cjs/utils/bignumber/bitwise.js +13 -96
- package/lib/cjs/utils/bignumber/constants.js +4 -7
- package/lib/cjs/utils/bignumber/formatter.js +20 -46
- package/lib/cjs/utils/bignumber/nearlyEqual.js +8 -10
- package/lib/cjs/utils/collection.js +24 -43
- package/lib/cjs/utils/complex.js +0 -2
- package/lib/cjs/utils/customs.js +18 -42
- package/lib/cjs/utils/emitter.js +2 -4
- package/lib/cjs/utils/factory.js +11 -28
- package/lib/cjs/utils/function.js +4 -21
- package/lib/cjs/utils/is.js +3 -50
- package/lib/cjs/utils/latex.js +6 -14
- package/lib/cjs/utils/log.js +0 -6
- package/lib/cjs/utils/lruQueue.js +0 -9
- package/lib/cjs/utils/map.js +12 -44
- package/lib/cjs/utils/noop.js +0 -5
- package/lib/cjs/utils/number.js +71 -151
- package/lib/cjs/utils/object.js +25 -85
- package/lib/cjs/utils/product.js +0 -4
- package/lib/cjs/utils/scope.js +0 -4
- package/lib/cjs/utils/snapshot.js +13 -47
- package/lib/cjs/utils/string.js +9 -40
- package/lib/cjs/utils/switch.js +0 -5
- package/lib/cjs/version.js +2 -2
- package/lib/esm/constants.js +9 -5
- package/lib/esm/core/create.js +24 -26
- package/lib/esm/core/function/config.js +12 -10
- package/lib/esm/core/function/import.js +21 -57
- package/lib/esm/core/function/typed.js +23 -41
- package/lib/esm/entry/configReadonly.js +2 -3
- package/lib/esm/entry/dependenciesAny.generated.js +0 -1
- package/lib/esm/entry/dependenciesNumber.generated.js +0 -1
- package/lib/esm/entry/impureFunctionsAny.generated.js +2 -8
- package/lib/esm/entry/impureFunctionsNumber.generated.js +2 -8
- package/lib/esm/entry/mainAny.js +10 -5
- package/lib/esm/entry/mainNumber.js +10 -5
- package/lib/esm/entry/pureFunctionsAny.generated.js +2 -1
- package/lib/esm/entry/pureFunctionsNumber.generated.js +2 -1
- package/lib/esm/error/ArgumentsError.js +0 -1
- package/lib/esm/error/DimensionError.js +0 -1
- package/lib/esm/error/IndexError.js +0 -4
- package/lib/esm/expression/Help.js +5 -23
- package/lib/esm/expression/Parser.js +8 -18
- package/lib/esm/expression/embeddedDocs/embeddedDocs.js +1 -0
- package/lib/esm/expression/function/compile.js +0 -1
- package/lib/esm/expression/function/evaluate.js +0 -1
- package/lib/esm/expression/function/help.js +1 -5
- package/lib/esm/expression/function/parser.js +0 -1
- package/lib/esm/expression/node/AccessorNode.js +14 -40
- package/lib/esm/expression/node/ArrayNode.js +11 -29
- package/lib/esm/expression/node/AssignmentNode.js +25 -58
- package/lib/esm/expression/node/BlockNode.js +11 -33
- package/lib/esm/expression/node/ConditionalNode.js +15 -53
- package/lib/esm/expression/node/ConstantNode.js +11 -37
- package/lib/esm/expression/node/FunctionAssignmentNode.js +13 -46
- package/lib/esm/expression/node/FunctionNode.js +30 -93
- package/lib/esm/expression/node/IndexNode.js +15 -38
- package/lib/esm/expression/node/Node.js +23 -67
- package/lib/esm/expression/node/ObjectNode.js +11 -41
- package/lib/esm/expression/node/OperatorNode.js +36 -138
- package/lib/esm/expression/node/ParenthesisNode.js +12 -32
- package/lib/esm/expression/node/RangeNode.js +16 -62
- package/lib/esm/expression/node/RelationalNode.js +9 -37
- package/lib/esm/expression/node/SymbolNode.js +16 -39
- package/lib/esm/expression/node/utils/access.js +0 -2
- package/lib/esm/expression/node/utils/assign.js +0 -2
- package/lib/esm/expression/operators.js +21 -41
- package/lib/esm/expression/parse.js +145 -323
- package/lib/esm/expression/transform/apply.transform.js +3 -4
- package/lib/esm/expression/transform/column.transform.js +3 -4
- package/lib/esm/expression/transform/concat.transform.js +1 -3
- package/lib/esm/expression/transform/cumsum.transform.js +1 -3
- package/lib/esm/expression/transform/diff.transform.js +1 -2
- package/lib/esm/expression/transform/filter.transform.js +3 -7
- package/lib/esm/expression/transform/forEach.transform.js +2 -8
- package/lib/esm/expression/transform/index.transform.js +4 -6
- package/lib/esm/expression/transform/map.transform.js +3 -9
- package/lib/esm/expression/transform/max.transform.js +1 -2
- package/lib/esm/expression/transform/mean.transform.js +1 -2
- package/lib/esm/expression/transform/min.transform.js +1 -2
- package/lib/esm/expression/transform/range.transform.js +1 -3
- package/lib/esm/expression/transform/row.transform.js +3 -4
- package/lib/esm/expression/transform/std.transform.js +1 -2
- package/lib/esm/expression/transform/subset.transform.js +1 -1
- package/lib/esm/expression/transform/sum.transform.js +1 -2
- package/lib/esm/expression/transform/utils/compileInlineExpression.js +3 -5
- package/lib/esm/expression/transform/utils/errorTransform.js +1 -2
- package/lib/esm/expression/transform/utils/lastDimToZeroBase.js +1 -3
- package/lib/esm/expression/transform/variance.transform.js +1 -2
- package/lib/esm/factoriesAny.js +2 -1
- package/lib/esm/factoriesNumber.js +58 -33
- package/lib/esm/function/algebra/decomposition/lup.js +124 -158
- package/lib/esm/function/algebra/decomposition/qr.js +22 -36
- package/lib/esm/function/algebra/decomposition/slu.js +9 -8
- package/lib/esm/function/algebra/derivative.js +36 -105
- package/lib/esm/function/algebra/leafCount.js +1 -3
- package/lib/esm/function/algebra/rationalize.js +127 -142
- package/lib/esm/function/algebra/resolve.js +3 -10
- package/lib/esm/function/algebra/simplify/util.js +12 -67
- package/lib/esm/function/algebra/simplify.js +86 -162
- package/lib/esm/function/algebra/simplifyConstant.js +22 -94
- package/lib/esm/function/algebra/simplifyCore.js +6 -52
- package/lib/esm/function/algebra/solver/lsolve.js +22 -26
- package/lib/esm/function/algebra/solver/lsolveAll.js +24 -25
- package/lib/esm/function/algebra/solver/lusolve.js +9 -14
- package/lib/esm/function/algebra/solver/usolve.js +26 -31
- package/lib/esm/function/algebra/solver/usolveAll.js +28 -25
- package/lib/esm/function/algebra/solver/utils/solveValidation.js +4 -28
- package/lib/esm/function/algebra/sparse/csAmd.js +247 -294
- package/lib/esm/function/algebra/sparse/csChol.js +63 -75
- package/lib/esm/function/algebra/sparse/csCounts.js +37 -52
- package/lib/esm/function/algebra/sparse/csCumsum.js +8 -10
- package/lib/esm/function/algebra/sparse/csDfs.js +35 -39
- package/lib/esm/function/algebra/sparse/csEreach.js +25 -29
- package/lib/esm/function/algebra/sparse/csEtree.js +23 -27
- package/lib/esm/function/algebra/sparse/csFkeep.js +20 -24
- package/lib/esm/function/algebra/sparse/csIpvec.js +2 -3
- package/lib/esm/function/algebra/sparse/csLeaf.js +12 -12
- package/lib/esm/function/algebra/sparse/csLu.js +65 -83
- package/lib/esm/function/algebra/sparse/csMark.js +1 -1
- package/lib/esm/function/algebra/sparse/csPermute.js +20 -24
- package/lib/esm/function/algebra/sparse/csPost.js +15 -23
- package/lib/esm/function/algebra/sparse/csReach.js +15 -17
- package/lib/esm/function/algebra/sparse/csSpsolve.js +30 -35
- package/lib/esm/function/algebra/sparse/csSqr.js +60 -77
- package/lib/esm/function/algebra/sparse/csSymperm.js +32 -40
- package/lib/esm/function/algebra/sparse/csTdfs.js +12 -14
- package/lib/esm/function/algebra/sparse/csUnflip.js +1 -1
- package/lib/esm/function/algebra/symbolicEqual.js +0 -2
- package/lib/esm/function/arithmetic/abs.js +0 -1
- package/lib/esm/function/arithmetic/add.js +1 -3
- package/lib/esm/function/arithmetic/addScalar.js +0 -3
- package/lib/esm/function/arithmetic/cbrt.js +8 -15
- package/lib/esm/function/arithmetic/ceil.js +0 -3
- package/lib/esm/function/arithmetic/cube.js +2 -1
- package/lib/esm/function/arithmetic/divide.js +2 -1
- package/lib/esm/function/arithmetic/divideScalar.js +0 -1
- package/lib/esm/function/arithmetic/dotDivide.js +1 -1
- package/lib/esm/function/arithmetic/dotMultiply.js +1 -1
- package/lib/esm/function/arithmetic/dotPow.js +1 -3
- package/lib/esm/function/arithmetic/exp.js +0 -1
- package/lib/esm/function/arithmetic/expm1.js +0 -1
- package/lib/esm/function/arithmetic/fix.js +0 -3
- package/lib/esm/function/arithmetic/floor.js +0 -3
- package/lib/esm/function/arithmetic/gcd.js +4 -8
- package/lib/esm/function/arithmetic/hypot.js +1 -6
- package/lib/esm/function/arithmetic/invmod.js +0 -2
- package/lib/esm/function/arithmetic/lcm.js +5 -11
- package/lib/esm/function/arithmetic/log.js +0 -1
- package/lib/esm/function/arithmetic/log10.js +0 -1
- package/lib/esm/function/arithmetic/log1p.js +1 -3
- package/lib/esm/function/arithmetic/log2.js +1 -2
- package/lib/esm/function/arithmetic/mod.js +3 -5
- package/lib/esm/function/arithmetic/multiply.js +307 -324
- package/lib/esm/function/arithmetic/multiplyScalar.js +0 -1
- package/lib/esm/function/arithmetic/norm.js +29 -55
- package/lib/esm/function/arithmetic/nthRoot.js +6 -14
- package/lib/esm/function/arithmetic/nthRoots.js +4 -10
- package/lib/esm/function/arithmetic/pow.js +13 -27
- package/lib/esm/function/arithmetic/round.js +1 -10
- package/lib/esm/function/arithmetic/sign.js +0 -2
- package/lib/esm/function/arithmetic/sqrt.js +1 -2
- package/lib/esm/function/arithmetic/square.js +0 -1
- package/lib/esm/function/arithmetic/subtract.js +2 -4
- package/lib/esm/function/arithmetic/unaryMinus.js +2 -2
- package/lib/esm/function/arithmetic/unaryPlus.js +3 -1
- package/lib/esm/function/arithmetic/xgcd.js +9 -12
- package/lib/esm/function/bitwise/bitAnd.js +1 -1
- package/lib/esm/function/bitwise/bitNot.js +0 -1
- package/lib/esm/function/bitwise/bitOr.js +1 -1
- package/lib/esm/function/bitwise/bitXor.js +1 -1
- package/lib/esm/function/bitwise/leftShift.js +1 -5
- package/lib/esm/function/bitwise/rightArithShift.js +1 -5
- package/lib/esm/function/bitwise/rightLogShift.js +2 -4
- package/lib/esm/function/combinatorics/bellNumbers.js +2 -5
- package/lib/esm/function/combinatorics/catalan.js +0 -2
- package/lib/esm/function/combinatorics/composition.js +0 -2
- package/lib/esm/function/combinatorics/stirlingS2.js +0 -8
- package/lib/esm/function/complex/arg.js +1 -1
- package/lib/esm/function/complex/conj.js +0 -1
- package/lib/esm/function/complex/im.js +0 -1
- package/lib/esm/function/complex/re.js +0 -1
- package/lib/esm/function/geometry/distance.js +0 -45
- package/lib/esm/function/geometry/intersect.js +5 -38
- package/lib/esm/function/logical/and.js +1 -5
- package/lib/esm/function/logical/not.js +0 -1
- package/lib/esm/function/logical/or.js +1 -1
- package/lib/esm/function/logical/xor.js +1 -1
- package/lib/esm/function/matrix/apply.js +2 -16
- package/lib/esm/function/matrix/column.js +1 -3
- package/lib/esm/function/matrix/concat.js +7 -16
- package/lib/esm/function/matrix/count.js +0 -1
- package/lib/esm/function/matrix/cross.js +1 -5
- package/lib/esm/function/matrix/ctranspose.js +0 -1
- package/lib/esm/function/matrix/det.js +1 -15
- package/lib/esm/function/matrix/diag.js +18 -27
- package/lib/esm/function/matrix/diff.js +4 -17
- package/lib/esm/function/matrix/dot.js +18 -39
- package/lib/esm/function/matrix/eigs/complexEigs.js +131 -169
- package/lib/esm/function/matrix/eigs/realSymetric.js +51 -93
- package/lib/esm/function/matrix/eigs.js +6 -30
- package/lib/esm/function/matrix/expm.js +21 -33
- package/lib/esm/function/matrix/fft.js +5 -14
- package/lib/esm/function/matrix/filter.js +1 -2
- package/lib/esm/function/matrix/flatten.js +5 -7
- package/lib/esm/function/matrix/forEach.js +1 -4
- package/lib/esm/function/matrix/getMatrixDataType.js +0 -1
- package/lib/esm/function/matrix/identity.js +9 -20
- package/lib/esm/function/matrix/ifft.js +0 -1
- package/lib/esm/function/matrix/inv.js +12 -31
- package/lib/esm/function/matrix/kron.js +1 -5
- package/lib/esm/function/matrix/map.js +1 -7
- package/lib/esm/function/matrix/matrixFromColumns.js +8 -12
- package/lib/esm/function/matrix/matrixFromFunction.js +0 -4
- package/lib/esm/function/matrix/matrixFromRows.js +2 -8
- package/lib/esm/function/matrix/ones.js +5 -14
- package/lib/esm/function/matrix/partitionSelect.js +12 -19
- package/lib/esm/function/matrix/pinv.js +5 -31
- package/lib/esm/function/matrix/range.js +8 -31
- package/lib/esm/function/matrix/reshape.js +0 -1
- package/lib/esm/function/matrix/resize.js +5 -17
- package/lib/esm/function/matrix/rotate.js +0 -9
- package/lib/esm/function/matrix/rotationMatrix.js +3 -19
- package/lib/esm/function/matrix/row.js +1 -3
- package/lib/esm/function/matrix/size.js +0 -1
- package/lib/esm/function/matrix/sort.js +4 -14
- package/lib/esm/function/matrix/sqrtm.js +2 -10
- package/lib/esm/function/matrix/squeeze.js +2 -3
- package/lib/esm/function/matrix/subset.js +15 -30
- package/lib/esm/function/matrix/trace.js +20 -30
- package/lib/esm/function/matrix/transpose.js +42 -53
- package/lib/esm/function/matrix/zeros.js +8 -15
- package/lib/esm/function/probability/combinations.js +3 -8
- package/lib/esm/function/probability/combinationsWithRep.js +1 -12
- package/lib/esm/function/probability/factorial.js +0 -3
- package/lib/esm/function/probability/gamma.js +18 -26
- package/lib/esm/function/probability/kldivergence.js +2 -12
- package/lib/esm/function/probability/lgamma.js +12 -12
- package/lib/esm/function/probability/multinomial.js +0 -2
- package/lib/esm/function/probability/permutations.js +5 -13
- package/lib/esm/function/probability/pickRandom.js +2 -17
- package/lib/esm/function/probability/random.js +4 -10
- package/lib/esm/function/probability/randomInt.js +1 -5
- package/lib/esm/function/probability/util/randomMatrix.js +0 -2
- package/lib/esm/function/probability/util/seededRNG.js +6 -5
- package/lib/esm/function/relational/compare.js +1 -1
- package/lib/esm/function/relational/compareNatural.js +27 -52
- package/lib/esm/function/relational/compareText.js +1 -1
- package/lib/esm/function/relational/compareUnits.js +0 -1
- package/lib/esm/function/relational/deepEqual.js +1 -5
- package/lib/esm/function/relational/equal.js +1 -5
- package/lib/esm/function/relational/equalScalar.js +1 -1
- package/lib/esm/function/relational/equalText.js +0 -1
- package/lib/esm/function/relational/larger.js +1 -1
- package/lib/esm/function/relational/largerEq.js +1 -1
- package/lib/esm/function/relational/smaller.js +1 -1
- package/lib/esm/function/relational/smallerEq.js +1 -1
- package/lib/esm/function/relational/unequal.js +1 -6
- package/lib/esm/function/set/setCartesian.js +4 -9
- package/lib/esm/function/set/setDifference.js +4 -11
- package/lib/esm/function/set/setDistinct.js +4 -9
- package/lib/esm/function/set/setIntersect.js +4 -9
- package/lib/esm/function/set/setIsSubset.js +0 -6
- package/lib/esm/function/set/setMultiplicity.js +0 -4
- package/lib/esm/function/set/setPowerset.js +6 -13
- package/lib/esm/function/set/setSize.js +0 -3
- package/lib/esm/function/set/setSymDifference.js +0 -2
- package/lib/esm/function/set/setUnion.js +0 -2
- package/lib/esm/function/special/erf.js +12 -23
- package/lib/esm/function/statistics/cumsum.js +2 -18
- package/lib/esm/function/statistics/mad.js +0 -4
- package/lib/esm/function/statistics/max.js +4 -9
- package/lib/esm/function/statistics/mean.js +2 -7
- package/lib/esm/function/statistics/median.js +10 -12
- package/lib/esm/function/statistics/min.js +4 -9
- package/lib/esm/function/statistics/mode.js +1 -10
- package/lib/esm/function/statistics/prod.js +6 -6
- package/lib/esm/function/statistics/quantileSeq.js +15 -56
- package/lib/esm/function/statistics/std.js +0 -4
- package/lib/esm/function/statistics/sum.js +3 -7
- package/lib/esm/function/statistics/utils/improveErrorMessage.js +1 -4
- package/lib/esm/function/statistics/variance.js +5 -13
- package/lib/esm/function/string/bin.js +1 -1
- package/lib/esm/function/string/format.js +0 -1
- package/lib/esm/function/string/hex.js +1 -1
- package/lib/esm/function/string/oct.js +1 -0
- package/lib/esm/function/string/print.js +1 -5
- package/lib/esm/function/trigonometry/acos.js +0 -1
- package/lib/esm/function/trigonometry/acosh.js +0 -3
- package/lib/esm/function/trigonometry/acot.js +0 -1
- package/lib/esm/function/trigonometry/acoth.js +0 -2
- package/lib/esm/function/trigonometry/acsc.js +0 -2
- package/lib/esm/function/trigonometry/acsch.js +0 -1
- package/lib/esm/function/trigonometry/asec.js +0 -2
- package/lib/esm/function/trigonometry/asech.js +0 -4
- package/lib/esm/function/trigonometry/asin.js +0 -1
- package/lib/esm/function/trigonometry/asinh.js +0 -1
- package/lib/esm/function/trigonometry/atan.js +0 -1
- package/lib/esm/function/trigonometry/atan2.js +2 -1
- package/lib/esm/function/trigonometry/atanh.js +0 -2
- package/lib/esm/function/trigonometry/cos.js +1 -1
- package/lib/esm/function/trigonometry/cosh.js +0 -1
- package/lib/esm/function/trigonometry/cot.js +1 -1
- package/lib/esm/function/trigonometry/coth.js +0 -1
- package/lib/esm/function/trigonometry/csc.js +1 -1
- package/lib/esm/function/trigonometry/csch.js +0 -1
- package/lib/esm/function/trigonometry/sec.js +1 -1
- package/lib/esm/function/trigonometry/sech.js +0 -1
- package/lib/esm/function/trigonometry/sin.js +1 -1
- package/lib/esm/function/trigonometry/sinh.js +0 -1
- package/lib/esm/function/trigonometry/tan.js +1 -1
- package/lib/esm/function/trigonometry/tanh.js +0 -1
- package/lib/esm/function/trigonometry/trigUnit.js +0 -1
- package/lib/esm/function/unit/to.js +1 -1
- package/lib/esm/function/utils/clone.js +0 -1
- package/lib/esm/function/utils/hasNumericValue.js +0 -1
- package/lib/esm/function/utils/isInteger.js +1 -1
- package/lib/esm/function/utils/isNaN.js +0 -1
- package/lib/esm/function/utils/isNegative.js +1 -1
- package/lib/esm/function/utils/isNumeric.js +0 -1
- package/lib/esm/function/utils/isPositive.js +0 -1
- package/lib/esm/function/utils/isPrime.js +4 -22
- package/lib/esm/function/utils/isZero.js +0 -1
- package/lib/esm/function/utils/numeric.js +3 -7
- package/lib/esm/function/utils/typeOf.js +0 -1
- package/lib/esm/json/replacer.js +0 -1
- package/lib/esm/json/reviver.js +0 -3
- package/lib/esm/plain/bignumber/index.js +2 -1
- package/lib/esm/plain/number/arithmetic.js +25 -45
- package/lib/esm/plain/number/bitwise.js +0 -7
- package/lib/esm/plain/number/combinations.js +4 -10
- package/lib/esm/plain/number/probability.js +12 -16
- package/lib/esm/type/bignumber/BigNumber.js +3 -6
- package/lib/esm/type/bignumber/function/bignumber.js +0 -6
- package/lib/esm/type/boolean.js +2 -6
- package/lib/esm/type/chain/Chain.js +16 -36
- package/lib/esm/type/chain/function/chain.js +0 -1
- package/lib/esm/type/complex/Complex.js +8 -28
- package/lib/esm/type/complex/function/complex.js +1 -3
- package/lib/esm/type/fraction/Fraction.js +2 -4
- package/lib/esm/type/fraction/function/fraction.js +1 -2
- package/lib/esm/type/matrix/DenseMatrix.js +143 -224
- package/lib/esm/type/matrix/FibonacciHeap.js +118 -156
- package/lib/esm/type/matrix/ImmutableDenseMatrix.js +19 -38
- package/lib/esm/type/matrix/Matrix.js +18 -36
- package/lib/esm/type/matrix/MatrixIndex.js +24 -60
- package/lib/esm/type/matrix/Range.js +14 -46
- package/lib/esm/type/matrix/Spa.js +32 -50
- package/lib/esm/type/matrix/SparseMatrix.js +412 -513
- package/lib/esm/type/matrix/function/index.js +0 -1
- package/lib/esm/type/matrix/function/matrix.js +1 -4
- package/lib/esm/type/matrix/function/sparse.js +0 -1
- package/lib/esm/type/matrix/utils/matAlgo01xDSid.js +36 -33
- package/lib/esm/type/matrix/utils/matAlgo02xDS0.js +42 -39
- package/lib/esm/type/matrix/utils/matAlgo03xDSf.js +40 -37
- package/lib/esm/type/matrix/utils/matAlgo04xSidSid.js +70 -67
- package/lib/esm/type/matrix/utils/matAlgo05xSfSf.js +72 -70
- package/lib/esm/type/matrix/utils/matAlgo06xS0S0.js +60 -56
- package/lib/esm/type/matrix/utils/matAlgo07xSSf.js +46 -45
- package/lib/esm/type/matrix/utils/matAlgo08xS0Sid.js +66 -63
- package/lib/esm/type/matrix/utils/matAlgo09xS0Sf.js +56 -52
- package/lib/esm/type/matrix/utils/matAlgo10xSids.js +32 -30
- package/lib/esm/type/matrix/utils/matAlgo11xS0s.js +38 -35
- package/lib/esm/type/matrix/utils/matAlgo12xSfs.js +32 -30
- package/lib/esm/type/matrix/utils/matAlgo13xDD.js +26 -25
- package/lib/esm/type/matrix/utils/matAlgo14xDs.js +18 -16
- package/lib/esm/type/matrix/utils/matrixAlgorithmSuite.js +9 -26
- package/lib/esm/type/number.js +7 -23
- package/lib/esm/type/resultset/ResultSet.js +5 -11
- package/lib/esm/type/string.js +0 -1
- package/lib/esm/type/unit/Unit.js +189 -362
- package/lib/esm/type/unit/function/createUnit.js +0 -1
- package/lib/esm/type/unit/function/splitUnit.js +0 -1
- package/lib/esm/type/unit/function/unit.js +4 -2
- package/lib/esm/type/unit/physicalConstants.js +22 -15
- package/lib/esm/utils/array.js +63 -113
- package/lib/esm/utils/bignumber/bitwise.js +13 -89
- package/lib/esm/utils/bignumber/constants.js +5 -5
- package/lib/esm/utils/bignumber/formatter.js +21 -42
- package/lib/esm/utils/bignumber/nearlyEqual.js +8 -9
- package/lib/esm/utils/collection.js +25 -35
- package/lib/esm/utils/complex.js +1 -1
- package/lib/esm/utils/customs.js +19 -39
- package/lib/esm/utils/emitter.js +3 -2
- package/lib/esm/utils/factory.js +12 -20
- package/lib/esm/utils/function.js +4 -13
- package/lib/esm/utils/is.js +3 -7
- package/lib/esm/utils/latex.js +6 -8
- package/lib/esm/utils/log.js +0 -2
- package/lib/esm/utils/lruQueue.js +0 -8
- package/lib/esm/utils/map.js +6 -21
- package/lib/esm/utils/number.js +72 -115
- package/lib/esm/utils/object.js +26 -66
- package/lib/esm/utils/product.js +0 -3
- package/lib/esm/utils/scope.js +1 -3
- package/lib/esm/utils/snapshot.js +10 -32
- package/lib/esm/utils/string.js +10 -32
- package/lib/esm/utils/switch.js +0 -4
- package/lib/esm/version.js +2 -1
- package/package.json +16 -15
- package/types/index.d.ts +30 -35
- package/types/index.ts +72 -7
- package/types/tsconfig.json +1 -0
|
@@ -1,37 +1,25 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
4
|
Object.defineProperty(exports, "__esModule", {
|
|
6
5
|
value: true
|
|
7
6
|
});
|
|
8
7
|
exports.createSparseMatrixClass = void 0;
|
|
9
|
-
|
|
10
8
|
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
11
|
-
|
|
12
9
|
var _is = require("../../utils/is.js");
|
|
13
|
-
|
|
14
10
|
var _number = require("../../utils/number.js");
|
|
15
|
-
|
|
16
11
|
var _string = require("../../utils/string.js");
|
|
17
|
-
|
|
18
12
|
var _object = require("../../utils/object.js");
|
|
19
|
-
|
|
20
13
|
var _array = require("../../utils/array.js");
|
|
21
|
-
|
|
22
14
|
var _factory = require("../../utils/factory.js");
|
|
23
|
-
|
|
24
15
|
var _DimensionError = require("../../error/DimensionError.js");
|
|
25
|
-
|
|
26
16
|
var _function = require("../../utils/function.js");
|
|
27
|
-
|
|
28
17
|
var name = 'SparseMatrix';
|
|
29
18
|
var dependencies = ['typed', 'equalScalar', 'Matrix'];
|
|
30
19
|
var createSparseMatrixClass = /* #__PURE__ */(0, _factory.factory)(name, dependencies, function (_ref) {
|
|
31
20
|
var typed = _ref.typed,
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
21
|
+
equalScalar = _ref.equalScalar,
|
|
22
|
+
Matrix = _ref.Matrix;
|
|
35
23
|
/**
|
|
36
24
|
* Sparse Matrix implementation. This type implements
|
|
37
25
|
* a [Compressed Column Storage](https://en.wikipedia.org/wiki/Sparse_matrix#Compressed_sparse_column_(CSC_or_CCS))
|
|
@@ -42,11 +30,9 @@ var createSparseMatrixClass = /* #__PURE__ */(0, _factory.factory)(name, depende
|
|
|
42
30
|
if (!(this instanceof SparseMatrix)) {
|
|
43
31
|
throw new SyntaxError('Constructor must be called with the new operator');
|
|
44
32
|
}
|
|
45
|
-
|
|
46
33
|
if (datatype && !(0, _is.isString)(datatype)) {
|
|
47
34
|
throw new Error('Invalid datatype: ' + datatype);
|
|
48
35
|
}
|
|
49
|
-
|
|
50
36
|
if ((0, _is.isMatrix)(data)) {
|
|
51
37
|
// create from matrix
|
|
52
38
|
_createFromMatrix(this, data, datatype);
|
|
@@ -72,7 +58,6 @@ var createSparseMatrixClass = /* #__PURE__ */(0, _factory.factory)(name, depende
|
|
|
72
58
|
this._datatype = datatype;
|
|
73
59
|
}
|
|
74
60
|
}
|
|
75
|
-
|
|
76
61
|
function _createFromMatrix(matrix, source, datatype) {
|
|
77
62
|
// check matrix type
|
|
78
63
|
if (source.type === 'SparseMatrix') {
|
|
@@ -87,58 +72,53 @@ var createSparseMatrixClass = /* #__PURE__ */(0, _factory.factory)(name, depende
|
|
|
87
72
|
_createFromArray(matrix, source.valueOf(), datatype || source._datatype);
|
|
88
73
|
}
|
|
89
74
|
}
|
|
90
|
-
|
|
91
75
|
function _createFromArray(matrix, data, datatype) {
|
|
92
76
|
// initialize fields
|
|
93
77
|
matrix._values = [];
|
|
94
78
|
matrix._index = [];
|
|
95
79
|
matrix._ptr = [];
|
|
96
|
-
matrix._datatype = datatype;
|
|
97
|
-
|
|
80
|
+
matrix._datatype = datatype;
|
|
81
|
+
// discover rows & columns, do not use math.size() to avoid looping array twice
|
|
98
82
|
var rows = data.length;
|
|
99
|
-
var columns = 0;
|
|
100
|
-
|
|
101
|
-
var eq = equalScalar; // zero value
|
|
83
|
+
var columns = 0;
|
|
102
84
|
|
|
85
|
+
// equal signature to use
|
|
86
|
+
var eq = equalScalar;
|
|
87
|
+
// zero value
|
|
103
88
|
var zero = 0;
|
|
104
|
-
|
|
105
89
|
if ((0, _is.isString)(datatype)) {
|
|
106
90
|
// find signature that matches (datatype, datatype)
|
|
107
|
-
eq = typed.find(equalScalar, [datatype, datatype]) || equalScalar;
|
|
108
|
-
|
|
91
|
+
eq = typed.find(equalScalar, [datatype, datatype]) || equalScalar;
|
|
92
|
+
// convert 0 to the same datatype
|
|
109
93
|
zero = typed.convert(0, datatype);
|
|
110
|
-
}
|
|
111
|
-
|
|
94
|
+
}
|
|
112
95
|
|
|
96
|
+
// check we have rows (empty array)
|
|
113
97
|
if (rows > 0) {
|
|
114
98
|
// column index
|
|
115
99
|
var j = 0;
|
|
116
|
-
|
|
117
100
|
do {
|
|
118
101
|
// store pointer to values index
|
|
119
|
-
matrix._ptr.push(matrix._index.length);
|
|
120
|
-
|
|
121
|
-
|
|
102
|
+
matrix._ptr.push(matrix._index.length);
|
|
103
|
+
// loop rows
|
|
122
104
|
for (var i = 0; i < rows; i++) {
|
|
123
105
|
// current row
|
|
124
|
-
var row = data[i];
|
|
125
|
-
|
|
106
|
+
var row = data[i];
|
|
107
|
+
// check row is an array
|
|
126
108
|
if ((0, _is.isArray)(row)) {
|
|
127
109
|
// update columns if needed (only on first column)
|
|
128
110
|
if (j === 0 && columns < row.length) {
|
|
129
111
|
columns = row.length;
|
|
130
|
-
}
|
|
131
|
-
|
|
132
|
-
|
|
112
|
+
}
|
|
113
|
+
// check row has column
|
|
133
114
|
if (j < row.length) {
|
|
134
115
|
// value
|
|
135
|
-
var v = row[j];
|
|
136
|
-
|
|
116
|
+
var v = row[j];
|
|
117
|
+
// check value != 0
|
|
137
118
|
if (!eq(v, zero)) {
|
|
138
119
|
// store value
|
|
139
|
-
matrix._values.push(v);
|
|
140
|
-
|
|
141
|
-
|
|
120
|
+
matrix._values.push(v);
|
|
121
|
+
// index
|
|
142
122
|
matrix._index.push(i);
|
|
143
123
|
}
|
|
144
124
|
}
|
|
@@ -146,50 +126,44 @@ var createSparseMatrixClass = /* #__PURE__ */(0, _factory.factory)(name, depende
|
|
|
146
126
|
// update columns if needed (only on first column)
|
|
147
127
|
if (j === 0 && columns < 1) {
|
|
148
128
|
columns = 1;
|
|
149
|
-
}
|
|
150
|
-
|
|
151
|
-
|
|
129
|
+
}
|
|
130
|
+
// check value != 0 (row is a scalar)
|
|
152
131
|
if (!eq(row, zero)) {
|
|
153
132
|
// store value
|
|
154
|
-
matrix._values.push(row);
|
|
155
|
-
|
|
156
|
-
|
|
133
|
+
matrix._values.push(row);
|
|
134
|
+
// index
|
|
157
135
|
matrix._index.push(i);
|
|
158
136
|
}
|
|
159
137
|
}
|
|
160
|
-
}
|
|
161
|
-
|
|
162
|
-
|
|
138
|
+
}
|
|
139
|
+
// increment index
|
|
163
140
|
j++;
|
|
164
141
|
} while (j < columns);
|
|
165
|
-
}
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
142
|
+
}
|
|
143
|
+
// store number of values in ptr
|
|
144
|
+
matrix._ptr.push(matrix._index.length);
|
|
145
|
+
// size
|
|
171
146
|
matrix._size = [rows, columns];
|
|
172
147
|
}
|
|
173
|
-
|
|
174
148
|
SparseMatrix.prototype = new Matrix();
|
|
149
|
+
|
|
175
150
|
/**
|
|
176
151
|
* Create a new SparseMatrix
|
|
177
152
|
*/
|
|
178
|
-
|
|
179
153
|
SparseMatrix.prototype.createSparseMatrix = function (data, datatype) {
|
|
180
154
|
return new SparseMatrix(data, datatype);
|
|
181
155
|
};
|
|
156
|
+
|
|
182
157
|
/**
|
|
183
158
|
* Attach type information
|
|
184
159
|
*/
|
|
185
|
-
|
|
186
|
-
|
|
187
160
|
Object.defineProperty(SparseMatrix, 'name', {
|
|
188
161
|
value: 'SparseMatrix'
|
|
189
162
|
});
|
|
190
163
|
SparseMatrix.prototype.constructor = SparseMatrix;
|
|
191
164
|
SparseMatrix.prototype.type = 'SparseMatrix';
|
|
192
165
|
SparseMatrix.prototype.isSparseMatrix = true;
|
|
166
|
+
|
|
193
167
|
/**
|
|
194
168
|
* Get the matrix type
|
|
195
169
|
*
|
|
@@ -199,10 +173,10 @@ var createSparseMatrixClass = /* #__PURE__ */(0, _factory.factory)(name, depende
|
|
|
199
173
|
* @memberOf SparseMatrix
|
|
200
174
|
* @return {string} type information; if multiple types are found from the Matrix, it will return "mixed"
|
|
201
175
|
*/
|
|
202
|
-
|
|
203
176
|
SparseMatrix.prototype.getDataType = function () {
|
|
204
177
|
return (0, _array.getArrayDataType)(this._values, _is.typeOf);
|
|
205
178
|
};
|
|
179
|
+
|
|
206
180
|
/**
|
|
207
181
|
* Get the storage format used by the matrix.
|
|
208
182
|
*
|
|
@@ -212,11 +186,10 @@ var createSparseMatrixClass = /* #__PURE__ */(0, _factory.factory)(name, depende
|
|
|
212
186
|
* @memberof SparseMatrix
|
|
213
187
|
* @return {string} The storage format.
|
|
214
188
|
*/
|
|
215
|
-
|
|
216
|
-
|
|
217
189
|
SparseMatrix.prototype.storage = function () {
|
|
218
190
|
return 'sparse';
|
|
219
191
|
};
|
|
192
|
+
|
|
220
193
|
/**
|
|
221
194
|
* Get the datatype of the data stored in the matrix.
|
|
222
195
|
*
|
|
@@ -226,22 +199,20 @@ var createSparseMatrixClass = /* #__PURE__ */(0, _factory.factory)(name, depende
|
|
|
226
199
|
* @memberof SparseMatrix
|
|
227
200
|
* @return {string} The datatype.
|
|
228
201
|
*/
|
|
229
|
-
|
|
230
|
-
|
|
231
202
|
SparseMatrix.prototype.datatype = function () {
|
|
232
203
|
return this._datatype;
|
|
233
204
|
};
|
|
205
|
+
|
|
234
206
|
/**
|
|
235
207
|
* Create a new SparseMatrix
|
|
236
208
|
* @memberof SparseMatrix
|
|
237
209
|
* @param {Array} data
|
|
238
210
|
* @param {string} [datatype]
|
|
239
211
|
*/
|
|
240
|
-
|
|
241
|
-
|
|
242
212
|
SparseMatrix.prototype.create = function (data, datatype) {
|
|
243
213
|
return new SparseMatrix(data, datatype);
|
|
244
214
|
};
|
|
215
|
+
|
|
245
216
|
/**
|
|
246
217
|
* Get the matrix density.
|
|
247
218
|
*
|
|
@@ -251,15 +222,14 @@ var createSparseMatrixClass = /* #__PURE__ */(0, _factory.factory)(name, depende
|
|
|
251
222
|
* @memberof SparseMatrix
|
|
252
223
|
* @return {number} The matrix density.
|
|
253
224
|
*/
|
|
254
|
-
|
|
255
|
-
|
|
256
225
|
SparseMatrix.prototype.density = function () {
|
|
257
226
|
// rows & columns
|
|
258
227
|
var rows = this._size[0];
|
|
259
|
-
var columns = this._size[1];
|
|
260
|
-
|
|
228
|
+
var columns = this._size[1];
|
|
229
|
+
// calculate density
|
|
261
230
|
return rows !== 0 && columns !== 0 ? this._index.length / (rows * columns) : 0;
|
|
262
231
|
};
|
|
232
|
+
|
|
263
233
|
/**
|
|
264
234
|
* Get a subset of the matrix, or replace a subset of the matrix.
|
|
265
235
|
*
|
|
@@ -274,103 +244,101 @@ var createSparseMatrixClass = /* #__PURE__ */(0, _factory.factory)(name, depende
|
|
|
274
244
|
* the matrix is resized. If not provided,
|
|
275
245
|
* new matrix elements will be filled with zeros.
|
|
276
246
|
*/
|
|
277
|
-
|
|
278
|
-
|
|
279
247
|
SparseMatrix.prototype.subset = function (index, replacement, defaultValue) {
|
|
280
248
|
// check it is a pattern matrix
|
|
281
249
|
if (!this._values) {
|
|
282
250
|
throw new Error('Cannot invoke subset on a Pattern only matrix');
|
|
283
|
-
}
|
|
284
|
-
|
|
251
|
+
}
|
|
285
252
|
|
|
253
|
+
// check arguments
|
|
286
254
|
switch (arguments.length) {
|
|
287
255
|
case 1:
|
|
288
256
|
return _getsubset(this, index);
|
|
289
|
-
// intentional fall through
|
|
290
257
|
|
|
258
|
+
// intentional fall through
|
|
291
259
|
case 2:
|
|
292
260
|
case 3:
|
|
293
261
|
return _setsubset(this, index, replacement, defaultValue);
|
|
294
|
-
|
|
295
262
|
default:
|
|
296
263
|
throw new SyntaxError('Wrong number of arguments');
|
|
297
264
|
}
|
|
298
265
|
};
|
|
299
|
-
|
|
300
266
|
function _getsubset(matrix, idx) {
|
|
301
267
|
// check idx
|
|
302
268
|
if (!(0, _is.isIndex)(idx)) {
|
|
303
269
|
throw new TypeError('Invalid index');
|
|
304
270
|
}
|
|
305
|
-
|
|
306
271
|
var isScalar = idx.isScalar();
|
|
307
|
-
|
|
308
272
|
if (isScalar) {
|
|
309
273
|
// return a scalar
|
|
310
274
|
return matrix.get(idx.min());
|
|
311
|
-
}
|
|
312
|
-
|
|
313
|
-
|
|
275
|
+
}
|
|
276
|
+
// validate dimensions
|
|
314
277
|
var size = idx.size();
|
|
315
|
-
|
|
316
278
|
if (size.length !== matrix._size.length) {
|
|
317
279
|
throw new _DimensionError.DimensionError(size.length, matrix._size.length);
|
|
318
|
-
}
|
|
319
|
-
|
|
280
|
+
}
|
|
320
281
|
|
|
321
|
-
|
|
282
|
+
// vars
|
|
283
|
+
var i, ii, k, kk;
|
|
322
284
|
|
|
285
|
+
// validate if any of the ranges in the index is out of range
|
|
323
286
|
var min = idx.min();
|
|
324
287
|
var max = idx.max();
|
|
325
|
-
|
|
326
288
|
for (i = 0, ii = matrix._size.length; i < ii; i++) {
|
|
327
289
|
(0, _array.validateIndex)(min[i], matrix._size[i]);
|
|
328
290
|
(0, _array.validateIndex)(max[i], matrix._size[i]);
|
|
329
|
-
}
|
|
330
|
-
|
|
291
|
+
}
|
|
331
292
|
|
|
293
|
+
// matrix arrays
|
|
332
294
|
var mvalues = matrix._values;
|
|
333
295
|
var mindex = matrix._index;
|
|
334
|
-
var mptr = matrix._ptr;
|
|
296
|
+
var mptr = matrix._ptr;
|
|
335
297
|
|
|
298
|
+
// rows & columns dimensions for result matrix
|
|
336
299
|
var rows = idx.dimension(0);
|
|
337
|
-
var columns = idx.dimension(1);
|
|
300
|
+
var columns = idx.dimension(1);
|
|
338
301
|
|
|
302
|
+
// workspace & permutation vector
|
|
339
303
|
var w = [];
|
|
340
|
-
var pv = [];
|
|
304
|
+
var pv = [];
|
|
341
305
|
|
|
306
|
+
// loop rows in resulting matrix
|
|
342
307
|
rows.forEach(function (i, r) {
|
|
343
308
|
// update permutation vector
|
|
344
|
-
pv[i] = r[0];
|
|
345
|
-
|
|
309
|
+
pv[i] = r[0];
|
|
310
|
+
// mark i in workspace
|
|
346
311
|
w[i] = true;
|
|
347
|
-
});
|
|
312
|
+
});
|
|
348
313
|
|
|
314
|
+
// result matrix arrays
|
|
349
315
|
var values = mvalues ? [] : undefined;
|
|
350
316
|
var index = [];
|
|
351
|
-
var ptr = [];
|
|
317
|
+
var ptr = [];
|
|
352
318
|
|
|
319
|
+
// loop columns in result matrix
|
|
353
320
|
columns.forEach(function (j) {
|
|
354
321
|
// update ptr
|
|
355
|
-
ptr.push(index.length);
|
|
356
|
-
|
|
322
|
+
ptr.push(index.length);
|
|
323
|
+
// loop values in column j
|
|
357
324
|
for (k = mptr[j], kk = mptr[j + 1]; k < kk; k++) {
|
|
358
325
|
// row
|
|
359
|
-
i = mindex[k];
|
|
360
|
-
|
|
326
|
+
i = mindex[k];
|
|
327
|
+
// check row is in result matrix
|
|
361
328
|
if (w[i] === true) {
|
|
362
329
|
// push index
|
|
363
|
-
index.push(pv[i]);
|
|
364
|
-
|
|
330
|
+
index.push(pv[i]);
|
|
331
|
+
// check we need to process values
|
|
365
332
|
if (values) {
|
|
366
333
|
values.push(mvalues[k]);
|
|
367
334
|
}
|
|
368
335
|
}
|
|
369
336
|
}
|
|
370
|
-
});
|
|
371
|
-
|
|
372
|
-
ptr.push(index.length);
|
|
337
|
+
});
|
|
338
|
+
// update ptr
|
|
339
|
+
ptr.push(index.length);
|
|
373
340
|
|
|
341
|
+
// return matrix
|
|
374
342
|
return new SparseMatrix({
|
|
375
343
|
values: values,
|
|
376
344
|
index: index,
|
|
@@ -379,69 +347,64 @@ var createSparseMatrixClass = /* #__PURE__ */(0, _factory.factory)(name, depende
|
|
|
379
347
|
datatype: matrix._datatype
|
|
380
348
|
});
|
|
381
349
|
}
|
|
382
|
-
|
|
383
350
|
function _setsubset(matrix, index, submatrix, defaultValue) {
|
|
384
351
|
// check index
|
|
385
352
|
if (!index || index.isIndex !== true) {
|
|
386
353
|
throw new TypeError('Invalid index');
|
|
387
|
-
}
|
|
388
|
-
|
|
354
|
+
}
|
|
389
355
|
|
|
356
|
+
// get index size and check whether the index contains a single value
|
|
390
357
|
var iSize = index.size();
|
|
391
|
-
var isScalar = index.isScalar();
|
|
358
|
+
var isScalar = index.isScalar();
|
|
392
359
|
|
|
360
|
+
// calculate the size of the submatrix, and convert it into an Array if needed
|
|
393
361
|
var sSize;
|
|
394
|
-
|
|
395
362
|
if ((0, _is.isMatrix)(submatrix)) {
|
|
396
363
|
// submatrix size
|
|
397
|
-
sSize = submatrix.size();
|
|
398
|
-
|
|
364
|
+
sSize = submatrix.size();
|
|
365
|
+
// use array representation
|
|
399
366
|
submatrix = submatrix.toArray();
|
|
400
367
|
} else {
|
|
401
368
|
// get submatrix size (array, scalar)
|
|
402
369
|
sSize = (0, _array.arraySize)(submatrix);
|
|
403
|
-
}
|
|
404
|
-
|
|
370
|
+
}
|
|
405
371
|
|
|
372
|
+
// check index is a scalar
|
|
406
373
|
if (isScalar) {
|
|
407
374
|
// verify submatrix is a scalar
|
|
408
375
|
if (sSize.length !== 0) {
|
|
409
376
|
throw new TypeError('Scalar expected');
|
|
410
|
-
}
|
|
411
|
-
|
|
412
|
-
|
|
377
|
+
}
|
|
378
|
+
// set value
|
|
413
379
|
matrix.set(index.min(), submatrix, defaultValue);
|
|
414
380
|
} else {
|
|
415
381
|
// validate dimensions, index size must be one or two dimensions
|
|
416
382
|
if (iSize.length !== 1 && iSize.length !== 2) {
|
|
417
383
|
throw new _DimensionError.DimensionError(iSize.length, matrix._size.length, '<');
|
|
418
|
-
}
|
|
419
|
-
|
|
384
|
+
}
|
|
420
385
|
|
|
386
|
+
// check submatrix and index have the same dimensions
|
|
421
387
|
if (sSize.length < iSize.length) {
|
|
422
388
|
// calculate number of missing outer dimensions
|
|
423
389
|
var i = 0;
|
|
424
390
|
var outer = 0;
|
|
425
|
-
|
|
426
391
|
while (iSize[i] === 1 && sSize[i] === 1) {
|
|
427
392
|
i++;
|
|
428
393
|
}
|
|
429
|
-
|
|
430
394
|
while (iSize[i] === 1) {
|
|
431
395
|
outer++;
|
|
432
396
|
i++;
|
|
433
|
-
}
|
|
434
|
-
|
|
435
|
-
|
|
397
|
+
}
|
|
398
|
+
// unsqueeze both outer and inner dimensions
|
|
436
399
|
submatrix = (0, _array.unsqueeze)(submatrix, iSize.length, outer, sSize);
|
|
437
|
-
}
|
|
438
|
-
|
|
400
|
+
}
|
|
439
401
|
|
|
402
|
+
// check whether the size of the submatrix matches the index size
|
|
440
403
|
if (!(0, _object.deepStrictEqual)(iSize, sSize)) {
|
|
441
404
|
throw new _DimensionError.DimensionError(iSize, sSize, '>');
|
|
442
|
-
}
|
|
443
|
-
|
|
405
|
+
}
|
|
444
406
|
|
|
407
|
+
// insert the sub matrix
|
|
445
408
|
if (iSize.length === 1) {
|
|
446
409
|
// if the replacement index only has 1 dimension, go trough each one and set its value
|
|
447
410
|
var range = index.dimension(0);
|
|
@@ -462,47 +425,45 @@ var createSparseMatrixClass = /* #__PURE__ */(0, _factory.factory)(name, depende
|
|
|
462
425
|
});
|
|
463
426
|
}
|
|
464
427
|
}
|
|
465
|
-
|
|
466
428
|
return matrix;
|
|
467
429
|
}
|
|
430
|
+
|
|
468
431
|
/**
|
|
469
432
|
* Get a single element from the matrix.
|
|
470
433
|
* @memberof SparseMatrix
|
|
471
434
|
* @param {number[]} index Zero-based index
|
|
472
435
|
* @return {*} value
|
|
473
436
|
*/
|
|
474
|
-
|
|
475
|
-
|
|
476
437
|
SparseMatrix.prototype.get = function (index) {
|
|
477
438
|
if (!(0, _is.isArray)(index)) {
|
|
478
439
|
throw new TypeError('Array expected');
|
|
479
440
|
}
|
|
480
|
-
|
|
481
441
|
if (index.length !== this._size.length) {
|
|
482
442
|
throw new _DimensionError.DimensionError(index.length, this._size.length);
|
|
483
|
-
}
|
|
484
|
-
|
|
443
|
+
}
|
|
485
444
|
|
|
445
|
+
// check it is a pattern matrix
|
|
486
446
|
if (!this._values) {
|
|
487
447
|
throw new Error('Cannot invoke get on a Pattern only matrix');
|
|
488
|
-
}
|
|
489
|
-
|
|
448
|
+
}
|
|
490
449
|
|
|
450
|
+
// row and column
|
|
491
451
|
var i = index[0];
|
|
492
|
-
var j = index[1];
|
|
452
|
+
var j = index[1];
|
|
493
453
|
|
|
454
|
+
// check i, j are valid
|
|
494
455
|
(0, _array.validateIndex)(i, this._size[0]);
|
|
495
|
-
(0, _array.validateIndex)(j, this._size[1]);
|
|
496
|
-
|
|
497
|
-
var k = _getValueIndex(i, this._ptr[j], this._ptr[j + 1], this._index); // check k is prior to next column k and it is in the correct row
|
|
498
|
-
|
|
456
|
+
(0, _array.validateIndex)(j, this._size[1]);
|
|
499
457
|
|
|
458
|
+
// find value index
|
|
459
|
+
var k = _getValueIndex(i, this._ptr[j], this._ptr[j + 1], this._index);
|
|
460
|
+
// check k is prior to next column k and it is in the correct row
|
|
500
461
|
if (k < this._ptr[j + 1] && this._index[k] === i) {
|
|
501
462
|
return this._values[k];
|
|
502
463
|
}
|
|
503
|
-
|
|
504
464
|
return 0;
|
|
505
465
|
};
|
|
466
|
+
|
|
506
467
|
/**
|
|
507
468
|
* Replace a single element in the matrix.
|
|
508
469
|
* @memberof SparseMatrix
|
|
@@ -513,57 +474,54 @@ var createSparseMatrixClass = /* #__PURE__ */(0, _factory.factory)(name, depende
|
|
|
513
474
|
* new matrix elements will be set to zero.
|
|
514
475
|
* @return {SparseMatrix} self
|
|
515
476
|
*/
|
|
516
|
-
|
|
517
|
-
|
|
518
477
|
SparseMatrix.prototype.set = function (index, v, defaultValue) {
|
|
519
478
|
if (!(0, _is.isArray)(index)) {
|
|
520
479
|
throw new TypeError('Array expected');
|
|
521
480
|
}
|
|
522
|
-
|
|
523
481
|
if (index.length !== this._size.length) {
|
|
524
482
|
throw new _DimensionError.DimensionError(index.length, this._size.length);
|
|
525
|
-
}
|
|
526
|
-
|
|
483
|
+
}
|
|
527
484
|
|
|
485
|
+
// check it is a pattern matrix
|
|
528
486
|
if (!this._values) {
|
|
529
487
|
throw new Error('Cannot invoke set on a Pattern only matrix');
|
|
530
|
-
}
|
|
531
|
-
|
|
488
|
+
}
|
|
532
489
|
|
|
490
|
+
// row and column
|
|
533
491
|
var i = index[0];
|
|
534
|
-
var j = index[1];
|
|
492
|
+
var j = index[1];
|
|
535
493
|
|
|
494
|
+
// rows & columns
|
|
536
495
|
var rows = this._size[0];
|
|
537
|
-
var columns = this._size[1];
|
|
538
|
-
|
|
539
|
-
var eq = equalScalar; // zero value
|
|
496
|
+
var columns = this._size[1];
|
|
540
497
|
|
|
498
|
+
// equal signature to use
|
|
499
|
+
var eq = equalScalar;
|
|
500
|
+
// zero value
|
|
541
501
|
var zero = 0;
|
|
542
|
-
|
|
543
502
|
if ((0, _is.isString)(this._datatype)) {
|
|
544
503
|
// find signature that matches (datatype, datatype)
|
|
545
|
-
eq = typed.find(equalScalar, [this._datatype, this._datatype]) || equalScalar;
|
|
546
|
-
|
|
504
|
+
eq = typed.find(equalScalar, [this._datatype, this._datatype]) || equalScalar;
|
|
505
|
+
// convert 0 to the same datatype
|
|
547
506
|
zero = typed.convert(0, this._datatype);
|
|
548
|
-
}
|
|
549
|
-
|
|
507
|
+
}
|
|
550
508
|
|
|
509
|
+
// check we need to resize matrix
|
|
551
510
|
if (i > rows - 1 || j > columns - 1) {
|
|
552
511
|
// resize matrix
|
|
553
|
-
_resize(this, Math.max(i + 1, rows), Math.max(j + 1, columns), defaultValue);
|
|
554
|
-
|
|
555
|
-
|
|
512
|
+
_resize(this, Math.max(i + 1, rows), Math.max(j + 1, columns), defaultValue);
|
|
513
|
+
// update rows & columns
|
|
556
514
|
rows = this._size[0];
|
|
557
515
|
columns = this._size[1];
|
|
558
|
-
}
|
|
559
|
-
|
|
516
|
+
}
|
|
560
517
|
|
|
518
|
+
// check i, j are valid
|
|
561
519
|
(0, _array.validateIndex)(i, rows);
|
|
562
|
-
(0, _array.validateIndex)(j, columns);
|
|
563
|
-
|
|
564
|
-
var k = _getValueIndex(i, this._ptr[j], this._ptr[j + 1], this._index); // check k is prior to next column k and it is in the correct row
|
|
565
|
-
|
|
520
|
+
(0, _array.validateIndex)(j, columns);
|
|
566
521
|
|
|
522
|
+
// find value index
|
|
523
|
+
var k = _getValueIndex(i, this._ptr[j], this._ptr[j + 1], this._index);
|
|
524
|
+
// check k is prior to next column k and it is in the correct row
|
|
567
525
|
if (k < this._ptr[j + 1] && this._index[k] === i) {
|
|
568
526
|
// check value != 0
|
|
569
527
|
if (!eq(v, zero)) {
|
|
@@ -577,48 +535,43 @@ var createSparseMatrixClass = /* #__PURE__ */(0, _factory.factory)(name, depende
|
|
|
577
535
|
// insert value @ (i, j)
|
|
578
536
|
_insert(k, i, j, v, this._values, this._index, this._ptr);
|
|
579
537
|
}
|
|
580
|
-
|
|
581
538
|
return this;
|
|
582
539
|
};
|
|
583
|
-
|
|
584
540
|
function _getValueIndex(i, top, bottom, index) {
|
|
585
541
|
// check row is on the bottom side
|
|
586
542
|
if (bottom - top === 0) {
|
|
587
543
|
return bottom;
|
|
588
|
-
}
|
|
589
|
-
|
|
590
|
-
|
|
544
|
+
}
|
|
545
|
+
// loop rows [top, bottom[
|
|
591
546
|
for (var r = top; r < bottom; r++) {
|
|
592
547
|
// check we found value index
|
|
593
548
|
if (index[r] === i) {
|
|
594
549
|
return r;
|
|
595
550
|
}
|
|
596
|
-
}
|
|
597
|
-
|
|
598
|
-
|
|
551
|
+
}
|
|
552
|
+
// we did not find row
|
|
599
553
|
return top;
|
|
600
554
|
}
|
|
601
|
-
|
|
602
555
|
function _remove(k, j, values, index, ptr) {
|
|
603
556
|
// remove value @ k
|
|
604
557
|
values.splice(k, 1);
|
|
605
|
-
index.splice(k, 1);
|
|
606
|
-
|
|
558
|
+
index.splice(k, 1);
|
|
559
|
+
// update pointers
|
|
607
560
|
for (var x = j + 1; x < ptr.length; x++) {
|
|
608
561
|
ptr[x]--;
|
|
609
562
|
}
|
|
610
563
|
}
|
|
611
|
-
|
|
612
564
|
function _insert(k, i, j, v, values, index, ptr) {
|
|
613
565
|
// insert value
|
|
614
|
-
values.splice(k, 0, v);
|
|
615
|
-
|
|
616
|
-
index.splice(k, 0, i);
|
|
617
|
-
|
|
566
|
+
values.splice(k, 0, v);
|
|
567
|
+
// update row for k
|
|
568
|
+
index.splice(k, 0, i);
|
|
569
|
+
// update column pointers
|
|
618
570
|
for (var x = j + 1; x < ptr.length; x++) {
|
|
619
571
|
ptr[x]++;
|
|
620
572
|
}
|
|
621
573
|
}
|
|
574
|
+
|
|
622
575
|
/**
|
|
623
576
|
* Resize the matrix to the given size. Returns a copy of the matrix when
|
|
624
577
|
* `copy=true`, otherwise return the matrix itself (resize in place).
|
|
@@ -634,159 +587,148 @@ var createSparseMatrixClass = /* #__PURE__ */(0, _factory.factory)(name, depende
|
|
|
634
587
|
*
|
|
635
588
|
* @return {Matrix} The resized matrix
|
|
636
589
|
*/
|
|
637
|
-
|
|
638
|
-
|
|
639
590
|
SparseMatrix.prototype.resize = function (size, defaultValue, copy) {
|
|
640
591
|
// validate arguments
|
|
641
592
|
if (!(0, _is.isCollection)(size)) {
|
|
642
593
|
throw new TypeError('Array or Matrix expected');
|
|
643
|
-
}
|
|
644
|
-
|
|
594
|
+
}
|
|
645
595
|
|
|
596
|
+
// SparseMatrix input is always 2d, flatten this into 1d if it's indeed a vector
|
|
646
597
|
var sizeArray = size.valueOf().map(function (value) {
|
|
647
598
|
return Array.isArray(value) && value.length === 1 ? value[0] : value;
|
|
648
599
|
});
|
|
649
|
-
|
|
650
600
|
if (sizeArray.length !== 2) {
|
|
651
601
|
throw new Error('Only two dimensions matrix are supported');
|
|
652
|
-
}
|
|
653
|
-
|
|
602
|
+
}
|
|
654
603
|
|
|
604
|
+
// check sizes
|
|
655
605
|
sizeArray.forEach(function (value) {
|
|
656
606
|
if (!(0, _is.isNumber)(value) || !(0, _number.isInteger)(value) || value < 0) {
|
|
657
607
|
throw new TypeError('Invalid size, must contain positive integers ' + '(size: ' + (0, _string.format)(sizeArray) + ')');
|
|
658
608
|
}
|
|
659
|
-
});
|
|
660
|
-
|
|
661
|
-
var m = copy ? this.clone() : this; // resize matrix
|
|
609
|
+
});
|
|
662
610
|
|
|
611
|
+
// matrix to resize
|
|
612
|
+
var m = copy ? this.clone() : this;
|
|
613
|
+
// resize matrix
|
|
663
614
|
return _resize(m, sizeArray[0], sizeArray[1], defaultValue);
|
|
664
615
|
};
|
|
665
|
-
|
|
666
616
|
function _resize(matrix, rows, columns, defaultValue) {
|
|
667
617
|
// value to insert at the time of growing matrix
|
|
668
|
-
var value = defaultValue || 0;
|
|
669
|
-
|
|
670
|
-
var eq = equalScalar; // zero value
|
|
618
|
+
var value = defaultValue || 0;
|
|
671
619
|
|
|
620
|
+
// equal signature to use
|
|
621
|
+
var eq = equalScalar;
|
|
622
|
+
// zero value
|
|
672
623
|
var zero = 0;
|
|
673
|
-
|
|
674
624
|
if ((0, _is.isString)(matrix._datatype)) {
|
|
675
625
|
// find signature that matches (datatype, datatype)
|
|
676
|
-
eq = typed.find(equalScalar, [matrix._datatype, matrix._datatype]) || equalScalar;
|
|
677
|
-
|
|
678
|
-
zero = typed.convert(0, matrix._datatype);
|
|
679
|
-
|
|
626
|
+
eq = typed.find(equalScalar, [matrix._datatype, matrix._datatype]) || equalScalar;
|
|
627
|
+
// convert 0 to the same datatype
|
|
628
|
+
zero = typed.convert(0, matrix._datatype);
|
|
629
|
+
// convert value to the same datatype
|
|
680
630
|
value = typed.convert(value, matrix._datatype);
|
|
681
|
-
}
|
|
682
|
-
|
|
631
|
+
}
|
|
683
632
|
|
|
684
|
-
|
|
633
|
+
// should we insert the value?
|
|
634
|
+
var ins = !eq(value, zero);
|
|
685
635
|
|
|
636
|
+
// old columns and rows
|
|
686
637
|
var r = matrix._size[0];
|
|
687
638
|
var c = matrix._size[1];
|
|
688
|
-
var i, j, k;
|
|
639
|
+
var i, j, k;
|
|
689
640
|
|
|
641
|
+
// check we need to increase columns
|
|
690
642
|
if (columns > c) {
|
|
691
643
|
// loop new columns
|
|
692
644
|
for (j = c; j < columns; j++) {
|
|
693
645
|
// update matrix._ptr for current column
|
|
694
|
-
matrix._ptr[j] = matrix._values.length;
|
|
695
|
-
|
|
646
|
+
matrix._ptr[j] = matrix._values.length;
|
|
647
|
+
// check we need to insert matrix._values
|
|
696
648
|
if (ins) {
|
|
697
649
|
// loop rows
|
|
698
650
|
for (i = 0; i < r; i++) {
|
|
699
651
|
// add new matrix._values
|
|
700
|
-
matrix._values.push(value);
|
|
701
|
-
|
|
702
|
-
|
|
652
|
+
matrix._values.push(value);
|
|
653
|
+
// update matrix._index
|
|
703
654
|
matrix._index.push(i);
|
|
704
655
|
}
|
|
705
656
|
}
|
|
706
|
-
}
|
|
707
|
-
|
|
708
|
-
|
|
657
|
+
}
|
|
658
|
+
// store number of matrix._values in matrix._ptr
|
|
709
659
|
matrix._ptr[columns] = matrix._values.length;
|
|
710
660
|
} else if (columns < c) {
|
|
711
661
|
// truncate matrix._ptr
|
|
712
|
-
matrix._ptr.splice(columns + 1, c - columns);
|
|
713
|
-
|
|
714
|
-
|
|
662
|
+
matrix._ptr.splice(columns + 1, c - columns);
|
|
663
|
+
// truncate matrix._values and matrix._index
|
|
715
664
|
matrix._values.splice(matrix._ptr[columns], matrix._values.length);
|
|
716
|
-
|
|
717
665
|
matrix._index.splice(matrix._ptr[columns], matrix._index.length);
|
|
718
|
-
}
|
|
719
|
-
|
|
720
|
-
|
|
721
|
-
c = columns; // check we need to increase rows
|
|
666
|
+
}
|
|
667
|
+
// update columns
|
|
668
|
+
c = columns;
|
|
722
669
|
|
|
670
|
+
// check we need to increase rows
|
|
723
671
|
if (rows > r) {
|
|
724
672
|
// check we have to insert values
|
|
725
673
|
if (ins) {
|
|
726
674
|
// inserts
|
|
727
|
-
var n = 0;
|
|
728
|
-
|
|
675
|
+
var n = 0;
|
|
676
|
+
// loop columns
|
|
729
677
|
for (j = 0; j < c; j++) {
|
|
730
678
|
// update matrix._ptr for current column
|
|
731
|
-
matrix._ptr[j] = matrix._ptr[j] + n;
|
|
732
|
-
|
|
733
|
-
k = matrix._ptr[j + 1] + n;
|
|
734
|
-
|
|
735
|
-
var p = 0;
|
|
736
|
-
|
|
679
|
+
matrix._ptr[j] = matrix._ptr[j] + n;
|
|
680
|
+
// where to insert matrix._values
|
|
681
|
+
k = matrix._ptr[j + 1] + n;
|
|
682
|
+
// pointer
|
|
683
|
+
var p = 0;
|
|
684
|
+
// loop new rows, initialize pointer
|
|
737
685
|
for (i = r; i < rows; i++, p++) {
|
|
738
686
|
// add value
|
|
739
|
-
matrix._values.splice(k + p, 0, value);
|
|
740
|
-
|
|
741
|
-
|
|
742
|
-
|
|
743
|
-
|
|
744
|
-
|
|
687
|
+
matrix._values.splice(k + p, 0, value);
|
|
688
|
+
// update matrix._index
|
|
689
|
+
matrix._index.splice(k + p, 0, i);
|
|
690
|
+
// increment inserts
|
|
745
691
|
n++;
|
|
746
692
|
}
|
|
747
|
-
}
|
|
748
|
-
|
|
749
|
-
|
|
693
|
+
}
|
|
694
|
+
// store number of matrix._values in matrix._ptr
|
|
750
695
|
matrix._ptr[c] = matrix._values.length;
|
|
751
696
|
}
|
|
752
697
|
} else if (rows < r) {
|
|
753
698
|
// deletes
|
|
754
|
-
var d = 0;
|
|
755
|
-
|
|
699
|
+
var d = 0;
|
|
700
|
+
// loop columns
|
|
756
701
|
for (j = 0; j < c; j++) {
|
|
757
702
|
// update matrix._ptr for current column
|
|
758
|
-
matrix._ptr[j] = matrix._ptr[j] - d;
|
|
759
|
-
|
|
703
|
+
matrix._ptr[j] = matrix._ptr[j] - d;
|
|
704
|
+
// where matrix._values start for next column
|
|
760
705
|
var k0 = matrix._ptr[j];
|
|
761
|
-
var k1 = matrix._ptr[j + 1] - d;
|
|
762
|
-
|
|
706
|
+
var k1 = matrix._ptr[j + 1] - d;
|
|
707
|
+
// loop matrix._index
|
|
763
708
|
for (k = k0; k < k1; k++) {
|
|
764
709
|
// row
|
|
765
|
-
i = matrix._index[k];
|
|
766
|
-
|
|
710
|
+
i = matrix._index[k];
|
|
711
|
+
// check we need to delete value and matrix._index
|
|
767
712
|
if (i > rows - 1) {
|
|
768
713
|
// remove value
|
|
769
|
-
matrix._values.splice(k, 1);
|
|
770
|
-
|
|
771
|
-
|
|
772
|
-
|
|
773
|
-
|
|
774
|
-
|
|
714
|
+
matrix._values.splice(k, 1);
|
|
715
|
+
// remove item from matrix._index
|
|
716
|
+
matrix._index.splice(k, 1);
|
|
717
|
+
// increase deletes
|
|
775
718
|
d++;
|
|
776
719
|
}
|
|
777
720
|
}
|
|
778
|
-
}
|
|
779
|
-
|
|
780
|
-
|
|
721
|
+
}
|
|
722
|
+
// update matrix._ptr for current column
|
|
781
723
|
matrix._ptr[j] = matrix._values.length;
|
|
782
|
-
}
|
|
783
|
-
|
|
784
|
-
|
|
724
|
+
}
|
|
725
|
+
// update matrix._size
|
|
785
726
|
matrix._size[0] = rows;
|
|
786
|
-
matrix._size[1] = columns;
|
|
787
|
-
|
|
727
|
+
matrix._size[1] = columns;
|
|
728
|
+
// return matrix
|
|
788
729
|
return matrix;
|
|
789
730
|
}
|
|
731
|
+
|
|
790
732
|
/**
|
|
791
733
|
* Reshape the matrix to the given size. Returns a copy of the matrix when
|
|
792
734
|
* `copy=true`, otherwise return the matrix itself (reshape in place).
|
|
@@ -803,19 +745,16 @@ var createSparseMatrixClass = /* #__PURE__ */(0, _factory.factory)(name, depende
|
|
|
803
745
|
*
|
|
804
746
|
* @return {Matrix} The reshaped matrix
|
|
805
747
|
*/
|
|
806
|
-
|
|
807
|
-
|
|
808
748
|
SparseMatrix.prototype.reshape = function (sizes, copy) {
|
|
809
749
|
// validate arguments
|
|
810
750
|
if (!(0, _is.isArray)(sizes)) {
|
|
811
751
|
throw new TypeError('Array expected');
|
|
812
752
|
}
|
|
813
|
-
|
|
814
753
|
if (sizes.length !== 2) {
|
|
815
754
|
throw new Error('Sparse matrices can only be reshaped in two dimensions');
|
|
816
|
-
}
|
|
817
|
-
|
|
755
|
+
}
|
|
818
756
|
|
|
757
|
+
// check sizes
|
|
819
758
|
sizes.forEach(function (value) {
|
|
820
759
|
if (!(0, _is.isNumber)(value) || !(0, _number.isInteger)(value) || value <= -2 || value === 0) {
|
|
821
760
|
throw new TypeError('Invalid size, must contain positive integers or -1 ' + '(size: ' + (0, _string.format)(sizes) + ')');
|
|
@@ -823,79 +762,79 @@ var createSparseMatrixClass = /* #__PURE__ */(0, _factory.factory)(name, depende
|
|
|
823
762
|
});
|
|
824
763
|
var currentLength = this._size[0] * this._size[1];
|
|
825
764
|
sizes = (0, _array.processSizesWildcard)(sizes, currentLength);
|
|
826
|
-
var newLength = sizes[0] * sizes[1];
|
|
765
|
+
var newLength = sizes[0] * sizes[1];
|
|
827
766
|
|
|
767
|
+
// m * n must not change
|
|
828
768
|
if (currentLength !== newLength) {
|
|
829
769
|
throw new Error('Reshaping sparse matrix will result in the wrong number of elements');
|
|
830
|
-
}
|
|
831
|
-
|
|
770
|
+
}
|
|
832
771
|
|
|
833
|
-
|
|
772
|
+
// matrix to reshape
|
|
773
|
+
var m = copy ? this.clone() : this;
|
|
834
774
|
|
|
775
|
+
// return unchanged if the same shape
|
|
835
776
|
if (this._size[0] === sizes[0] && this._size[1] === sizes[1]) {
|
|
836
777
|
return m;
|
|
837
|
-
}
|
|
838
|
-
|
|
778
|
+
}
|
|
839
779
|
|
|
780
|
+
// Convert to COO format (generate a column index)
|
|
840
781
|
var colIndex = [];
|
|
841
|
-
|
|
842
782
|
for (var i = 0; i < m._ptr.length; i++) {
|
|
843
783
|
for (var j = 0; j < m._ptr[i + 1] - m._ptr[i]; j++) {
|
|
844
784
|
colIndex.push(i);
|
|
845
785
|
}
|
|
846
|
-
}
|
|
847
|
-
|
|
848
|
-
|
|
849
|
-
var values = m._values.slice(); // Clone the row index array
|
|
850
|
-
|
|
786
|
+
}
|
|
851
787
|
|
|
852
|
-
|
|
788
|
+
// Clone the values array
|
|
789
|
+
var values = m._values.slice();
|
|
853
790
|
|
|
791
|
+
// Clone the row index array
|
|
792
|
+
var rowIndex = m._index.slice();
|
|
854
793
|
|
|
794
|
+
// Transform the (row, column) indices
|
|
855
795
|
for (var _i = 0; _i < m._index.length; _i++) {
|
|
856
796
|
var r1 = rowIndex[_i];
|
|
857
797
|
var c1 = colIndex[_i];
|
|
858
798
|
var flat = r1 * m._size[1] + c1;
|
|
859
799
|
colIndex[_i] = flat % sizes[1];
|
|
860
800
|
rowIndex[_i] = Math.floor(flat / sizes[1]);
|
|
861
|
-
}
|
|
801
|
+
}
|
|
802
|
+
|
|
803
|
+
// Now reshaping is supposed to preserve the row-major order, BUT these sparse matrices are stored
|
|
862
804
|
// in column-major order, so we have to reorder the value array now. One option is to use a multisort,
|
|
863
805
|
// sorting several arrays based on some other array.
|
|
864
|
-
// OR, we could easily just:
|
|
865
|
-
// 1. Remove all values from the matrix
|
|
866
806
|
|
|
807
|
+
// OR, we could easily just:
|
|
867
808
|
|
|
809
|
+
// 1. Remove all values from the matrix
|
|
868
810
|
m._values.length = 0;
|
|
869
811
|
m._index.length = 0;
|
|
870
812
|
m._ptr.length = sizes[1] + 1;
|
|
871
813
|
m._size = sizes.slice();
|
|
872
|
-
|
|
873
814
|
for (var _i2 = 0; _i2 < m._ptr.length; _i2++) {
|
|
874
815
|
m._ptr[_i2] = 0;
|
|
875
|
-
}
|
|
876
|
-
// This step is probably the most time-consuming
|
|
877
|
-
|
|
816
|
+
}
|
|
878
817
|
|
|
818
|
+
// 2. Re-insert all elements in the proper order (simplified code from SparseMatrix.prototype.set)
|
|
819
|
+
// This step is probably the most time-consuming
|
|
879
820
|
for (var h = 0; h < values.length; h++) {
|
|
880
821
|
var _i3 = rowIndex[h];
|
|
881
822
|
var _j = colIndex[h];
|
|
882
823
|
var v = values[h];
|
|
883
|
-
|
|
884
824
|
var k = _getValueIndex(_i3, m._ptr[_j], m._ptr[_j + 1], m._index);
|
|
885
|
-
|
|
886
825
|
_insert(k, _i3, _j, v, m._values, m._index, m._ptr);
|
|
887
|
-
}
|
|
826
|
+
}
|
|
888
827
|
|
|
828
|
+
// The value indices are inserted out of order, but apparently that's... still OK?
|
|
889
829
|
|
|
890
830
|
return m;
|
|
891
831
|
};
|
|
832
|
+
|
|
892
833
|
/**
|
|
893
834
|
* Create a clone of the matrix
|
|
894
835
|
* @memberof SparseMatrix
|
|
895
836
|
* @return {SparseMatrix} clone
|
|
896
837
|
*/
|
|
897
|
-
|
|
898
|
-
|
|
899
838
|
SparseMatrix.prototype.clone = function () {
|
|
900
839
|
var m = new SparseMatrix({
|
|
901
840
|
values: this._values ? (0, _object.clone)(this._values) : undefined,
|
|
@@ -906,16 +845,16 @@ var createSparseMatrixClass = /* #__PURE__ */(0, _factory.factory)(name, depende
|
|
|
906
845
|
});
|
|
907
846
|
return m;
|
|
908
847
|
};
|
|
848
|
+
|
|
909
849
|
/**
|
|
910
850
|
* Retrieve the size of the matrix.
|
|
911
851
|
* @memberof SparseMatrix
|
|
912
852
|
* @returns {number[]} size
|
|
913
853
|
*/
|
|
914
|
-
|
|
915
|
-
|
|
916
854
|
SparseMatrix.prototype.size = function () {
|
|
917
855
|
return this._size.slice(0); // copy the Array
|
|
918
856
|
};
|
|
857
|
+
|
|
919
858
|
/**
|
|
920
859
|
* Create a new matrix with the results of the callback function executed on
|
|
921
860
|
* each entry of the matrix.
|
|
@@ -927,82 +866,74 @@ var createSparseMatrixClass = /* #__PURE__ */(0, _factory.factory)(name, depende
|
|
|
927
866
|
*
|
|
928
867
|
* @return {SparseMatrix} matrix
|
|
929
868
|
*/
|
|
930
|
-
|
|
931
|
-
|
|
932
869
|
SparseMatrix.prototype.map = function (callback, skipZeros) {
|
|
933
870
|
// check it is a pattern matrix
|
|
934
871
|
if (!this._values) {
|
|
935
872
|
throw new Error('Cannot invoke map on a Pattern only matrix');
|
|
936
|
-
}
|
|
937
|
-
|
|
938
|
-
|
|
939
|
-
|
|
940
|
-
|
|
873
|
+
}
|
|
874
|
+
// matrix instance
|
|
875
|
+
var me = this;
|
|
876
|
+
// rows and columns
|
|
941
877
|
var rows = this._size[0];
|
|
942
|
-
var columns = this._size[1];
|
|
943
|
-
|
|
878
|
+
var columns = this._size[1];
|
|
879
|
+
// invoke callback
|
|
944
880
|
var args = (0, _function.maxArgumentCount)(callback);
|
|
945
|
-
|
|
946
881
|
var invoke = function invoke(v, i, j) {
|
|
947
882
|
// invoke callback
|
|
948
883
|
if (args === 1) return callback(v);
|
|
949
884
|
if (args === 2) return callback(v, [i, j]);
|
|
950
885
|
return callback(v, [i, j], me);
|
|
951
|
-
};
|
|
952
|
-
|
|
953
|
-
|
|
886
|
+
};
|
|
887
|
+
// invoke _map
|
|
954
888
|
return _map(this, 0, rows - 1, 0, columns - 1, invoke, skipZeros);
|
|
955
889
|
};
|
|
890
|
+
|
|
956
891
|
/**
|
|
957
892
|
* Create a new matrix with the results of the callback function executed on the interval
|
|
958
893
|
* [minRow..maxRow, minColumn..maxColumn].
|
|
959
894
|
*/
|
|
960
|
-
|
|
961
|
-
|
|
962
895
|
function _map(matrix, minRow, maxRow, minColumn, maxColumn, callback, skipZeros) {
|
|
963
896
|
// result arrays
|
|
964
897
|
var values = [];
|
|
965
898
|
var index = [];
|
|
966
|
-
var ptr = [];
|
|
967
|
-
|
|
968
|
-
var eq = equalScalar; // zero value
|
|
899
|
+
var ptr = [];
|
|
969
900
|
|
|
901
|
+
// equal signature to use
|
|
902
|
+
var eq = equalScalar;
|
|
903
|
+
// zero value
|
|
970
904
|
var zero = 0;
|
|
971
|
-
|
|
972
905
|
if ((0, _is.isString)(matrix._datatype)) {
|
|
973
906
|
// find signature that matches (datatype, datatype)
|
|
974
|
-
eq = typed.find(equalScalar, [matrix._datatype, matrix._datatype]) || equalScalar;
|
|
975
|
-
|
|
907
|
+
eq = typed.find(equalScalar, [matrix._datatype, matrix._datatype]) || equalScalar;
|
|
908
|
+
// convert 0 to the same datatype
|
|
976
909
|
zero = typed.convert(0, matrix._datatype);
|
|
977
|
-
}
|
|
978
|
-
|
|
910
|
+
}
|
|
979
911
|
|
|
912
|
+
// invoke callback
|
|
980
913
|
var invoke = function invoke(v, x, y) {
|
|
981
914
|
// invoke callback
|
|
982
|
-
v = callback(v, x, y);
|
|
983
|
-
|
|
915
|
+
v = callback(v, x, y);
|
|
916
|
+
// check value != 0
|
|
984
917
|
if (!eq(v, zero)) {
|
|
985
918
|
// store value
|
|
986
|
-
values.push(v);
|
|
987
|
-
|
|
919
|
+
values.push(v);
|
|
920
|
+
// index
|
|
988
921
|
index.push(x);
|
|
989
922
|
}
|
|
990
|
-
};
|
|
991
|
-
|
|
992
|
-
|
|
923
|
+
};
|
|
924
|
+
// loop columns
|
|
993
925
|
for (var j = minColumn; j <= maxColumn; j++) {
|
|
994
926
|
// store pointer to values index
|
|
995
|
-
ptr.push(values.length);
|
|
996
|
-
|
|
927
|
+
ptr.push(values.length);
|
|
928
|
+
// k0 <= k < k1 where k0 = _ptr[j] && k1 = _ptr[j+1]
|
|
997
929
|
var k0 = matrix._ptr[j];
|
|
998
930
|
var k1 = matrix._ptr[j + 1];
|
|
999
|
-
|
|
1000
931
|
if (skipZeros) {
|
|
1001
932
|
// loop k within [k0, k1[
|
|
1002
933
|
for (var k = k0; k < k1; k++) {
|
|
1003
934
|
// row index
|
|
1004
|
-
var i = matrix._index[k];
|
|
1005
|
-
|
|
935
|
+
var i = matrix._index[k];
|
|
936
|
+
// check i is in range
|
|
1006
937
|
if (i >= minRow && i <= maxRow) {
|
|
1007
938
|
// value @ k
|
|
1008
939
|
invoke(matrix._values[k], i - minRow, j - minColumn);
|
|
@@ -1011,24 +942,23 @@ var createSparseMatrixClass = /* #__PURE__ */(0, _factory.factory)(name, depende
|
|
|
1011
942
|
} else {
|
|
1012
943
|
// create a cache holding all defined values
|
|
1013
944
|
var _values = {};
|
|
1014
|
-
|
|
1015
945
|
for (var _k = k0; _k < k1; _k++) {
|
|
1016
946
|
var _i4 = matrix._index[_k];
|
|
1017
947
|
_values[_i4] = matrix._values[_k];
|
|
1018
|
-
}
|
|
1019
|
-
// and either read the value or zero
|
|
1020
|
-
|
|
948
|
+
}
|
|
1021
949
|
|
|
950
|
+
// loop over all rows (indexes can be unordered so we can't use that),
|
|
951
|
+
// and either read the value or zero
|
|
1022
952
|
for (var _i5 = minRow; _i5 <= maxRow; _i5++) {
|
|
1023
953
|
var value = _i5 in _values ? _values[_i5] : 0;
|
|
1024
954
|
invoke(value, _i5 - minRow, j - minColumn);
|
|
1025
955
|
}
|
|
1026
956
|
}
|
|
1027
|
-
}
|
|
1028
|
-
|
|
1029
|
-
|
|
1030
|
-
ptr.push(values.length); // return sparse matrix
|
|
957
|
+
}
|
|
1031
958
|
|
|
959
|
+
// store number of values in ptr
|
|
960
|
+
ptr.push(values.length);
|
|
961
|
+
// return sparse matrix
|
|
1032
962
|
return new SparseMatrix({
|
|
1033
963
|
values: values,
|
|
1034
964
|
index: index,
|
|
@@ -1036,6 +966,7 @@ var createSparseMatrixClass = /* #__PURE__ */(0, _factory.factory)(name, depende
|
|
|
1036
966
|
size: [maxRow - minRow + 1, maxColumn - minColumn + 1]
|
|
1037
967
|
});
|
|
1038
968
|
}
|
|
969
|
+
|
|
1039
970
|
/**
|
|
1040
971
|
* Execute a callback function on each entry of the matrix.
|
|
1041
972
|
* @memberof SparseMatrix
|
|
@@ -1046,44 +977,40 @@ var createSparseMatrixClass = /* #__PURE__ */(0, _factory.factory)(name, depende
|
|
|
1046
977
|
* If false, the indices are guaranteed to be in order,
|
|
1047
978
|
* if true, the indices can be unordered.
|
|
1048
979
|
*/
|
|
1049
|
-
|
|
1050
|
-
|
|
1051
980
|
SparseMatrix.prototype.forEach = function (callback, skipZeros) {
|
|
1052
981
|
// check it is a pattern matrix
|
|
1053
982
|
if (!this._values) {
|
|
1054
983
|
throw new Error('Cannot invoke forEach on a Pattern only matrix');
|
|
1055
|
-
}
|
|
1056
|
-
|
|
1057
|
-
|
|
1058
|
-
|
|
1059
|
-
|
|
984
|
+
}
|
|
985
|
+
// matrix instance
|
|
986
|
+
var me = this;
|
|
987
|
+
// rows and columns
|
|
1060
988
|
var rows = this._size[0];
|
|
1061
|
-
var columns = this._size[1];
|
|
1062
|
-
|
|
989
|
+
var columns = this._size[1];
|
|
990
|
+
// loop columns
|
|
1063
991
|
for (var j = 0; j < columns; j++) {
|
|
1064
992
|
// k0 <= k < k1 where k0 = _ptr[j] && k1 = _ptr[j+1]
|
|
1065
993
|
var k0 = this._ptr[j];
|
|
1066
994
|
var k1 = this._ptr[j + 1];
|
|
1067
|
-
|
|
1068
995
|
if (skipZeros) {
|
|
1069
996
|
// loop k within [k0, k1[
|
|
1070
997
|
for (var k = k0; k < k1; k++) {
|
|
1071
998
|
// row index
|
|
1072
|
-
var i = this._index[k];
|
|
999
|
+
var i = this._index[k];
|
|
1073
1000
|
|
|
1001
|
+
// value @ k
|
|
1074
1002
|
callback(this._values[k], [i, j], me);
|
|
1075
1003
|
}
|
|
1076
1004
|
} else {
|
|
1077
1005
|
// create a cache holding all defined values
|
|
1078
1006
|
var values = {};
|
|
1079
|
-
|
|
1080
1007
|
for (var _k2 = k0; _k2 < k1; _k2++) {
|
|
1081
1008
|
var _i6 = this._index[_k2];
|
|
1082
1009
|
values[_i6] = this._values[_k2];
|
|
1083
|
-
}
|
|
1084
|
-
// and either read the value or zero
|
|
1085
|
-
|
|
1010
|
+
}
|
|
1086
1011
|
|
|
1012
|
+
// loop over all rows (indexes can be unordered so we can't use that),
|
|
1013
|
+
// and either read the value or zero
|
|
1087
1014
|
for (var _i7 = 0; _i7 < rows; _i7++) {
|
|
1088
1015
|
var value = _i7 in values ? values[_i7] : 0;
|
|
1089
1016
|
callback(value, [_i7, j], me);
|
|
@@ -1091,12 +1018,11 @@ var createSparseMatrixClass = /* #__PURE__ */(0, _factory.factory)(name, depende
|
|
|
1091
1018
|
}
|
|
1092
1019
|
}
|
|
1093
1020
|
};
|
|
1021
|
+
|
|
1094
1022
|
/**
|
|
1095
1023
|
* Iterate over the matrix elements, skipping zeros
|
|
1096
1024
|
* @return {Iterable<{ value, index: number[] }>}
|
|
1097
1025
|
*/
|
|
1098
|
-
|
|
1099
|
-
|
|
1100
1026
|
SparseMatrix.prototype[Symbol.iterator] = /*#__PURE__*/_regenerator["default"].mark(function _callee() {
|
|
1101
1027
|
var columns, j, k0, k1, k, i;
|
|
1102
1028
|
return _regenerator["default"].wrap(function _callee$(_context) {
|
|
@@ -1107,29 +1033,23 @@ var createSparseMatrixClass = /* #__PURE__ */(0, _factory.factory)(name, depende
|
|
|
1107
1033
|
_context.next = 2;
|
|
1108
1034
|
break;
|
|
1109
1035
|
}
|
|
1110
|
-
|
|
1111
1036
|
throw new Error('Cannot iterate a Pattern only matrix');
|
|
1112
|
-
|
|
1113
1037
|
case 2:
|
|
1114
1038
|
columns = this._size[1];
|
|
1115
1039
|
j = 0;
|
|
1116
|
-
|
|
1117
1040
|
case 4:
|
|
1118
1041
|
if (!(j < columns)) {
|
|
1119
1042
|
_context.next = 18;
|
|
1120
1043
|
break;
|
|
1121
1044
|
}
|
|
1122
|
-
|
|
1123
1045
|
k0 = this._ptr[j];
|
|
1124
1046
|
k1 = this._ptr[j + 1];
|
|
1125
1047
|
k = k0;
|
|
1126
|
-
|
|
1127
1048
|
case 8:
|
|
1128
1049
|
if (!(k < k1)) {
|
|
1129
1050
|
_context.next = 15;
|
|
1130
1051
|
break;
|
|
1131
1052
|
}
|
|
1132
|
-
|
|
1133
1053
|
// row index
|
|
1134
1054
|
i = this._index[k];
|
|
1135
1055
|
_context.next = 12;
|
|
@@ -1137,17 +1057,14 @@ var createSparseMatrixClass = /* #__PURE__ */(0, _factory.factory)(name, depende
|
|
|
1137
1057
|
value: this._values[k],
|
|
1138
1058
|
index: [i, j]
|
|
1139
1059
|
};
|
|
1140
|
-
|
|
1141
1060
|
case 12:
|
|
1142
1061
|
k++;
|
|
1143
1062
|
_context.next = 8;
|
|
1144
1063
|
break;
|
|
1145
|
-
|
|
1146
1064
|
case 15:
|
|
1147
1065
|
j++;
|
|
1148
1066
|
_context.next = 4;
|
|
1149
1067
|
break;
|
|
1150
|
-
|
|
1151
1068
|
case 18:
|
|
1152
1069
|
case "end":
|
|
1153
1070
|
return _context.stop();
|
|
@@ -1155,59 +1072,56 @@ var createSparseMatrixClass = /* #__PURE__ */(0, _factory.factory)(name, depende
|
|
|
1155
1072
|
}
|
|
1156
1073
|
}, _callee, this);
|
|
1157
1074
|
});
|
|
1075
|
+
|
|
1158
1076
|
/**
|
|
1159
1077
|
* Create an Array with a copy of the data of the SparseMatrix
|
|
1160
1078
|
* @memberof SparseMatrix
|
|
1161
1079
|
* @returns {Array} array
|
|
1162
1080
|
*/
|
|
1163
|
-
|
|
1164
1081
|
SparseMatrix.prototype.toArray = function () {
|
|
1165
1082
|
return _toArray(this._values, this._index, this._ptr, this._size, true);
|
|
1166
1083
|
};
|
|
1084
|
+
|
|
1167
1085
|
/**
|
|
1168
1086
|
* Get the primitive value of the SparseMatrix: a two dimensions array
|
|
1169
1087
|
* @memberof SparseMatrix
|
|
1170
1088
|
* @returns {Array} array
|
|
1171
1089
|
*/
|
|
1172
|
-
|
|
1173
|
-
|
|
1174
1090
|
SparseMatrix.prototype.valueOf = function () {
|
|
1175
1091
|
return _toArray(this._values, this._index, this._ptr, this._size, false);
|
|
1176
1092
|
};
|
|
1177
|
-
|
|
1178
1093
|
function _toArray(values, index, ptr, size, copy) {
|
|
1179
1094
|
// rows and columns
|
|
1180
1095
|
var rows = size[0];
|
|
1181
|
-
var columns = size[1];
|
|
1182
|
-
|
|
1183
|
-
var a = [];
|
|
1184
|
-
|
|
1185
|
-
var i, j;
|
|
1186
|
-
|
|
1096
|
+
var columns = size[1];
|
|
1097
|
+
// result
|
|
1098
|
+
var a = [];
|
|
1099
|
+
// vars
|
|
1100
|
+
var i, j;
|
|
1101
|
+
// initialize array
|
|
1187
1102
|
for (i = 0; i < rows; i++) {
|
|
1188
1103
|
a[i] = [];
|
|
1189
|
-
|
|
1190
1104
|
for (j = 0; j < columns; j++) {
|
|
1191
1105
|
a[i][j] = 0;
|
|
1192
1106
|
}
|
|
1193
|
-
}
|
|
1194
|
-
|
|
1107
|
+
}
|
|
1195
1108
|
|
|
1109
|
+
// loop columns
|
|
1196
1110
|
for (j = 0; j < columns; j++) {
|
|
1197
1111
|
// k0 <= k < k1 where k0 = _ptr[j] && k1 = _ptr[j+1]
|
|
1198
1112
|
var k0 = ptr[j];
|
|
1199
|
-
var k1 = ptr[j + 1];
|
|
1200
|
-
|
|
1113
|
+
var k1 = ptr[j + 1];
|
|
1114
|
+
// loop k within [k0, k1[
|
|
1201
1115
|
for (var k = k0; k < k1; k++) {
|
|
1202
1116
|
// row index
|
|
1203
|
-
i = index[k];
|
|
1204
|
-
|
|
1117
|
+
i = index[k];
|
|
1118
|
+
// set value (use one for pattern matrix)
|
|
1205
1119
|
a[i][j] = values ? copy ? (0, _object.clone)(values[k]) : values[k] : 1;
|
|
1206
1120
|
}
|
|
1207
1121
|
}
|
|
1208
|
-
|
|
1209
1122
|
return a;
|
|
1210
1123
|
}
|
|
1124
|
+
|
|
1211
1125
|
/**
|
|
1212
1126
|
* Get a string representation of the matrix, with optional formatting options.
|
|
1213
1127
|
* @memberof SparseMatrix
|
|
@@ -1217,49 +1131,44 @@ var createSparseMatrixClass = /* #__PURE__ */(0, _factory.factory)(name, depende
|
|
|
1217
1131
|
* options.
|
|
1218
1132
|
* @returns {string} str
|
|
1219
1133
|
*/
|
|
1220
|
-
|
|
1221
|
-
|
|
1222
1134
|
SparseMatrix.prototype.format = function (options) {
|
|
1223
1135
|
// rows and columns
|
|
1224
1136
|
var rows = this._size[0];
|
|
1225
|
-
var columns = this._size[1];
|
|
1226
|
-
|
|
1227
|
-
var density = this.density();
|
|
1228
|
-
|
|
1229
|
-
var str = 'Sparse Matrix [' + (0, _string.format)(rows, options) + ' x ' + (0, _string.format)(columns, options) + '] density: ' + (0, _string.format)(density, options) + '\n';
|
|
1230
|
-
|
|
1137
|
+
var columns = this._size[1];
|
|
1138
|
+
// density
|
|
1139
|
+
var density = this.density();
|
|
1140
|
+
// rows & columns
|
|
1141
|
+
var str = 'Sparse Matrix [' + (0, _string.format)(rows, options) + ' x ' + (0, _string.format)(columns, options) + '] density: ' + (0, _string.format)(density, options) + '\n';
|
|
1142
|
+
// loop columns
|
|
1231
1143
|
for (var j = 0; j < columns; j++) {
|
|
1232
1144
|
// k0 <= k < k1 where k0 = _ptr[j] && k1 = _ptr[j+1]
|
|
1233
1145
|
var k0 = this._ptr[j];
|
|
1234
|
-
var k1 = this._ptr[j + 1];
|
|
1235
|
-
|
|
1146
|
+
var k1 = this._ptr[j + 1];
|
|
1147
|
+
// loop k within [k0, k1[
|
|
1236
1148
|
for (var k = k0; k < k1; k++) {
|
|
1237
1149
|
// row index
|
|
1238
|
-
var i = this._index[k];
|
|
1239
|
-
|
|
1150
|
+
var i = this._index[k];
|
|
1151
|
+
// append value
|
|
1240
1152
|
str += '\n (' + (0, _string.format)(i, options) + ', ' + (0, _string.format)(j, options) + ') ==> ' + (this._values ? (0, _string.format)(this._values[k], options) : 'X');
|
|
1241
1153
|
}
|
|
1242
1154
|
}
|
|
1243
|
-
|
|
1244
1155
|
return str;
|
|
1245
1156
|
};
|
|
1157
|
+
|
|
1246
1158
|
/**
|
|
1247
1159
|
* Get a string representation of the matrix
|
|
1248
1160
|
* @memberof SparseMatrix
|
|
1249
1161
|
* @returns {string} str
|
|
1250
1162
|
*/
|
|
1251
|
-
|
|
1252
|
-
|
|
1253
1163
|
SparseMatrix.prototype.toString = function () {
|
|
1254
1164
|
return (0, _string.format)(this.toArray());
|
|
1255
1165
|
};
|
|
1166
|
+
|
|
1256
1167
|
/**
|
|
1257
1168
|
* Get a JSON representation of the matrix
|
|
1258
1169
|
* @memberof SparseMatrix
|
|
1259
1170
|
* @returns {Object}
|
|
1260
1171
|
*/
|
|
1261
|
-
|
|
1262
|
-
|
|
1263
1172
|
SparseMatrix.prototype.toJSON = function () {
|
|
1264
1173
|
return {
|
|
1265
1174
|
mathjs: 'SparseMatrix',
|
|
@@ -1270,6 +1179,7 @@ var createSparseMatrixClass = /* #__PURE__ */(0, _factory.factory)(name, depende
|
|
|
1270
1179
|
datatype: this._datatype
|
|
1271
1180
|
};
|
|
1272
1181
|
};
|
|
1182
|
+
|
|
1273
1183
|
/**
|
|
1274
1184
|
* Get the kth Matrix diagonal.
|
|
1275
1185
|
*
|
|
@@ -1278,17 +1188,14 @@ var createSparseMatrixClass = /* #__PURE__ */(0, _factory.factory)(name, depende
|
|
|
1278
1188
|
*
|
|
1279
1189
|
* @returns {Matrix} The matrix vector with the diagonal values.
|
|
1280
1190
|
*/
|
|
1281
|
-
|
|
1282
|
-
|
|
1283
1191
|
SparseMatrix.prototype.diagonal = function (k) {
|
|
1284
1192
|
// validate k if any
|
|
1285
1193
|
if (k) {
|
|
1286
1194
|
// convert BigNumber to a number
|
|
1287
1195
|
if ((0, _is.isBigNumber)(k)) {
|
|
1288
1196
|
k = k.toNumber();
|
|
1289
|
-
}
|
|
1290
|
-
|
|
1291
|
-
|
|
1197
|
+
}
|
|
1198
|
+
// is must be an integer
|
|
1292
1199
|
if (!(0, _is.isNumber)(k) || !(0, _number.isInteger)(k)) {
|
|
1293
1200
|
throw new TypeError('The parameter k must be an integer number');
|
|
1294
1201
|
}
|
|
@@ -1296,44 +1203,45 @@ var createSparseMatrixClass = /* #__PURE__ */(0, _factory.factory)(name, depende
|
|
|
1296
1203
|
// default value
|
|
1297
1204
|
k = 0;
|
|
1298
1205
|
}
|
|
1299
|
-
|
|
1300
1206
|
var kSuper = k > 0 ? k : 0;
|
|
1301
|
-
var kSub = k < 0 ? -k : 0;
|
|
1207
|
+
var kSub = k < 0 ? -k : 0;
|
|
1302
1208
|
|
|
1209
|
+
// rows & columns
|
|
1303
1210
|
var rows = this._size[0];
|
|
1304
|
-
var columns = this._size[1];
|
|
1211
|
+
var columns = this._size[1];
|
|
1305
1212
|
|
|
1306
|
-
|
|
1213
|
+
// number diagonal values
|
|
1214
|
+
var n = Math.min(rows - kSub, columns - kSuper);
|
|
1307
1215
|
|
|
1216
|
+
// diagonal arrays
|
|
1308
1217
|
var values = [];
|
|
1309
1218
|
var index = [];
|
|
1310
|
-
var ptr = [];
|
|
1311
|
-
|
|
1312
|
-
ptr[0] = 0;
|
|
1313
|
-
|
|
1219
|
+
var ptr = [];
|
|
1220
|
+
// initial ptr value
|
|
1221
|
+
ptr[0] = 0;
|
|
1222
|
+
// loop columns
|
|
1314
1223
|
for (var j = kSuper; j < columns && values.length < n; j++) {
|
|
1315
1224
|
// k0 <= k < k1 where k0 = _ptr[j] && k1 = _ptr[j+1]
|
|
1316
1225
|
var k0 = this._ptr[j];
|
|
1317
|
-
var k1 = this._ptr[j + 1];
|
|
1318
|
-
|
|
1226
|
+
var k1 = this._ptr[j + 1];
|
|
1227
|
+
// loop x within [k0, k1[
|
|
1319
1228
|
for (var x = k0; x < k1; x++) {
|
|
1320
1229
|
// row index
|
|
1321
|
-
var i = this._index[x];
|
|
1322
|
-
|
|
1230
|
+
var i = this._index[x];
|
|
1231
|
+
// check row
|
|
1323
1232
|
if (i === j - kSuper + kSub) {
|
|
1324
1233
|
// value on this column
|
|
1325
|
-
values.push(this._values[x]);
|
|
1326
|
-
|
|
1327
|
-
index[values.length - 1] = i - kSub;
|
|
1328
|
-
|
|
1234
|
+
values.push(this._values[x]);
|
|
1235
|
+
// store row
|
|
1236
|
+
index[values.length - 1] = i - kSub;
|
|
1237
|
+
// exit loop
|
|
1329
1238
|
break;
|
|
1330
1239
|
}
|
|
1331
1240
|
}
|
|
1332
|
-
}
|
|
1333
|
-
|
|
1334
|
-
|
|
1335
|
-
|
|
1336
|
-
|
|
1241
|
+
}
|
|
1242
|
+
// close ptr
|
|
1243
|
+
ptr.push(values.length);
|
|
1244
|
+
// return matrix
|
|
1337
1245
|
return new SparseMatrix({
|
|
1338
1246
|
values: values,
|
|
1339
1247
|
index: index,
|
|
@@ -1341,6 +1249,7 @@ var createSparseMatrixClass = /* #__PURE__ */(0, _factory.factory)(name, depende
|
|
|
1341
1249
|
size: [n, 1]
|
|
1342
1250
|
});
|
|
1343
1251
|
};
|
|
1252
|
+
|
|
1344
1253
|
/**
|
|
1345
1254
|
* Generate a matrix from a JSON object
|
|
1346
1255
|
* @memberof SparseMatrix
|
|
@@ -1349,11 +1258,10 @@ var createSparseMatrixClass = /* #__PURE__ */(0, _factory.factory)(name, depende
|
|
|
1349
1258
|
* where mathjs is optional
|
|
1350
1259
|
* @returns {SparseMatrix}
|
|
1351
1260
|
*/
|
|
1352
|
-
|
|
1353
|
-
|
|
1354
1261
|
SparseMatrix.fromJSON = function (json) {
|
|
1355
1262
|
return new SparseMatrix(json);
|
|
1356
1263
|
};
|
|
1264
|
+
|
|
1357
1265
|
/**
|
|
1358
1266
|
* Create a diagonal matrix.
|
|
1359
1267
|
*
|
|
@@ -1366,93 +1274,87 @@ var createSparseMatrixClass = /* #__PURE__ */(0, _factory.factory)(name, depende
|
|
|
1366
1274
|
*
|
|
1367
1275
|
* @returns {SparseMatrix}
|
|
1368
1276
|
*/
|
|
1369
|
-
|
|
1370
|
-
|
|
1371
1277
|
SparseMatrix.diagonal = function (size, value, k, defaultValue, datatype) {
|
|
1372
1278
|
if (!(0, _is.isArray)(size)) {
|
|
1373
1279
|
throw new TypeError('Array expected, size parameter');
|
|
1374
1280
|
}
|
|
1375
|
-
|
|
1376
1281
|
if (size.length !== 2) {
|
|
1377
1282
|
throw new Error('Only two dimensions matrix are supported');
|
|
1378
|
-
}
|
|
1379
|
-
|
|
1283
|
+
}
|
|
1380
1284
|
|
|
1285
|
+
// map size & validate
|
|
1381
1286
|
size = size.map(function (s) {
|
|
1382
1287
|
// check it is a big number
|
|
1383
1288
|
if ((0, _is.isBigNumber)(s)) {
|
|
1384
1289
|
// convert it
|
|
1385
1290
|
s = s.toNumber();
|
|
1386
|
-
}
|
|
1387
|
-
|
|
1388
|
-
|
|
1291
|
+
}
|
|
1292
|
+
// validate arguments
|
|
1389
1293
|
if (!(0, _is.isNumber)(s) || !(0, _number.isInteger)(s) || s < 1) {
|
|
1390
1294
|
throw new Error('Size values must be positive integers');
|
|
1391
1295
|
}
|
|
1392
|
-
|
|
1393
1296
|
return s;
|
|
1394
|
-
});
|
|
1297
|
+
});
|
|
1395
1298
|
|
|
1299
|
+
// validate k if any
|
|
1396
1300
|
if (k) {
|
|
1397
1301
|
// convert BigNumber to a number
|
|
1398
1302
|
if ((0, _is.isBigNumber)(k)) {
|
|
1399
1303
|
k = k.toNumber();
|
|
1400
|
-
}
|
|
1401
|
-
|
|
1402
|
-
|
|
1304
|
+
}
|
|
1305
|
+
// is must be an integer
|
|
1403
1306
|
if (!(0, _is.isNumber)(k) || !(0, _number.isInteger)(k)) {
|
|
1404
1307
|
throw new TypeError('The parameter k must be an integer number');
|
|
1405
1308
|
}
|
|
1406
1309
|
} else {
|
|
1407
1310
|
// default value
|
|
1408
1311
|
k = 0;
|
|
1409
|
-
}
|
|
1410
|
-
|
|
1411
|
-
|
|
1412
|
-
var eq = equalScalar; // zero value
|
|
1312
|
+
}
|
|
1413
1313
|
|
|
1314
|
+
// equal signature to use
|
|
1315
|
+
var eq = equalScalar;
|
|
1316
|
+
// zero value
|
|
1414
1317
|
var zero = 0;
|
|
1415
|
-
|
|
1416
1318
|
if ((0, _is.isString)(datatype)) {
|
|
1417
1319
|
// find signature that matches (datatype, datatype)
|
|
1418
|
-
eq = typed.find(equalScalar, [datatype, datatype]) || equalScalar;
|
|
1419
|
-
|
|
1320
|
+
eq = typed.find(equalScalar, [datatype, datatype]) || equalScalar;
|
|
1321
|
+
// convert 0 to the same datatype
|
|
1420
1322
|
zero = typed.convert(0, datatype);
|
|
1421
1323
|
}
|
|
1422
|
-
|
|
1423
1324
|
var kSuper = k > 0 ? k : 0;
|
|
1424
|
-
var kSub = k < 0 ? -k : 0;
|
|
1325
|
+
var kSub = k < 0 ? -k : 0;
|
|
1425
1326
|
|
|
1327
|
+
// rows and columns
|
|
1426
1328
|
var rows = size[0];
|
|
1427
|
-
var columns = size[1];
|
|
1428
|
-
|
|
1429
|
-
var n = Math.min(rows - kSub, columns - kSuper); // value extraction function
|
|
1329
|
+
var columns = size[1];
|
|
1430
1330
|
|
|
1431
|
-
|
|
1331
|
+
// number of non-zero items
|
|
1332
|
+
var n = Math.min(rows - kSub, columns - kSuper);
|
|
1432
1333
|
|
|
1334
|
+
// value extraction function
|
|
1335
|
+
var _value;
|
|
1433
1336
|
|
|
1337
|
+
// check value
|
|
1434
1338
|
if ((0, _is.isArray)(value)) {
|
|
1435
1339
|
// validate array
|
|
1436
1340
|
if (value.length !== n) {
|
|
1437
1341
|
// number of values in array must be n
|
|
1438
1342
|
throw new Error('Invalid value array length');
|
|
1439
|
-
}
|
|
1440
|
-
|
|
1441
|
-
|
|
1343
|
+
}
|
|
1344
|
+
// define function
|
|
1442
1345
|
_value = function _value(i) {
|
|
1443
1346
|
// return value @ i
|
|
1444
1347
|
return value[i];
|
|
1445
1348
|
};
|
|
1446
1349
|
} else if ((0, _is.isMatrix)(value)) {
|
|
1447
1350
|
// matrix size
|
|
1448
|
-
var ms = value.size();
|
|
1449
|
-
|
|
1351
|
+
var ms = value.size();
|
|
1352
|
+
// validate matrix
|
|
1450
1353
|
if (ms.length !== 1 || ms[0] !== n) {
|
|
1451
1354
|
// number of values in array must be n
|
|
1452
1355
|
throw new Error('Invalid matrix length');
|
|
1453
|
-
}
|
|
1454
|
-
|
|
1455
|
-
|
|
1356
|
+
}
|
|
1357
|
+
// define function
|
|
1456
1358
|
_value = function _value(i) {
|
|
1457
1359
|
// return value @ i
|
|
1458
1360
|
return value.get([i]);
|
|
@@ -1463,36 +1365,35 @@ var createSparseMatrixClass = /* #__PURE__ */(0, _factory.factory)(name, depende
|
|
|
1463
1365
|
// return value
|
|
1464
1366
|
return value;
|
|
1465
1367
|
};
|
|
1466
|
-
}
|
|
1467
|
-
|
|
1368
|
+
}
|
|
1468
1369
|
|
|
1370
|
+
// create arrays
|
|
1469
1371
|
var values = [];
|
|
1470
1372
|
var index = [];
|
|
1471
|
-
var ptr = [];
|
|
1373
|
+
var ptr = [];
|
|
1472
1374
|
|
|
1375
|
+
// loop items
|
|
1473
1376
|
for (var j = 0; j < columns; j++) {
|
|
1474
1377
|
// number of rows with value
|
|
1475
|
-
ptr.push(values.length);
|
|
1476
|
-
|
|
1477
|
-
var i = j - kSuper;
|
|
1478
|
-
|
|
1378
|
+
ptr.push(values.length);
|
|
1379
|
+
// diagonal index
|
|
1380
|
+
var i = j - kSuper;
|
|
1381
|
+
// check we need to set diagonal value
|
|
1479
1382
|
if (i >= 0 && i < n) {
|
|
1480
1383
|
// get value @ i
|
|
1481
|
-
var v = _value(i);
|
|
1482
|
-
|
|
1483
|
-
|
|
1384
|
+
var v = _value(i);
|
|
1385
|
+
// check for zero
|
|
1484
1386
|
if (!eq(v, zero)) {
|
|
1485
1387
|
// column
|
|
1486
|
-
index.push(i + kSub);
|
|
1487
|
-
|
|
1388
|
+
index.push(i + kSub);
|
|
1389
|
+
// add value
|
|
1488
1390
|
values.push(v);
|
|
1489
1391
|
}
|
|
1490
1392
|
}
|
|
1491
|
-
}
|
|
1492
|
-
|
|
1493
|
-
|
|
1494
|
-
|
|
1495
|
-
|
|
1393
|
+
}
|
|
1394
|
+
// last value should be number of values
|
|
1395
|
+
ptr.push(values.length);
|
|
1396
|
+
// create SparseMatrix
|
|
1496
1397
|
return new SparseMatrix({
|
|
1497
1398
|
values: values,
|
|
1498
1399
|
index: index,
|
|
@@ -1500,6 +1401,7 @@ var createSparseMatrixClass = /* #__PURE__ */(0, _factory.factory)(name, depende
|
|
|
1500
1401
|
size: [rows, columns]
|
|
1501
1402
|
});
|
|
1502
1403
|
};
|
|
1404
|
+
|
|
1503
1405
|
/**
|
|
1504
1406
|
* Swap rows i and j in Matrix.
|
|
1505
1407
|
*
|
|
@@ -1509,28 +1411,25 @@ var createSparseMatrixClass = /* #__PURE__ */(0, _factory.factory)(name, depende
|
|
|
1509
1411
|
*
|
|
1510
1412
|
* @return {Matrix} The matrix reference
|
|
1511
1413
|
*/
|
|
1512
|
-
|
|
1513
|
-
|
|
1514
1414
|
SparseMatrix.prototype.swapRows = function (i, j) {
|
|
1515
1415
|
// check index
|
|
1516
1416
|
if (!(0, _is.isNumber)(i) || !(0, _number.isInteger)(i) || !(0, _is.isNumber)(j) || !(0, _number.isInteger)(j)) {
|
|
1517
1417
|
throw new Error('Row index must be positive integers');
|
|
1518
|
-
}
|
|
1519
|
-
|
|
1520
|
-
|
|
1418
|
+
}
|
|
1419
|
+
// check dimensions
|
|
1521
1420
|
if (this._size.length !== 2) {
|
|
1522
1421
|
throw new Error('Only two dimensional matrix is supported');
|
|
1523
|
-
}
|
|
1524
|
-
|
|
1525
|
-
|
|
1422
|
+
}
|
|
1423
|
+
// validate index
|
|
1526
1424
|
(0, _array.validateIndex)(i, this._size[0]);
|
|
1527
|
-
(0, _array.validateIndex)(j, this._size[0]);
|
|
1528
|
-
|
|
1529
|
-
SparseMatrix._swapRows(i, j, this._size[1], this._values, this._index, this._ptr); // return current instance
|
|
1530
|
-
|
|
1425
|
+
(0, _array.validateIndex)(j, this._size[0]);
|
|
1531
1426
|
|
|
1427
|
+
// swap rows
|
|
1428
|
+
SparseMatrix._swapRows(i, j, this._size[1], this._values, this._index, this._ptr);
|
|
1429
|
+
// return current instance
|
|
1532
1430
|
return this;
|
|
1533
1431
|
};
|
|
1432
|
+
|
|
1534
1433
|
/**
|
|
1535
1434
|
* Loop rows with data in column j.
|
|
1536
1435
|
*
|
|
@@ -1540,18 +1439,17 @@ var createSparseMatrixClass = /* #__PURE__ */(0, _factory.factory)(name, depende
|
|
|
1540
1439
|
* @param {Array} ptr Matrix column pointers
|
|
1541
1440
|
* @param {Function} callback Callback function invoked for every row in column j
|
|
1542
1441
|
*/
|
|
1543
|
-
|
|
1544
|
-
|
|
1545
1442
|
SparseMatrix._forEachRow = function (j, values, index, ptr, callback) {
|
|
1546
1443
|
// indeces for column j
|
|
1547
1444
|
var k0 = ptr[j];
|
|
1548
|
-
var k1 = ptr[j + 1];
|
|
1549
|
-
|
|
1445
|
+
var k1 = ptr[j + 1];
|
|
1446
|
+
// loop
|
|
1550
1447
|
for (var k = k0; k < k1; k++) {
|
|
1551
1448
|
// invoke callback
|
|
1552
1449
|
callback(index[k], values[k]);
|
|
1553
1450
|
}
|
|
1554
1451
|
};
|
|
1452
|
+
|
|
1555
1453
|
/**
|
|
1556
1454
|
* Swap rows x and y in Sparse Matrix data structures.
|
|
1557
1455
|
*
|
|
@@ -1562,76 +1460,61 @@ var createSparseMatrixClass = /* #__PURE__ */(0, _factory.factory)(name, depende
|
|
|
1562
1460
|
* @param {Array} index Matrix row indeces
|
|
1563
1461
|
* @param {Array} ptr Matrix column pointers
|
|
1564
1462
|
*/
|
|
1565
|
-
|
|
1566
|
-
|
|
1567
1463
|
SparseMatrix._swapRows = function (x, y, columns, values, index, ptr) {
|
|
1568
1464
|
// loop columns
|
|
1569
1465
|
for (var j = 0; j < columns; j++) {
|
|
1570
1466
|
// k0 <= k < k1 where k0 = _ptr[j] && k1 = _ptr[j+1]
|
|
1571
1467
|
var k0 = ptr[j];
|
|
1572
|
-
var k1 = ptr[j + 1];
|
|
1573
|
-
|
|
1574
|
-
var kx = _getValueIndex(x, k0, k1, index);
|
|
1575
|
-
|
|
1576
|
-
|
|
1577
|
-
|
|
1578
|
-
|
|
1579
|
-
|
|
1468
|
+
var k1 = ptr[j + 1];
|
|
1469
|
+
// find value index @ x
|
|
1470
|
+
var kx = _getValueIndex(x, k0, k1, index);
|
|
1471
|
+
// find value index @ x
|
|
1472
|
+
var ky = _getValueIndex(y, k0, k1, index);
|
|
1473
|
+
// check both rows exist in matrix
|
|
1580
1474
|
if (kx < k1 && ky < k1 && index[kx] === x && index[ky] === y) {
|
|
1581
1475
|
// swap values (check for pattern matrix)
|
|
1582
1476
|
if (values) {
|
|
1583
1477
|
var v = values[kx];
|
|
1584
1478
|
values[kx] = values[ky];
|
|
1585
1479
|
values[ky] = v;
|
|
1586
|
-
}
|
|
1587
|
-
|
|
1588
|
-
|
|
1480
|
+
}
|
|
1481
|
+
// next column
|
|
1589
1482
|
continue;
|
|
1590
|
-
}
|
|
1591
|
-
|
|
1592
|
-
|
|
1483
|
+
}
|
|
1484
|
+
// check x row exist & no y row
|
|
1593
1485
|
if (kx < k1 && index[kx] === x && (ky >= k1 || index[ky] !== y)) {
|
|
1594
1486
|
// value @ x (check for pattern matrix)
|
|
1595
|
-
var vx = values ? values[kx] : undefined;
|
|
1596
|
-
|
|
1487
|
+
var vx = values ? values[kx] : undefined;
|
|
1488
|
+
// insert value @ y
|
|
1597
1489
|
index.splice(ky, 0, y);
|
|
1598
|
-
|
|
1599
1490
|
if (values) {
|
|
1600
1491
|
values.splice(ky, 0, vx);
|
|
1601
|
-
}
|
|
1602
|
-
|
|
1603
|
-
|
|
1492
|
+
}
|
|
1493
|
+
// remove value @ x (adjust array index if needed)
|
|
1604
1494
|
index.splice(ky <= kx ? kx + 1 : kx, 1);
|
|
1605
|
-
|
|
1606
1495
|
if (values) {
|
|
1607
1496
|
values.splice(ky <= kx ? kx + 1 : kx, 1);
|
|
1608
|
-
}
|
|
1609
|
-
|
|
1610
|
-
|
|
1497
|
+
}
|
|
1498
|
+
// next column
|
|
1611
1499
|
continue;
|
|
1612
|
-
}
|
|
1613
|
-
|
|
1614
|
-
|
|
1500
|
+
}
|
|
1501
|
+
// check y row exist & no x row
|
|
1615
1502
|
if (ky < k1 && index[ky] === y && (kx >= k1 || index[kx] !== x)) {
|
|
1616
1503
|
// value @ y (check for pattern matrix)
|
|
1617
|
-
var vy = values ? values[ky] : undefined;
|
|
1618
|
-
|
|
1504
|
+
var vy = values ? values[ky] : undefined;
|
|
1505
|
+
// insert value @ x
|
|
1619
1506
|
index.splice(kx, 0, x);
|
|
1620
|
-
|
|
1621
1507
|
if (values) {
|
|
1622
1508
|
values.splice(kx, 0, vy);
|
|
1623
|
-
}
|
|
1624
|
-
|
|
1625
|
-
|
|
1509
|
+
}
|
|
1510
|
+
// remove value @ y (adjust array index if needed)
|
|
1626
1511
|
index.splice(kx <= ky ? ky + 1 : ky, 1);
|
|
1627
|
-
|
|
1628
1512
|
if (values) {
|
|
1629
1513
|
values.splice(kx <= ky ? ky + 1 : ky, 1);
|
|
1630
1514
|
}
|
|
1631
1515
|
}
|
|
1632
1516
|
}
|
|
1633
1517
|
};
|
|
1634
|
-
|
|
1635
1518
|
return SparseMatrix;
|
|
1636
1519
|
}, {
|
|
1637
1520
|
isClass: true
|