matrixcalc (version 1.0-3)

hadamard.prod: Hadamard product of two matrices

Description

This function returns the Hadamard or Shur product of two matrices, x and y, that have the same row and column dimensions.

Usage

hadamard.prod(x, y)

Arguments

x

a numeric matrix or vector object

y

a numeric matrix or vector object

Value

A matrix.

Details

The Hadamard product is an element-by-element product of the two matrices. Let \({\bf{x}}\) and \({\bf{x}}\) be two \(m \times n\) numeric matrices. The Hadamard product is \({\bf{x}}\, \circ \,{\bf{y}} = \left[ {\begin{array}{*{20}{c}} {{x_{1,1}}\,{y_{1,1}}}&{{x_{1,2}}\,{y_{1,2}}}& \cdots &{{x_{1,n}}\,{y_{1,n}}}\\ {{x_{2,1}}\,{y_{121}}}&{{x_{2,2}}\,{y_{2,2}}}& \cdots &{{x_{2,n}}\,{y_{2,n}}}\\ \cdots & \cdots & \cdots & \cdots \\ {{x_{m,1}}\,{y_{m,1}}}&{{x_{m,2}}\,{y_{m,2}}}& \cdots &{{x_{m,n}}\,{y_{m,n}}} \end{array}} \right]\). It uses the * operation in R.

References

Hadamard, J (1983). Resolution d'une question relative aux determinants, Bulletin des Sciences Mathematiques, 17, 240-246.

Styan, G. P. H. (1973). Hadamard Products and Multivariate Statistical Analysis, Linear Algebra and Its Applications, Elsevier, 6, 217-240.

Examples

Run this code
# NOT RUN {
x <- matrix( c( 1, 2, 3, 4 ), nrow=2, byrow=TRUE )
y <- matrix( c( 2, 4, 6, 8 ), nrow=2, byrow=TRUE )
z <- hadamard.prod( x, y )
print( z )
# }

Run the code above in your browser using DataCamp Workspace