vnormg_c

Index Page vnormg_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
       SpiceDouble vnormg_c ( ConstSpiceDouble   * v1,
                              SpiceInt             ndim )
#### Abstract
       Compute the magnitude of a double precision vector of arbitrary
       dimension.
#### Required_Reading
       None.
#### Keywords
       VECTOR
#### Brief_I/O
       VARIABLE  I/O  DESCRIPTION
       --------  ---  --------------------------------------------------
        v1        I     Vector whose magnitude is to be found.
        ndim      I     Dimension of v1.
#### Detailed_Input
       v1      This may be any double precision vector or arbitrary
               size.
#### Detailed_Output
       vnormg_c is the magnitude of v1 calculated in a numerically stable
       way.
#### Parameters
       None.
#### Exceptions
       1)  If ndim is not physically realistic, greater than zero, a
           BADDIMENSION error is signaled.  The value 0. is returned.
#### Files
       None.
#### Particulars
       vnormg_c finds the component of v1 whose magnitude is the largest.
       If the absolute magnitude of that component indicates that a
       numeric overflow would occur when it is squared, or if it
       indicates that an underflow would occur when squared (falsely
       giving a magnitude of zero) then the following expression is
       used:

       vnormg_c = v1max * MAGNITUDE OF [ (1/v1max)*v1 ]

       therwise a simpler expression is used:

       vnormg_c = MAGNITUDE OF [ v1 ]

       Beyond the logic described above, no further checking of the
       validity of the input is performed.
#### Examples
       The following table show the correlation between various input
       vectors v1 and vnormg_c:

       ndim   v1                       ndim        vnormg_c
       -----------------------------------------------------------------
       1      (-7.0D20)                 1            7.D20
       3      (1., 2., 2.)              3            3.
       4      (3., 3., 3., 3.)          4            6.
       5      (5., 12., 0., 0., 0.)     5            13.
       3      (-5.D-17, 0.0, 12.D-17)   3            13.D-17
#### Restrictions
       None.
#### Literature_References
       None.
#### Author_and_Institution
       W.M. Owen       (JPL)
#### Version
       -CSPICE Version 1.1.0, 22-OCT-1998 (NJB)

          Made input vector const.

       -CSPICE Version 1.0.0, 1-APR-1998   (EDW)
#### Index_Entries
       norm of n-dimensional vector
#### Link to routine vnormg_c source file vnormg_c.c

    Thu Apr 16 08:59:33 2009