mathjs 10.5.3 → 10.6.2

Sign up to get free protection for your applications and to get access to all the features.
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.