dotMultiply.js 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. "use strict";
  2. Object.defineProperty(exports, "__esModule", {
  3. value: true
  4. });
  5. exports.createDotMultiply = void 0;
  6. var _factory = require("../../utils/factory.js");
  7. var _matAlgo02xDS = require("../../type/matrix/utils/matAlgo02xDS0.js");
  8. var _matAlgo09xS0Sf = require("../../type/matrix/utils/matAlgo09xS0Sf.js");
  9. var _matAlgo11xS0s = require("../../type/matrix/utils/matAlgo11xS0s.js");
  10. var _matrixAlgorithmSuite = require("../../type/matrix/utils/matrixAlgorithmSuite.js");
  11. var name = 'dotMultiply';
  12. var dependencies = ['typed', 'matrix', 'equalScalar', 'multiplyScalar'];
  13. var createDotMultiply = /* #__PURE__ */(0, _factory.factory)(name, dependencies, function (_ref) {
  14. var typed = _ref.typed,
  15. matrix = _ref.matrix,
  16. equalScalar = _ref.equalScalar,
  17. multiplyScalar = _ref.multiplyScalar;
  18. var matAlgo02xDS0 = (0, _matAlgo02xDS.createMatAlgo02xDS0)({
  19. typed: typed,
  20. equalScalar: equalScalar
  21. });
  22. var matAlgo09xS0Sf = (0, _matAlgo09xS0Sf.createMatAlgo09xS0Sf)({
  23. typed: typed,
  24. equalScalar: equalScalar
  25. });
  26. var matAlgo11xS0s = (0, _matAlgo11xS0s.createMatAlgo11xS0s)({
  27. typed: typed,
  28. equalScalar: equalScalar
  29. });
  30. var matrixAlgorithmSuite = (0, _matrixAlgorithmSuite.createMatrixAlgorithmSuite)({
  31. typed: typed,
  32. matrix: matrix
  33. });
  34. /**
  35. * Multiply two matrices element wise. The function accepts both matrices and
  36. * scalar values.
  37. *
  38. * Syntax:
  39. *
  40. * math.dotMultiply(x, y)
  41. *
  42. * Examples:
  43. *
  44. * math.dotMultiply(2, 4) // returns 8
  45. *
  46. * a = [[9, 5], [6, 1]]
  47. * b = [[3, 2], [5, 2]]
  48. *
  49. * math.dotMultiply(a, b) // returns [[27, 10], [30, 2]]
  50. * math.multiply(a, b) // returns [[52, 28], [23, 14]]
  51. *
  52. * See also:
  53. *
  54. * multiply, divide, dotDivide
  55. *
  56. * @param {number | BigNumber | Fraction | Complex | Unit | Array | Matrix} x Left hand value
  57. * @param {number | BigNumber | Fraction | Complex | Unit | Array | Matrix} y Right hand value
  58. * @return {number | BigNumber | Fraction | Complex | Unit | Array | Matrix} Multiplication of `x` and `y`
  59. */
  60. return typed(name, matrixAlgorithmSuite({
  61. elop: multiplyScalar,
  62. SS: matAlgo09xS0Sf,
  63. DS: matAlgo02xDS0,
  64. Ss: matAlgo11xS0s
  65. }));
  66. });
  67. exports.createDotMultiply = createDotMultiply;