Table of contents
CSPICE_XPOSE transposes a 3x3 matrix.
Given:
m1 any double precision 3x3 matrix.
help, m1
DOUBLE = Array[3,3]
the call:
cspice_xpose, m1, mout
returns:
mout a double precision, 3x3 matrix which contains the transpose of
`m1'.
help, mout
DOUBLE = Array[3,3]
None.
Any numerical results shown for this example may differ between
platforms as the results depend on the SPICE kernels used as input
and the machine specific arithmetic implementation.
1) Given a 3x3 double precision matrix, find its transpose.
Example code begins here.
PRO xpose_ex1
;;
;; Define the input matrix.
;;
m1 = [ [ 1.D0, 2.D0, 3.D0 ], $
[ 0.D0, 4.D0, 5.D0 ], $
[ 0.D0, 6.D0, 0.D0 ]]
;;
;; Compute the transpose of `m1'.
;;
cspice_xpose, m1, mout
;;
;; Display the results.
;;
print, 'Input matrix (M1):'
print
print, format='(3F6.1)', m1
print
print, 'Transpose of M1:'
print
print, format='(3F6.1)', mout
END
When this program was executed on a Mac/Intel/IDL8.x/64-bit
platform, the output was:
Input matrix (M1):
1.0 2.0 3.0
0.0 4.0 5.0
0.0 6.0 0.0
Transpose of M1:
1.0 0.0 0.0
2.0 4.0 6.0
3.0 5.0 0.0
cspice_xpose first copies the diagonal elements of `m1' to `mout'. Then
the off-diagonal elements are transposed using a temporary
variable in the following order:
[0,1] <---> [1,0]
[0,2] <---> [2,0]
[1,2] <---> [2,1]
Native IDL code to calculate the same matrix result:
mout = transpose(m1)
The IDL transpose function accepts arbitrary NxM matrices.
1) If the input argument `m1' is undefined, an error is signaled
by the IDL error handling system.
2) If the input argument `m1' is not of the expected type, or it
does not have the expected dimensions and size, an error is
signaled by the Icy interface.
3) If the output argument `mout' is not a named variable, an
error is signaled by the Icy interface.
None.
None.
ICY.REQ
None.
J. Diaz del Rio (ODC Space)
E.D. Wright (JPL)
-Icy Version 1.0.3, 10-AUG-2021 (JDR)
Edited the header to comply with NAIF standard. Added complete
code example.
Added -Parameters, -Exceptions, -Files, -Restrictions,
-Literature_References and -Author_and_Institution sections, and
completed -Particulars section.
Removed reference to the routine's corresponding CSPICE header from
-Abstract section.
Added arguments' type and size information in the -I/O section.
-Icy Version 1.0.2, 13-JUN-2011 (EDW)
Edits to comply with NAIF standard for Icy headers.
-Icy Version 1.0.1, 09-DEC-2005 (EDW)
Added -Examples section.
-Icy Version 1.0.0, 16-JUN-2003 (EDW)
transpose a 3x3 matrix
|