RXP Subroutine

public subroutine RXP(r, p, rp)

Multiply a p-vector by an r-matrix.

Status: vector/matrix support routine.

History

  • IAU SOFA revision: 2006 November 13

Arguments

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

r-matrix

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

p-vector

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

R * P


Called by

proc~~rxp~~CalledByGraph proc~rxp RXP proc~atciq ATCIQ proc~atciq->proc~rxp proc~hfk5z HFK5Z proc~hfk5z->proc~rxp proc~trxp TRXP proc~hfk5z->proc~trxp proc~lteqec LTEQEC proc~lteqec->proc~rxp proc~fk52h FK52H proc~fk52h->proc~rxp proc~rxpv RXPV proc~rxpv->proc~rxp proc~trxp->proc~rxp proc~atciqn ATCIQN proc~atciqn->proc~rxp proc~atciqz ATCIQZ proc~atciqz->proc~rxp proc~eqec06 EQEC06 proc~eqec06->proc~rxp proc~fk5hz FK5HZ proc~fk5hz->proc~rxp proc~fk5hz->proc~trxp proc~h2fk5 H2FK5 proc~h2fk5->proc~rxp proc~h2fk5->proc~trxp proc~icrs2g ICRS2G proc~icrs2g->proc~rxp proc~atci13 ATCI13 proc~atci13->proc~atciq proc~atco13 ATCO13 proc~atco13->proc~atciq proc~apco13 APCO13 proc~atco13->proc~apco13 proc~pvtob PVTOB proc~pvtob->proc~trxp proc~aticqn ATICQN proc~aticqn->proc~trxp proc~eceq06 ECEQ06 proc~eceq06->proc~trxp proc~g2icrs G2ICRS proc~g2icrs->proc~trxp proc~trxpv TRXPV proc~trxpv->proc~rxpv proc~aticq ATICQ proc~aticq->proc~trxp proc~lteceq LTECEQ proc~lteceq->proc~trxp proc~apco APCO proc~apco->proc~pvtob proc~apco->proc~trxpv proc~atic13 ATIC13 proc~atic13->proc~aticq proc~atoc13 ATOC13 proc~atoc13->proc~aticq proc~atoc13->proc~apco13 proc~apio APIO proc~apio->proc~pvtob proc~apco13->proc~apco proc~apio13 APIO13 proc~apio13->proc~apio proc~atio13 ATIO13 proc~atio13->proc~apio13 proc~atoi13 ATOI13 proc~atoi13->proc~apio13

Contents

Source Code

RXP

Source Code

    subroutine RXP ( r, p, rp )

    implicit none

    real(wp),dimension(3,3),intent(in) :: r !! r-matrix
    real(wp),dimension(3),intent(in) :: p !! p-vector
    real(wp),dimension(3),intent(out) :: rp !! R * P

    real(wp) :: w, wrp(3)

    integer :: i, j

    !  Matrix R * vector P.
    do j=1,3
       w = 0.0_wp
       do i=1,3
          w = w + r(j,i)*p(i)
       end do
       wrp(j) = w
    end do

    !  Return the result.
    call CP ( wrp, rp )

    end subroutine RXP