trace_c |
Table of contents
Proceduretrace_c ( Trace of a 3x3 matrix ) SpiceDouble trace_c ( ConstSpiceDouble matrix[3][3] ) AbstractReturn the trace of a 3x3 matrix. Required_ReadingNone. KeywordsMATRIX Brief_I/OVARIABLE I/O DESCRIPTION -------- --- -------------------------------------------------- matrix I 3x3 matrix of double precision numbers. The function returns the trace of `matrix'. Detailed_Inputmatrix is a double precision 3x3 matrix. Detailed_OutputThe function returns the trace of `matrix', i.e. it is the sum of the diagonal elements of `matrix'. ParametersNone. ExceptionsError free. FilesNone. ParticularsThe code reflects precisely the following mathematical expression: 2 .---- \ trace_c = ) matrix[i][i] / '---- i=0 No error detection or correction is implemented within this function. ExamplesThe numerical results shown for this example may differ across platforms. The results depend on the SPICE kernels used as input, the compiler and supporting libraries, and the machine specific arithmetic implementation. 1) Given a 3x3 double precision matrix, compute its trace. Example code begins here. /. Program trace_ex1 ./ #include <stdio.h> #include "SpiceUsr.h" int main( ) { /. Local variables. ./ SpiceInt i; /. Define `matrix'. ./ SpiceDouble matrix [3][3] = { {3.0, 5.0, 7.0}, {0.0, -2.0, 8.0}, {4.0, 0.0, -1.0} }; printf( "MATRIX:\n" ); for ( i = 0; i < 3; i++ ) { printf( "%6.1f %5.1f %5.1f\n", matrix[i][0], matrix[i][1], matrix[i][2] ); } /. Compute the trace of `matrix' and display the result. ./ printf( "\n" ); printf( "Trace: %3.1f\n", trace_c ( matrix ) ); return ( 0 ); } When this program was executed on a Mac/Intel/cc/64-bit platform, the output was: MATRIX: 3.0 5.0 7.0 0.0 -2.0 8.0 4.0 0.0 -1.0 Trace: 0.0 Restrictions1) No checking is performed to guard against floating point overflow or underflow. This routine should probably not be used if the input matrix is expected to have large double precision numbers along the diagonal. Literature_ReferencesNone. Author_and_InstitutionJ. Diaz del Rio (ODC Space) W.L. Taber (JPL) E.D. Wright (JPL) Version-CSPICE Version 1.0.1, 05-JUL-2021 (JDR) Edited the header to comply with NAIF standard. Added complete code example based on existing example. -CSPICE Version 1.0.0, 29-JUN-1999 (EDW) (WLT) Index_Entriestrace of a 3x3_matrix |
Fri Dec 31 18:41:14 2021