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

    Wed Apr  5 17:54:47 2017