dotPow.js 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. "use strict";
  2. Object.defineProperty(exports, "__esModule", {
  3. value: true
  4. });
  5. exports.createDotPow = void 0;
  6. var _factory = require("../../utils/factory.js");
  7. var _matAlgo03xDSf = require("../../type/matrix/utils/matAlgo03xDSf.js");
  8. var _matAlgo07xSSf = require("../../type/matrix/utils/matAlgo07xSSf.js");
  9. var _matAlgo11xS0s = require("../../type/matrix/utils/matAlgo11xS0s.js");
  10. var _matAlgo12xSfs = require("../../type/matrix/utils/matAlgo12xSfs.js");
  11. var _matrixAlgorithmSuite = require("../../type/matrix/utils/matrixAlgorithmSuite.js");
  12. var name = 'dotPow';
  13. var dependencies = ['typed', 'equalScalar', 'matrix', 'pow', 'DenseMatrix'];
  14. var createDotPow = /* #__PURE__ */(0, _factory.factory)(name, dependencies, function (_ref) {
  15. var typed = _ref.typed,
  16. equalScalar = _ref.equalScalar,
  17. matrix = _ref.matrix,
  18. pow = _ref.pow,
  19. DenseMatrix = _ref.DenseMatrix;
  20. var matAlgo03xDSf = (0, _matAlgo03xDSf.createMatAlgo03xDSf)({
  21. typed: typed
  22. });
  23. var matAlgo07xSSf = (0, _matAlgo07xSSf.createMatAlgo07xSSf)({
  24. typed: typed,
  25. DenseMatrix: DenseMatrix
  26. });
  27. var matAlgo11xS0s = (0, _matAlgo11xS0s.createMatAlgo11xS0s)({
  28. typed: typed,
  29. equalScalar: equalScalar
  30. });
  31. var matAlgo12xSfs = (0, _matAlgo12xSfs.createMatAlgo12xSfs)({
  32. typed: typed,
  33. DenseMatrix: DenseMatrix
  34. });
  35. var matrixAlgorithmSuite = (0, _matrixAlgorithmSuite.createMatrixAlgorithmSuite)({
  36. typed: typed,
  37. matrix: matrix
  38. });
  39. var powScalarSignatures = {};
  40. for (var signature in pow.signatures) {
  41. if (Object.prototype.hasOwnProperty.call(pow.signatures, signature)) {
  42. if (!signature.includes('Matrix') && !signature.includes('Array')) {
  43. powScalarSignatures[signature] = pow.signatures[signature];
  44. }
  45. }
  46. }
  47. var powScalar = typed(powScalarSignatures);
  48. /**
  49. * Calculates the power of x to y element wise.
  50. *
  51. * Syntax:
  52. *
  53. * math.dotPow(x, y)
  54. *
  55. * Examples:
  56. *
  57. * math.dotPow(2, 3) // returns number 8
  58. *
  59. * const a = [[1, 2], [4, 3]]
  60. * math.dotPow(a, 2) // returns Array [[1, 4], [16, 9]]
  61. * math.pow(a, 2) // returns Array [[9, 8], [16, 17]]
  62. *
  63. * See also:
  64. *
  65. * pow, sqrt, multiply
  66. *
  67. * @param {number | BigNumber | Complex | Unit | Array | Matrix} x The base
  68. * @param {number | BigNumber | Complex | Unit | Array | Matrix} y The exponent
  69. * @return {number | BigNumber | Complex | Unit | Array | Matrix} The value of `x` to the power `y`
  70. */
  71. return typed(name, matrixAlgorithmSuite({
  72. elop: powScalar,
  73. SS: matAlgo07xSSf,
  74. DS: matAlgo03xDSf,
  75. Ss: matAlgo11xS0s,
  76. sS: matAlgo12xSfs
  77. }));
  78. });
  79. exports.createDotPow = createDotPow;