The Elk Code
r3mtm.f90
Go to the documentation of this file.
1 
2 ! Copyright (C) 2002-2005 J. K. Dewhurst, S. Sharma and C. Ambrosch-Draxl.
3 ! This file is distributed under the terms of the GNU Lesser General Public
4 ! License. See the file COPYING for license details.
5 
6 !BOP
7 ! !ROUTINE: r3mtm
8 ! !INTERFACE:
9 pure subroutine r3mtm(a,b,c)
10 ! !INPUT/OUTPUT PARAMETERS:
11 ! a : input matrix 1 (in,real(3,3))
12 ! b : input matrix 2 (in,real(3,3))
13 ! c : output matrix (out,real(3,3))
14 ! !DESCRIPTION:
15 ! Multiplies the transpose of one real $3\times 3$ matrix with another.
16 !
17 ! !REVISION HISTORY:
18 ! Created January 2003 (JKD)
19 !EOP
20 !BOC
21 implicit none
22 ! arguments
23 real(8), intent(in) :: a(3,3),b(3,3)
24 real(8), intent(out) :: c(3,3)
25 c(1,1)=a(1,1)*b(1,1)+a(2,1)*b(2,1)+a(3,1)*b(3,1)
26 c(2,1)=a(1,2)*b(1,1)+a(2,2)*b(2,1)+a(3,2)*b(3,1)
27 c(3,1)=a(1,3)*b(1,1)+a(2,3)*b(2,1)+a(3,3)*b(3,1)
28 c(1,2)=a(1,1)*b(1,2)+a(2,1)*b(2,2)+a(3,1)*b(3,2)
29 c(2,2)=a(1,2)*b(1,2)+a(2,2)*b(2,2)+a(3,2)*b(3,2)
30 c(3,2)=a(1,3)*b(1,2)+a(2,3)*b(2,2)+a(3,3)*b(3,2)
31 c(1,3)=a(1,1)*b(1,3)+a(2,1)*b(2,3)+a(3,1)*b(3,3)
32 c(2,3)=a(1,2)*b(1,3)+a(2,2)*b(2,3)+a(3,2)*b(3,3)
33 c(3,3)=a(1,3)*b(1,3)+a(2,3)*b(2,3)+a(3,3)*b(3,3)
34 end subroutine
35 !EOC
36 
pure subroutine r3mtm(a, b, c)
Definition: r3mtm.f90:10