Index Page xpose_c

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 Brief_I/O Detailed_Input | Detailed_Output Parameters Exceptions Files Particulars Examples | Restrictions Literature_References Author_and_Institution Version Index_Entries

#### Procedure

       void xpose_c ( ConstSpiceDouble m1[3][3],  SpiceDouble mout[3][3] )

#### Abstract

       Transpose a 3x3 matrix.

#### Required_Reading

       None.

#### Keywords

       None.

#### Brief_I/O

       VARIABLE  I/O  DESCRIPTION
       --------  ---  --------------------------------------------------
        m1        I   3x3 matrix to be transposed.
        mout      O   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.

#### Parameters

       None.

#### Exceptions

       Error free.

#### Files

       None.

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

#### Literature_References

       None.

#### Author_and_Institution

       N.J. Bachman       (JPL)
       W.L. Taber         (JPL)
       W.M. Owen          (JPL)

#### Version

       -CSPICE Version 1.2.3, 08-JAN-2014 (BVS)

          Corrected a minor typo in the header.

       -CSPICE Version 1.2.2, 16-JAN-2008   (EDW)

          Corrected typos in header titles:

          Detailed Input to Detailed_Input
          Detailed Output to Detailed_Output

       -CSPICE Version 1.2.1, 10-NOV-2006   (EDW)

          Added Keywords and Parameters section headers.
          Reordered section headers.

       -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 xpose_c source file xpose_c.c

    Wed Apr  5 17:54:48 2017