- Abstract
Transpose a 3x3 matrix.
- Brief_I/O
VARIABLE I/O DESCRIPTION
-------- --- --------------------------------------------------
m1 I 3x3 matrix to be transposed.
mout I Transpose of m1. mout can overwrite m1.
- Detailed_Input
m1 This variable may contain any double precision 3x3
matrix.
- Detailed_Output
mout This variable is a double precision, 3x3 matrix which
contains the transpose of m1. mout may overwrite m1.
- Particulars
xpose_c first copies the diagonal elements of m1 to mout. Then
the off-diagonal elements are transposed using a temporary
variable in the following order:
(1,2) <---> (2,1)
(1,3) <---> (3,1)
(2,3) <---> (3,2)
Since a temporary variable is used, it is possible to transpose a
matrix in place. In other words, mout may overwrite m1.
- Examples
Given below is one example of a matrix m1 with the output matrix
mout which is implied by m1.
| 1 2 3 | | 1 0 0 |
m1 = | 0 4 5 | then mout = | 2 4 6 |
| 0 6 0 | | 3 5 0 |
- Restrictions
None.
- Exceptions
Error free.
- Files
None.
- Author_and_Institution
N.J. Bachman (JPL)
W.L. Taber (JPL)
W.M. Owen (JPL)
- Literature_References
None.
- Version
-CSPICE Version 1.2.0, 22-OCT-1998 (NJB)
Made input matrix const.
-CSPICE Version 1.1.0, 06-MAR-1998 (EDW)
Minor correction to header.
-CSPICE Version 1.0.0, 08-FEB-1998 (NJB) (WLT) (WMO)
Based on SPICELIB Version 1.0.1, 10-MAR-1992.
- Index_Entries
transpose a 3x3_matrix
- Link to routine source