Index Page
mxv
A  B  C  D  E  F  G  H  I  J  K  L  M  N  O  P  Q  R  S  T  U  V  W  X 

Procedure
Abstract
Required_Reading
Keywords
Declarations
Brief_I/O
Detailed_Input
Detailed_Output
Parameters
Exceptions
Files
Particulars
Examples
Restrictions
Literature_References
Author_and_Institution
Version

Procedure

      MXV ( Matrix times vector, 3x3 )
 
      SUBROUTINE MXV ( MATRIX, VIN, VOUT )
 

Abstract

     Multiply a 3x3 double precision matrix with a 3-dimensional
     double precision vector.

Required_Reading

     None.

Keywords

     MATRIX
     VECTOR

Declarations

 
      DOUBLE PRECISION   MATRIX   ( 3,3 )
      DOUBLE PRECISION   VIN      (   3 )
      DOUBLE PRECISION   VOUT     (   3 )
 

Brief_I/O

     VARIABLE  I/O              DESCRIPTION
     --------  ---  --------------------------------------------------
     MATRIX     I   3x3 double precision matrix.
     VIN        I   3-dimensional double precision vector.
     VOUT       O   3-dimensinoal double precision vector. VOUT is
                    the product MATRIX*VIN.

Detailed_Input

     MATRIX     is an arbitrary 3x3 double precision matrix.

     VIN        is an arbitrary 3-dimensional double precision vector.

Detailed_Output

     VOUT       is a 3-dimensional double precision vector. VOUT is
                the product MATRIX * V.

Parameters

     None.

Exceptions

     Error free.

Files

     None.

Particulars

     The code reflects precisely the following mathematical expression

        For each value of the subscript I from 1 to 3:

        VOUT(I) = Summation from K=1 to 3 of  ( MATRIX(I,K) * VIN(K) )

Examples

      Let

         MATRIX = |  0.0D0  1.0D0  0.0D0 |   and  VIN = | 1.0D0 |
                  |                      |              |       |
                  | -1.0D0  0.0D0  0.0D0 |              | 2.0D0 |
                  |                      |              |       |
                  |  0.0D0  0.0D0  1.0D0 |              | 3.0D0 |

      Then the call,

         CALL MXV ( MATRIX, VIN, VOUT )

      produces the vector

         VOUT = |  2.0D0 |
                |        |
                | -1.0D0 |
                |        |
                |  3.0D0 |

Restrictions

     The user is responsible for checking the magnitudes of the
     elements of MATRIX and VIN so that a floating point overflow does
     not occur.

Literature_References

     None.

Author_and_Institution

     W.M. Owen       (JPL)

Version

    SPICELIB Version 1.0.2, 22-APR-2010 (NJB)

        Header correction: assertions that the output
        can overwrite the input have been removed.

    SPICELIB Version 1.0.1, 10-MAR-1992 (WLT)

        Comment section for permuted index source lines was added
        following the header.

    SPICELIB Version 1.0.0, 31-JAN-1990 (WMO)
Wed Apr  5 17:46:56 2017