RXR Subroutine

public subroutine RXR(a, b, atb)

Multiply two r-matrices.

Status: vector/matrix support routine.

History

  • IAU SOFA revision: 2000 November 25

Arguments

TypeIntentOptionalAttributesName
real(kind=wp), intent(in), dimension(3,3):: a

first r-matrix

real(kind=wp), intent(in), dimension(3,3):: b

second r-matrix

real(kind=wp), intent(out), dimension(3,3):: atb

A * B


Called by

proc~~rxr~~CalledByGraph proc~rxr RXR proc~bp00 BP00 proc~bp00->proc~rxr proc~pn00 PN00 proc~pn00->proc~rxr proc~pn00->proc~bp00 proc~bp06 BP06 proc~bp06->proc~rxr proc~c2teqx C2TEQX proc~c2teqx->proc~rxr proc~hfk5z HFK5Z proc~hfk5z->proc~rxr proc~pn06 PN06 proc~pn06->proc~rxr proc~pnm80 PNM80 proc~pnm80->proc~rxr proc~c2tcio C2TCIO proc~c2tcio->proc~rxr proc~ecm06 ECM06 proc~ecm06->proc~rxr proc~pn06a PN06A proc~pn06a->proc~pn06 proc~pn00a PN00A proc~pn00a->proc~pn00 proc~c2t00a C2T00A proc~c2t00a->proc~c2tcio proc~c2i00a C2I00A proc~c2t00a->proc~c2i00a proc~c2txy C2TXY proc~c2txy->proc~c2tcio proc~eceq06 ECEQ06 proc~eceq06->proc~ecm06 proc~pmat00 PMAT00 proc~pmat00->proc~bp00 proc~pn00b PN00B proc~pn00b->proc~pn00 proc~c2tpe C2TPE proc~c2tpe->proc~pn00 proc~c2tpe->proc~c2teqx proc~c2t06a C2T06A proc~c2t06a->proc~c2tcio proc~c2tceo C2TCEO proc~c2tceo->proc~c2tcio proc~c2t00b C2T00B proc~c2t00b->proc~c2tcio proc~c2i00b C2I00B proc~c2t00b->proc~c2i00b proc~eqec06 EQEC06 proc~eqec06->proc~ecm06 proc~pnm00a PNM00A proc~pnm00a->proc~pn00a proc~num00a NUM00A proc~num00a->proc~pn00a proc~num00b NUM00B proc~num00b->proc~pn00b proc~pnm00b PNM00B proc~pnm00b->proc~pn00b proc~xys00a XYS00A proc~xys00a->proc~pnm00a proc~s00a S00A proc~s00a->proc~pnm00a proc~c2i00b->proc~pnm00b proc~c2i00a->proc~pnm00a proc~s00b S00B proc~s00b->proc~pnm00b proc~xys00b XYS00B proc~xys00b->proc~pnm00b

Contents

Source Code

RXR

Source Code

    subroutine RXR ( a, b, atb )

    implicit none

    real(wp),dimension(3,3),intent(in) :: a !! first r-matrix
    real(wp),dimension(3,3),intent(in) :: b !! second r-matrix
    real(wp),dimension(3,3),intent(out) :: atb !! A * B

    integer :: i, j, k
    real(wp) :: w, wm(3,3)

    do i=1,3
       do j=1,3
          w = 0.0_wp
          do k=1,3
             w = w + a(i,k)*b(k,j)
          end do
          wm(i,j) = w
       end do
    end do
    call CR ( wm, atb )

    end subroutine RXR