mathjs 10.5.3 → 10.6.2

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.
Files changed (33) hide show
  1. package/HISTORY.md +29 -0
  2. package/lib/browser/math.js +6 -5
  3. package/lib/browser/math.js.map +1 -1
  4. package/lib/cjs/entry/dependenciesAny/dependenciesFft.generated.js +41 -0
  5. package/lib/cjs/entry/dependenciesAny/dependenciesIfft.generated.js +29 -0
  6. package/lib/cjs/entry/dependenciesAny.generated.js +16 -0
  7. package/lib/cjs/entry/impureFunctionsAny.generated.js +66 -64
  8. package/lib/cjs/entry/pureFunctionsAny.generated.js +189 -171
  9. package/lib/cjs/expression/embeddedDocs/embeddedDocs.js +6 -0
  10. package/lib/cjs/expression/embeddedDocs/function/matrix/fft.js +15 -0
  11. package/lib/cjs/expression/embeddedDocs/function/matrix/ifft.js +15 -0
  12. package/lib/cjs/factoriesAny.js +16 -0
  13. package/lib/cjs/function/algebra/derivative.js +1 -1
  14. package/lib/cjs/function/matrix/fft.js +128 -0
  15. package/lib/cjs/function/matrix/ifft.js +49 -0
  16. package/lib/cjs/header.js +2 -2
  17. package/lib/cjs/version.js +1 -1
  18. package/lib/esm/entry/dependenciesAny/dependenciesFft.generated.js +24 -0
  19. package/lib/esm/entry/dependenciesAny/dependenciesIfft.generated.js +16 -0
  20. package/lib/esm/entry/dependenciesAny.generated.js +2 -0
  21. package/lib/esm/entry/impureFunctionsAny.generated.js +63 -61
  22. package/lib/esm/entry/pureFunctionsAny.generated.js +161 -145
  23. package/lib/esm/expression/embeddedDocs/embeddedDocs.js +4 -0
  24. package/lib/esm/expression/embeddedDocs/function/matrix/fft.js +8 -0
  25. package/lib/esm/expression/embeddedDocs/function/matrix/ifft.js +8 -0
  26. package/lib/esm/factoriesAny.js +2 -0
  27. package/lib/esm/function/algebra/derivative.js +1 -1
  28. package/lib/esm/function/matrix/fft.js +104 -0
  29. package/lib/esm/function/matrix/ifft.js +38 -0
  30. package/lib/esm/version.js +1 -1
  31. package/package.json +19 -16
  32. package/types/index.d.ts +1072 -308
  33. package/types/index.ts +763 -7
@@ -4,7 +4,7 @@
4
4
  */
5
5
  import { config } from './configReadonly.js';
6
6
  import { createBigNumberClass, createComplexClass, createE, createFalse, createFineStructure, createFractionClass, createI, createInfinity, createLN10, createLOG10E, createMatrixClass, createNaN, createNull, createPhi, createRangeClass, createResultSet, createSQRT1_2, // eslint-disable-line camelcase
7
- createSackurTetrode, createTau, createTrue, createVersion, createDenseMatrixClass, createEfimovFactor, createLN2, createPi, createReplacer, createSQRT2, createTyped, createUnaryPlus, createWeakMixingAngle, createAbs, createAcos, createAcot, createAcsc, createAddScalar, createArg, createAsech, createAsinh, createAtan, createAtanh, createBignumber, createBitNot, createBoolean, createClone, createCombinations, createComplex, createConj, createCosh, createCoth, createCsc, createCube, createEqualScalar, createErf, createExp, createExpm1, createFilter, createForEach, createFormat, createGetMatrixDataType, createHex, createIm, createIsInteger, createIsNegative, createIsPositive, createIsZero, createLOG2E, createLgamma, createLog10, createLog2, createMap, createMultiplyScalar, createNot, createNumber, createOct, createPickRandom, createPrint, createRandom, createRe, createSec, createSign, createSin, createSparseMatrixClass, createSplitUnit, createSquare, createString, createTan, createTypeOf, createAcosh, createAcsch, createApply, createAsec, createBin, createCombinationsWithRep, createCos, createCsch, createIsNaN, createIsPrime, createRandomInt, createSech, createSinh, createSparse, createSqrt, createTanh, createUnaryMinus, createAcoth, createCot, createFraction, createIsNumeric, createMatrix, createMatrixFromFunction, createMod, createNthRoot, createNumeric, createOr, createProd, createReshape, createSize, createSmaller, createSqueeze, createSubset, createSubtract, createTo, createTranspose, createXgcd, createZeros, createAnd, createBitAnd, createBitXor, createCbrt, createCompare, createCompareText, createConcat, createCount, createCtranspose, createDiag, createDivideScalar, createDotDivide, createEqual, createFlatten, createGcd, createHasNumericValue, createHypot, createImmutableDenseMatrixClass, createIndexClass, createKron, createLargerEq, createLeftShift, createLsolve, createMatrixFromColumns, createMin, createMode, createNthRoots, createOnes, createPartitionSelect, createResize, createRightArithShift, createRound, createSmallerEq, createUnequal, createUsolve, createXor, createAdd, createAtan2, createBitOr, createCatalan, createCompareNatural, createCumSum, createDeepEqual, createDiff, createDot, createEqualText, createFloor, createIdentity, createInvmod, createLarger, createLog, createLsolveAll, createMatrixFromRows, createMultiply, createQr, createRange, createRightLogShift, createRow, createSetCartesian, createSetDistinct, createSetIsSubset, createSetPowerset, createSlu, createSum, createTrace, createUsolveAll, createAsin, createCeil, createColumn, createComposition, createCross, createDet, createDistance, createDotMultiply, createFibonacciHeapClass, createFix, createIndex, createInv, createLcm, createLog1p, createMax, createPinv, createPow, createQuantileSeq, createSetDifference, createSetMultiplicity, createSetSymDifference, createSort, createSqrtm, createUnitClass, createVacuumImpedance, createWienDisplacement, createAtomicMass, createBohrMagneton, createBoltzmann, createConductanceQuantum, createCreateUnit, createDeuteronMass, createDotPow, createElectricConstant, createElementaryCharge, createExpm, createFaraday, createFirstRadiation, createGamma, createGravitationConstant, createHartreeEnergy, createIntersect, createKlitzing, createLoschmidt, createMagneticConstant, createMolarMass, createMolarPlanckConstant, createNeutronMass, createNuclearMagneton, createPlanckCharge, createPlanckLength, createPlanckTemperature, createProtonMass, createReducedPlanckConstant, createRydberg, createSetIntersect, createSetUnion, createSpaClass, createStefanBoltzmann, createThomsonCrossSection, createAvogadro, createBohrRadius, createCoulomb, createDivide, createElectronMass, createFactorial, createGravity, createInverseConductanceQuantum, createLup, createMagneticFluxQuantum, createMolarMassC12, createMultinomial, createPermutations, createPlanckMass, createQuantumOfCirculation, createSecondRadiation, createStirlingS2, createUnitFunction, createBellNumbers, createEigs, createFermiCoupling, createMean, createMolarVolume, createPlanckConstant, createSetSize, createSpeedOfLight, createVariance, createClassicalElectronRadius, createLusolve, createMedian, createGasConstant, createMad, createStd, createNorm, createRotationMatrix, createKldivergence, createRotate, createPlanckTime } from '../factoriesAny.js';
7
+ createSackurTetrode, createTau, createTrue, createVersion, createDenseMatrixClass, createEfimovFactor, createLN2, createPi, createReplacer, createSQRT2, createTyped, createUnaryPlus, createWeakMixingAngle, createAbs, createAcos, createAcot, createAcsc, createAddScalar, createArg, createAsech, createAsinh, createAtan, createAtanh, createBignumber, createBitNot, createBoolean, createClone, createCombinations, createComplex, createConj, createCosh, createCoth, createCsc, createCube, createEqualScalar, createErf, createExp, createExpm1, createFilter, createForEach, createFormat, createGetMatrixDataType, createHex, createIm, createIsInteger, createIsNegative, createIsPositive, createIsZero, createLOG2E, createLgamma, createLog10, createLog2, createMap, createMultiplyScalar, createNot, createNumber, createOct, createPickRandom, createPrint, createRandom, createRe, createSec, createSign, createSin, createSparseMatrixClass, createSplitUnit, createSquare, createString, createTan, createTypeOf, createAcosh, createAcsch, createApply, createAsec, createBin, createCombinationsWithRep, createCos, createCsch, createIsNaN, createIsPrime, createRandomInt, createSech, createSinh, createSparse, createSqrt, createTanh, createUnaryMinus, createAcoth, createCot, createFraction, createIsNumeric, createMatrix, createMatrixFromFunction, createMod, createNthRoot, createNumeric, createOr, createProd, createReshape, createSize, createSmaller, createSqueeze, createSubset, createSubtract, createTo, createTranspose, createXgcd, createZeros, createAnd, createBitAnd, createBitXor, createCbrt, createCompare, createCompareText, createConcat, createCount, createCtranspose, createDiag, createDivideScalar, createDotDivide, createEqual, createFft, createFlatten, createGcd, createHasNumericValue, createHypot, createIfft, createKron, createLargerEq, createLeftShift, createLsolve, createMatrixFromColumns, createMin, createMode, createNthRoots, createOnes, createPartitionSelect, createResize, createRightArithShift, createRound, createSmallerEq, createUnequal, createUsolve, createXor, createAdd, createAtan2, createBitOr, createCatalan, createCompareNatural, createCumSum, createDeepEqual, createDiff, createDot, createEqualText, createFloor, createIdentity, createInvmod, createLarger, createLog, createLsolveAll, createMatrixFromRows, createMultiply, createQr, createRange, createRightLogShift, createSetSize, createSlu, createSum, createTrace, createUsolveAll, createAsin, createCeil, createComposition, createCross, createDet, createDistance, createDotMultiply, createFibonacciHeapClass, createFix, createImmutableDenseMatrixClass, createIndexClass, createIntersect, createLcm, createLog1p, createMax, createQuantileSeq, createRow, createSetCartesian, createSetDistinct, createSetIsSubset, createSetPowerset, createSort, createColumn, createIndex, createInv, createPinv, createPow, createSetDifference, createSetMultiplicity, createSpaClass, createSqrtm, createUnitClass, createVacuumImpedance, createWienDisplacement, createAtomicMass, createBohrMagneton, createBoltzmann, createConductanceQuantum, createCreateUnit, createDeuteronMass, createDotPow, createElectricConstant, createElementaryCharge, createExpm, createFaraday, createFirstRadiation, createGamma, createGravitationConstant, createHartreeEnergy, createKlitzing, createLoschmidt, createMagneticConstant, createMolarMass, createMolarPlanckConstant, createNeutronMass, createNuclearMagneton, createPlanckCharge, createPlanckLength, createPlanckTemperature, createProtonMass, createReducedPlanckConstant, createRydberg, createSetIntersect, createSpeedOfLight, createStefanBoltzmann, createThomsonCrossSection, createAvogadro, createBohrRadius, createCoulomb, createDivide, createElectronMass, createFactorial, createGravity, createInverseConductanceQuantum, createLup, createMagneticFluxQuantum, createMolarMassC12, createMultinomial, createPermutations, createPlanckMass, createQuantumOfCirculation, createSecondRadiation, createStirlingS2, createUnitFunction, createBellNumbers, createEigs, createFermiCoupling, createMean, createMolarVolume, createPlanckConstant, createSetSymDifference, createClassicalElectronRadius, createLusolve, createMedian, createSetUnion, createVariance, createKldivergence, createNorm, createPlanckTime, createRotationMatrix, createGasConstant, createStd, createMad, createRotate } from '../factoriesAny.js';
8
8
  export var BigNumber = /* #__PURE__ */createBigNumberClass({
9
9
  config
10
10
  });
@@ -551,6 +551,16 @@ export var equal = /* #__PURE__ */createEqual({
551
551
  matrix,
552
552
  typed
553
553
  });
554
+ export var fft = /* #__PURE__ */createFft({
555
+ addScalar,
556
+ divideScalar,
557
+ exp,
558
+ i,
559
+ matrix,
560
+ multiplyScalar,
561
+ tau,
562
+ typed
563
+ });
554
564
  export var flatten = /* #__PURE__ */createFlatten({
555
565
  matrix,
556
566
  typed
@@ -576,12 +586,11 @@ export var hypot = /* #__PURE__ */createHypot({
576
586
  sqrt,
577
587
  typed
578
588
  });
579
- export var ImmutableDenseMatrix = /* #__PURE__ */createImmutableDenseMatrixClass({
580
- DenseMatrix,
581
- smaller
582
- });
583
- export var Index = /* #__PURE__ */createIndexClass({
584
- ImmutableDenseMatrix
589
+ export var ifft = /* #__PURE__ */createIfft({
590
+ conj,
591
+ dotDivide,
592
+ fft,
593
+ typed
585
594
  });
586
595
  export var kron = /* #__PURE__ */createKron({
587
596
  matrix,
@@ -849,40 +858,8 @@ export var rightLogShift = /* #__PURE__ */createRightLogShift({
849
858
  typed,
850
859
  zeros
851
860
  });
852
- export var row = /* #__PURE__ */createRow({
853
- Index,
854
- matrix,
855
- range,
856
- typed
857
- });
858
- export var setCartesian = /* #__PURE__ */createSetCartesian({
859
- DenseMatrix,
860
- Index,
861
- compareNatural,
862
- size,
863
- subset,
864
- typed
865
- });
866
- export var setDistinct = /* #__PURE__ */createSetDistinct({
867
- DenseMatrix,
868
- Index,
869
- compareNatural,
870
- size,
871
- subset,
872
- typed
873
- });
874
- export var setIsSubset = /* #__PURE__ */createSetIsSubset({
875
- Index,
861
+ export var setSize = /* #__PURE__ */createSetSize({
876
862
  compareNatural,
877
- size,
878
- subset,
879
- typed
880
- });
881
- export var setPowerset = /* #__PURE__ */createSetPowerset({
882
- Index,
883
- compareNatural,
884
- size,
885
- subset,
886
863
  typed
887
864
  });
888
865
  export var slu = /* #__PURE__ */createSlu({
@@ -931,12 +908,6 @@ export var ceil = /* #__PURE__ */createCeil({
931
908
  typed,
932
909
  zeros
933
910
  });
934
- export var column = /* #__PURE__ */createColumn({
935
- Index,
936
- matrix,
937
- range,
938
- typed
939
- });
940
911
  export var composition = /* #__PURE__ */createComposition({
941
912
  addScalar,
942
913
  combinations,
@@ -991,20 +962,29 @@ export var fix = /* #__PURE__ */createFix({
991
962
  typed,
992
963
  zeros
993
964
  });
994
- export var index = /* #__PURE__ */createIndex({
995
- Index,
996
- typed
965
+ export var ImmutableDenseMatrix = /* #__PURE__ */createImmutableDenseMatrixClass({
966
+ DenseMatrix,
967
+ smaller
997
968
  });
998
- export var inv = /* #__PURE__ */createInv({
969
+ export var Index = /* #__PURE__ */createIndexClass({
970
+ ImmutableDenseMatrix
971
+ });
972
+ export var intersect = /* #__PURE__ */createIntersect({
999
973
  abs,
974
+ add,
1000
975
  addScalar,
1001
- det,
976
+ config,
1002
977
  divideScalar,
1003
- identity,
978
+ equalScalar,
979
+ flatten,
980
+ isNumeric,
981
+ isZero,
1004
982
  matrix,
1005
983
  multiply,
1006
- typed,
1007
- unaryMinus
984
+ multiplyScalar,
985
+ smaller,
986
+ subtract,
987
+ typed
1008
988
  });
1009
989
  export var lcm = /* #__PURE__ */createLcm({
1010
990
  equalScalar,
@@ -1024,6 +1004,76 @@ export var max = /* #__PURE__ */createMax({
1024
1004
  numeric,
1025
1005
  typed
1026
1006
  });
1007
+ export var quantileSeq = /* #__PURE__ */createQuantileSeq({
1008
+ add,
1009
+ compare,
1010
+ multiply,
1011
+ partitionSelect,
1012
+ typed
1013
+ });
1014
+ export var row = /* #__PURE__ */createRow({
1015
+ Index,
1016
+ matrix,
1017
+ range,
1018
+ typed
1019
+ });
1020
+ export var setCartesian = /* #__PURE__ */createSetCartesian({
1021
+ DenseMatrix,
1022
+ Index,
1023
+ compareNatural,
1024
+ size,
1025
+ subset,
1026
+ typed
1027
+ });
1028
+ export var setDistinct = /* #__PURE__ */createSetDistinct({
1029
+ DenseMatrix,
1030
+ Index,
1031
+ compareNatural,
1032
+ size,
1033
+ subset,
1034
+ typed
1035
+ });
1036
+ export var setIsSubset = /* #__PURE__ */createSetIsSubset({
1037
+ Index,
1038
+ compareNatural,
1039
+ size,
1040
+ subset,
1041
+ typed
1042
+ });
1043
+ export var setPowerset = /* #__PURE__ */createSetPowerset({
1044
+ Index,
1045
+ compareNatural,
1046
+ size,
1047
+ subset,
1048
+ typed
1049
+ });
1050
+ export var sort = /* #__PURE__ */createSort({
1051
+ compare,
1052
+ compareNatural,
1053
+ matrix,
1054
+ typed
1055
+ });
1056
+ export var column = /* #__PURE__ */createColumn({
1057
+ Index,
1058
+ matrix,
1059
+ range,
1060
+ typed
1061
+ });
1062
+ export var index = /* #__PURE__ */createIndex({
1063
+ Index,
1064
+ typed
1065
+ });
1066
+ export var inv = /* #__PURE__ */createInv({
1067
+ abs,
1068
+ addScalar,
1069
+ det,
1070
+ divideScalar,
1071
+ identity,
1072
+ matrix,
1073
+ multiply,
1074
+ typed,
1075
+ unaryMinus
1076
+ });
1027
1077
  export var pinv = /* #__PURE__ */createPinv({
1028
1078
  Complex,
1029
1079
  add,
@@ -1049,13 +1099,6 @@ export var pow = /* #__PURE__ */createPow({
1049
1099
  number,
1050
1100
  typed
1051
1101
  });
1052
- export var quantileSeq = /* #__PURE__ */createQuantileSeq({
1053
- add,
1054
- compare,
1055
- multiply,
1056
- partitionSelect,
1057
- typed
1058
- });
1059
1102
  export var setDifference = /* #__PURE__ */createSetDifference({
1060
1103
  DenseMatrix,
1061
1104
  Index,
@@ -1071,19 +1114,10 @@ export var setMultiplicity = /* #__PURE__ */createSetMultiplicity({
1071
1114
  subset,
1072
1115
  typed
1073
1116
  });
1074
- export var setSymDifference = /* #__PURE__ */createSetSymDifference({
1075
- Index,
1076
- concat,
1077
- setDifference,
1078
- size,
1079
- subset,
1080
- typed
1081
- });
1082
- export var sort = /* #__PURE__ */createSort({
1083
- compare,
1084
- compareNatural,
1085
- matrix,
1086
- typed
1117
+ export var Spa = /* #__PURE__ */createSpaClass({
1118
+ FibonacciHeap,
1119
+ addScalar,
1120
+ equalScalar
1087
1121
  });
1088
1122
  export var sqrtm = /* #__PURE__ */createSqrtm({
1089
1123
  abs,
@@ -1207,23 +1241,6 @@ export var hartreeEnergy = /* #__PURE__ */createHartreeEnergy({
1207
1241
  Unit,
1208
1242
  config
1209
1243
  });
1210
- export var intersect = /* #__PURE__ */createIntersect({
1211
- abs,
1212
- add,
1213
- addScalar,
1214
- config,
1215
- divideScalar,
1216
- equalScalar,
1217
- flatten,
1218
- isNumeric,
1219
- isZero,
1220
- matrix,
1221
- multiply,
1222
- multiplyScalar,
1223
- smaller,
1224
- subtract,
1225
- typed
1226
- });
1227
1244
  export var klitzing = /* #__PURE__ */createKlitzing({
1228
1245
  BigNumber,
1229
1246
  Unit,
@@ -1297,19 +1314,10 @@ export var setIntersect = /* #__PURE__ */createSetIntersect({
1297
1314
  subset,
1298
1315
  typed
1299
1316
  });
1300
- export var setUnion = /* #__PURE__ */createSetUnion({
1301
- Index,
1302
- concat,
1303
- setIntersect,
1304
- setSymDifference,
1305
- size,
1306
- subset,
1307
- typed
1308
- });
1309
- export var Spa = /* #__PURE__ */createSpaClass({
1310
- FibonacciHeap,
1311
- addScalar,
1312
- equalScalar
1317
+ export var speedOfLight = /* #__PURE__ */createSpeedOfLight({
1318
+ BigNumber,
1319
+ Unit,
1320
+ config
1313
1321
  });
1314
1322
  export var stefanBoltzmann = /* #__PURE__ */createStefanBoltzmann({
1315
1323
  BigNumber,
@@ -1495,22 +1503,12 @@ export var planckConstant = /* #__PURE__ */createPlanckConstant({
1495
1503
  Unit,
1496
1504
  config
1497
1505
  });
1498
- export var setSize = /* #__PURE__ */createSetSize({
1499
- compareNatural,
1500
- typed
1501
- });
1502
- export var speedOfLight = /* #__PURE__ */createSpeedOfLight({
1503
- BigNumber,
1504
- Unit,
1505
- config
1506
- });
1507
- export var variance = /* #__PURE__ */createVariance({
1508
- add,
1509
- apply,
1510
- divide,
1511
- isNaN,
1512
- multiply,
1513
- subtract,
1506
+ export var setSymDifference = /* #__PURE__ */createSetSymDifference({
1507
+ Index,
1508
+ concat,
1509
+ setDifference,
1510
+ size,
1511
+ subset,
1514
1512
  typed
1515
1513
  });
1516
1514
  export var classicalElectronRadius = /* #__PURE__ */createClassicalElectronRadius({
@@ -1534,22 +1532,33 @@ export var median = /* #__PURE__ */createMedian({
1534
1532
  partitionSelect,
1535
1533
  typed
1536
1534
  });
1537
- export var gasConstant = /* #__PURE__ */createGasConstant({
1538
- BigNumber,
1539
- Unit,
1540
- config
1535
+ export var setUnion = /* #__PURE__ */createSetUnion({
1536
+ Index,
1537
+ concat,
1538
+ setIntersect,
1539
+ setSymDifference,
1540
+ size,
1541
+ subset,
1542
+ typed
1541
1543
  });
1542
- export var mad = /* #__PURE__ */createMad({
1543
- abs,
1544
- map,
1545
- median,
1544
+ export var variance = /* #__PURE__ */createVariance({
1545
+ add,
1546
+ apply,
1547
+ divide,
1548
+ isNaN,
1549
+ multiply,
1546
1550
  subtract,
1547
1551
  typed
1548
1552
  });
1549
- export var std = /* #__PURE__ */createStd({
1550
- sqrt,
1551
- typed,
1552
- variance
1553
+ export var kldivergence = /* #__PURE__ */createKldivergence({
1554
+ divide,
1555
+ dotDivide,
1556
+ isNumeric,
1557
+ log,
1558
+ matrix,
1559
+ multiply,
1560
+ sum,
1561
+ typed
1553
1562
  });
1554
1563
  export var norm = /* #__PURE__ */createNorm({
1555
1564
  abs,
@@ -1566,6 +1575,11 @@ export var norm = /* #__PURE__ */createNorm({
1566
1575
  sqrt,
1567
1576
  typed
1568
1577
  });
1578
+ export var planckTime = /* #__PURE__ */createPlanckTime({
1579
+ BigNumber,
1580
+ Unit,
1581
+ config
1582
+ });
1569
1583
  export var rotationMatrix = /* #__PURE__ */createRotationMatrix({
1570
1584
  BigNumber,
1571
1585
  DenseMatrix,
@@ -1580,23 +1594,25 @@ export var rotationMatrix = /* #__PURE__ */createRotationMatrix({
1580
1594
  typed,
1581
1595
  unaryMinus
1582
1596
  });
1583
- export var kldivergence = /* #__PURE__ */createKldivergence({
1584
- divide,
1585
- dotDivide,
1586
- isNumeric,
1587
- log,
1588
- matrix,
1589
- multiply,
1590
- sum,
1597
+ export var gasConstant = /* #__PURE__ */createGasConstant({
1598
+ BigNumber,
1599
+ Unit,
1600
+ config
1601
+ });
1602
+ export var std = /* #__PURE__ */createStd({
1603
+ sqrt,
1604
+ typed,
1605
+ variance
1606
+ });
1607
+ export var mad = /* #__PURE__ */createMad({
1608
+ abs,
1609
+ map,
1610
+ median,
1611
+ subtract,
1591
1612
  typed
1592
1613
  });
1593
1614
  export var rotate = /* #__PURE__ */createRotate({
1594
1615
  multiply,
1595
1616
  rotationMatrix,
1596
1617
  typed
1597
- });
1598
- export var planckTime = /* #__PURE__ */createPlanckTime({
1599
- BigNumber,
1600
- Unit,
1601
- config
1602
1618
  });
@@ -142,6 +142,8 @@ import { subsetDocs } from './function/matrix/subset.js';
142
142
  import { traceDocs } from './function/matrix/trace.js';
143
143
  import { transposeDocs } from './function/matrix/transpose.js';
144
144
  import { zerosDocs } from './function/matrix/zeros.js';
145
+ import { fftDocs } from './function/matrix/fft.js';
146
+ import { ifftDocs } from './function/matrix/ifft.js';
145
147
  import { combinationsDocs } from './function/probability/combinations.js';
146
148
  import { combinationsWithRepDocs } from './function/probability/combinationsWithRep.js';
147
149
  import { factorialDocs } from './function/probability/factorial.js';
@@ -592,6 +594,8 @@ export var embeddedDocs = {
592
594
  trace: traceDocs,
593
595
  transpose: transposeDocs,
594
596
  zeros: zerosDocs,
597
+ fft: fftDocs,
598
+ ifft: ifftDocs,
595
599
  // functions - probability
596
600
  combinations: combinationsDocs,
597
601
  combinationsWithRep: combinationsWithRepDocs,
@@ -0,0 +1,8 @@
1
+ export var fftDocs = {
2
+ name: 'fft',
3
+ category: 'Matrix',
4
+ syntax: ['fft(x)'],
5
+ description: 'Calculate N-dimensional fourier transform',
6
+ examples: ['fft([[1, 0], [1, 0]])'],
7
+ seealso: ['ifft']
8
+ };
@@ -0,0 +1,8 @@
1
+ export var ifftDocs = {
2
+ name: 'ifft',
3
+ category: 'Matrix',
4
+ syntax: ['ifft(x)'],
5
+ description: 'Calculate N-dimensional inverse fourier transform',
6
+ examples: ['ifft([[2, 2], [0, 0]])'],
7
+ seealso: ['fft']
8
+ };
@@ -92,6 +92,8 @@ export { createSubset } from './function/matrix/subset.js';
92
92
  export { createTranspose } from './function/matrix/transpose.js';
93
93
  export { createCtranspose } from './function/matrix/ctranspose.js';
94
94
  export { createZeros } from './function/matrix/zeros.js';
95
+ export { createFft } from './function/matrix/fft.js';
96
+ export { createIfft } from './function/matrix/ifft.js';
95
97
  export { createErf } from './function/special/erf.js';
96
98
  export { createMode } from './function/statistics/mode.js';
97
99
  export { createProd } from './function/statistics/prod.js';
@@ -115,7 +115,7 @@ export var createDerivative = /* #__PURE__ */factory(name, dependencies, _ref =>
115
115
  if (isConstantNode(expr) && typeOf(expr.value) === 'string') {
116
116
  return _derivTex(parse(expr.value).toString(), x.toString(), 1);
117
117
  } else {
118
- return _derivTex(expr.toString(), x.toString(), 1);
118
+ return _derivTex(expr.toTex(), x.toString(), 1);
119
119
  }
120
120
  },
121
121
  'Node, ConstantNode': function NodeConstantNode(expr, x) {
@@ -0,0 +1,104 @@
1
+ import { arraySize } from '../../utils/array.js';
2
+ import { factory } from '../../utils/factory.js';
3
+ var name = 'fft';
4
+ var dependencies = ['typed', 'matrix', 'addScalar', 'multiplyScalar', 'divideScalar', 'exp', 'tau', 'i'];
5
+ export var createFft = /* #__PURE__ */factory(name, dependencies, _ref => {
6
+ var {
7
+ typed,
8
+ matrix,
9
+ addScalar,
10
+ multiplyScalar,
11
+ divideScalar,
12
+ exp,
13
+ tau,
14
+ i: I
15
+ } = _ref;
16
+
17
+ /**
18
+ * Calculate N-dimensional fourier transform
19
+ *
20
+ * Syntax:
21
+ *
22
+ * math.fft(arr)
23
+ *
24
+ * Examples:
25
+ *
26
+ * math.fft([[1, 0], [1, 0]]) // returns [[{re:2, im:0}, {re:2, im:0}], [{re:0, im:0}, {re:0, im:0}]]
27
+ *
28
+ *
29
+ * See Also:
30
+ *
31
+ * ifft
32
+ *
33
+ * @param {Array | Matrix} arr An array or matrix
34
+ * @return {Array | Matrix} N-dimensional fourier transformation of the array
35
+ */
36
+ return typed(name, {
37
+ Array: _ndFft,
38
+ Matrix: function Matrix(matrix) {
39
+ return matrix.create(_ndFft(matrix.toArray()));
40
+ }
41
+ });
42
+ /**
43
+ * Perform an N-dimensional Fourier transform
44
+ *
45
+ * @param {Array} arr The array
46
+ * @return {Array} resulting array
47
+ */
48
+
49
+ function _ndFft(arr) {
50
+ var size = arraySize(arr);
51
+ if (size.length === 1) return _fft(arr, size[0]); // ndFft along dimension 1,...,N-1 then 1dFft along dimension 0
52
+
53
+ return _1dFft(arr.map(slice => _ndFft(slice, size.slice(1))), 0);
54
+ }
55
+ /**
56
+ * Perform an 1-dimensional Fourier transform
57
+ *
58
+ * @param {Array} arr The array
59
+ * @param {number} dim dimension of the array to perform on
60
+ * @return {Array} resulting array
61
+ */
62
+
63
+
64
+ function _1dFft(arr, dim) {
65
+ var size = arraySize(arr);
66
+ if (dim !== 0) return new Array(size[0]).fill(0).map((_, i) => _1dFft(arr[i], dim - 1));
67
+ if (size.length === 1) return _fft(arr);
68
+
69
+ function _transpose(arr) {
70
+ // Swap first 2 dimensions
71
+ var size = arraySize(arr);
72
+ return new Array(size[1]).fill(0).map((_, j) => new Array(size[0]).fill(0).map((_, i) => arr[i][j]));
73
+ }
74
+
75
+ return _transpose(_1dFft(_transpose(arr), 1));
76
+ }
77
+ /**
78
+ * Perform an 1-dimensional Fourier transform
79
+ *
80
+ * @param {Array} arr The array
81
+ * @return {Array} resulting array
82
+ */
83
+
84
+
85
+ function _fft(arr) {
86
+ var len = arr.length;
87
+ if (len === 1) return [arr[0]];
88
+
89
+ if (len % 2 === 0) {
90
+ var ret = [..._fft(arr.filter((_, i) => i % 2 === 0), len / 2), ..._fft(arr.filter((_, i) => i % 2 === 1), len / 2)];
91
+
92
+ for (var k = 0; k < len / 2; k++) {
93
+ var p = ret[k];
94
+ var q = multiplyScalar(ret[k + len / 2], exp(multiplyScalar(multiplyScalar(tau, I), divideScalar(-k, len))));
95
+ ret[k] = addScalar(p, q);
96
+ ret[k + len / 2] = addScalar(p, multiplyScalar(-1, q));
97
+ }
98
+
99
+ return ret;
100
+ }
101
+
102
+ throw new Error('Can only calculate FFT of power-of-two size');
103
+ }
104
+ });
@@ -0,0 +1,38 @@
1
+ import { arraySize } from '../../utils/array.js';
2
+ import { factory } from '../../utils/factory.js';
3
+ import { isMatrix } from '../../utils/is.js';
4
+ var name = 'ifft';
5
+ var dependencies = ['typed', 'fft', 'dotDivide', 'conj'];
6
+ export var createIfft = /* #__PURE__ */factory(name, dependencies, _ref => {
7
+ var {
8
+ typed,
9
+ fft,
10
+ dotDivide,
11
+ conj
12
+ } = _ref;
13
+
14
+ /**
15
+ * Calculate N-dimensional inverse fourier transform
16
+ *
17
+ * Syntax:
18
+ *
19
+ * math.ifft(arr)
20
+ *
21
+ * Examples:
22
+ *
23
+ * math.ifft([[2, 2], [0, 0]]) // returns [[{re:1, im:0}, {re:0, im:0}], [{re:1, im:0}, {re:0, im:0}]]
24
+ *
25
+ * See Also:
26
+ *
27
+ * fft
28
+ *
29
+ * @param {Array | Matrix} arr An array or matrix
30
+ * @return {Array | Matrix} N-dimensional fourier transformation of the array
31
+ */
32
+ return typed(name, {
33
+ 'Array | Matrix': function ArrayMatrix(arr) {
34
+ var size = isMatrix(arr) ? arr.size() : arraySize(arr);
35
+ return dotDivide(conj(fft(conj(arr))), size.reduce((acc, curr) => acc * curr, 1));
36
+ }
37
+ });
38
+ });
@@ -1,2 +1,2 @@
1
- export var version = '10.5.3'; // Note: This file is automatically generated when building math.js.
1
+ export var version = '10.6.2'; // Note: This file is automatically generated when building math.js.
2
2
  // Changes made in this file will be overwritten.