mxv

 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.
```

```     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
`Wed Apr  5 17:46:56 2017`