Computes the Hadamard product of two real rectangular matrices.
A — Real NRA by NCA rectangular matrix. (Input)
B — Real NRB by NCB rectangular matrix. (Input)
C — Real NRC by NCC rectangular matrix
containing the Hadamard product of A and B.
(Output)
If A is not needed, then
C can share the
same storage locations as A. Similarly, if B is not needed, then
C can share the
same storage locations as B.
NRA — Number of
rows of A.
(Input)
Default: NRA = size
(A,1).
NCA — Number of
columns of A.
(Input)
Default: NCA = size
(A,2).
LDA — Leading
dimension of A
exactly as specified in the dimension statement of the calling
program. (Input)
Default: LDA = size
(A,1).
NRB — Number of
rows of B.
(Input)
NRB
must be equal to NRA.
Default: NRB = size
(B,1).
NCB — Number of
columns of B.
(Input)
NCB
must be equal to NCA.
Default: NCB = size
(B,2).
LDB — Leading
dimension of B
exactly as specified in the dimension statement of the calling
program. (Input)
Default: LDB = size
(B,1).
NRC — Number of
rows of C. (Input)
NRC must be
equal to NRA.
Default: NRC = size
(C,1).
NCC — Number of
columns of C. (Input)
NCC must be
equal to NCA.
Default: NCC = size
(C,2).
LDC — Leading
dimension of C
exactly as specified in the dimension statement of the calling
program. (Input)
Default: LDC = size
(C,1).
Generic: CALL HRRRR (A, B, C [,…])
Specific: The specific interface names are S_HRRRR and D_HRRRR.
Single: CALL HRRRR (NRA, NCA, A, LDA, NRB, NCB, B, LDB, NRC, NCC, C, LDC)
Double: The double precision name is DHRRRR.
The routine HRRRR computes the Hadamard product of two real matrices A and B and returns a real matrix C, where Cij = AijBij.
Compute the Hadamard product of two 4 ´ 4 real matrices. The output matrix will be a 4 ´ 4 real matrix.
USE HRRRR_INT
USE WRRRN_INT
IMPLICIT NONE
! Declare variables
INTEGER NCA, NCB, NCC, NRA, NRB, NRC
PARAMETER (NCA=4, NCB=4, NCC=4, NRA=4, NRB=4, NRC=4)
!
REAL A(NRA,NCA), B(NRB,NCB), C(NRC,NCC)
! Set values for A
! A = ( -1.0 0.0 -3.0 8.0 )
! ( 2.0 1.0 7.0 2.0 )
! ( 3.0 -2.0 2.0 -6.0 )
! ( 4.0 1.0 -5.0 -8.0 )
!
! Set values for B
! B = ( 2.0 3.0 0.0 -10.0 )
! ( 1.0 -1.0 4.0 2.0 )
! ( -1.0 -2.0 7.0 1.0 )
! ( 2.0 1.0 9.0 0.0 )
!
DATA A/-1.0, 2.0, 3.0, 4.0, 0.0, 1.0, -2.0, 1.0, -3.0, 7.0, 2.0, &
-5.0, 8.0, 2.0, -6.0, -8.0/
DATA B/2.0, 1.0, -1.0, 2.0, 3.0, -1.0, -2.0, 1.0, 0.0, 4.0, 7.0, &
9.0, -10.0, 2.0, 1.0, 0.0/
! Compute Hadamard product of A and B
CALL HRRRR (A, B, C)
! Print results
CALL WRRRN ('C = A (*) B', C)
END
C = A (*)
B
1 2
3 4
1 -2.00
0.00 0.00 -80.00
2 2.00
-1.00 28.00 4.00
3
-3.00 4.00 14.00
-6.00
4 8.00 1.00
-45.00 0.00
Visual Numerics, Inc. PHONE: 713.784.3131 FAX:713.781.9260 |