summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authormarcandre <marcandre@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2017-11-20 02:18:43 +0000
committermarcandre <marcandre@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2017-11-20 02:18:43 +0000
commitb1152fab0f5e48ce641b8b61f9d2565eff9187f3 (patch)
treeee92df24c9e490fdc44947e52e10d6e0cc0a4a42 /lib
parent980c0dd360b5454d49df47e08b8708ff888ae7a4 (diff)
lib/matrix: Add hadamard_product/entrywise_product.
Based on a patch by Charley Hutchison. [GH-674] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@60860 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'lib')
-rw-r--r--lib/matrix.rb11
1 files changed, 11 insertions, 0 deletions
diff --git a/lib/matrix.rb b/lib/matrix.rb
index 2f2d0f371a..d242665ef9 100644
--- a/lib/matrix.rb
+++ b/lib/matrix.rb
@@ -980,6 +980,17 @@ class Matrix
end
#
+ # Hadamard product
+ # Matrix[[1,2], [3,4]].hadamard_product(Matrix[[1,2], [3,2]])
+ # => 1 4
+ # 9 8
+ #
+ def hadamard_product(m)
+ combine(m){|a, b| a * b}
+ end
+ alias_method :entrywise_product, :hadamard_product
+
+ #
# Returns the inverse of the matrix.
# Matrix[[-1, -1], [0, -1]].inverse
# => -1 1