- Abstract
Multiply a matrix and a vector of arbitrary size.
- Required_Reading
None.
- Brief_I/O
VARIABLE I/O DESCRIPTION
-------- --- --------------------------------------------------
m1 I Left-hand matrix to be multiplied.
v2 I Right-hand vector to be multiplied.
nrow1 I Row dimension of m1 and length of vout.
nc1r2 I Column dimension of m1 and length of v2.
vout O Product vector m1*v2.
- Detailed_Input
m1 is a double precision matrix of arbitrary size which
forms the left-hand matrix of the multiplication.
v2 is a double precision vector on the right of the
multiplication.
nrow1 is the row dimension of m1 and length of vout.
nc1r2 is the column dimension of m1 and length of v2.
- Detailed_Output
vout is the double precision vector which results from
the multiplication
vout = (m1) x v2
vout has length nrow1.
vout may overwrite m1 or v2. Note that this capability
does not exist in the Fortran version of SPICELIB; in the
Fortran version, the output must not overwrite either
input.
- Parameters
None.
- Particulars
The code reflects precisely the following mathematical expression
For each value of the subscript i from 1 to nrow1,
vout(i) = Summation from k=1 to nc1r2 of ( m1(i,k) * v2(k) )
- Examples
1) Suppose that
M1 = | 1 1 1 |
| 2 3 4 |
and that
| 1 |
V2 = | 2 |
| 3 |
Then calling mxvg_c as shown
mxvg_c ( m1, v2, 2, 3, vout );
will yield the following vector value for vout:
vout = | 6 |
| 20 |
- Restrictions
1) The user is responsible for checking the magnitudes of the
elements of m1 and v2 so that a floating point overflow does
not occur.
- Exceptions
Error free.
- Files
None.
- Author_and_Institution
N.J. Bachman (JPL)
W.M. Owen (JPL)
- Literature_References
None.
- Version
-CSPICE Version 1.1.0, 25-JUL-2001 (NJB)
Changed protoype: inputs m1 and v2 are now type (const void *).
Implemented interface macro for casting inputs m1 and v2 to
const.
-CSPICE Version 1.0.1, 08-FEB-1998 (NJB)
Corrected a comment describing the local macro INDEX. Made
miscellaneous code format corrections.
-CSPICE Version 1.0.0, 25-OCT-1997 (NJB)
Based on SPICELIB Version 1.0.1, 10-MAR-1992 (WLT)
- Index_Entries
matrix times n-dimensional vector
- Link to routine source