Index Page
rquad_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 rquad_c ( SpiceDouble  a,
                  SpiceDouble  b,
                  SpiceDouble  c,
                  SpiceDouble  root1[2],
                  SpiceDouble  root2[2] ) 

Abstract

 
   Find the roots of a quadratic equation. 
 

Required_Reading

 
   None. 
 

Keywords

 
   MATH 
   POLYNOMIAL 
   ROOT 
 

Brief_I/O

 
   Variable  I/O  Description 
   --------  ---  -------------------------------------------------- 
 
   a          I   Coefficient of quadratic term. 
   b          I   Coefficient of linear term. 
   c          I   Constant. 
   root1      O   Root built from positive discriminant term. 
   root2      O   Root built from negative discriminant term. 
 

Detailed_Input

 
   a, 
   b, 
   c              are the coefficients of a quadratic polynomial 
 
                       2 
                     ax   +   bx   +   c. 
 

Detailed_Output

 
   root1, 
   root2         are the roots of the equation, 
 
                       2 
                     ax   +   bx   +   c   =  0. 
 
 
                 root1 and root2 are both arrays of length 2.  The 
                 first element of each array is the real part of a 
                 root; the second element contains the complex part 
                 of the same root. 
 
                 When a is non-zero, root1 represents the root 
 
                                  _____________ 
                                 /  2 
                    - b   +    \/  b    -   4ac 
                    --------------------------- 
                                  2a 
 
 
                 and root2 represents the root 
 
                                  _____________ 
                                 /  2 
                    - b   -    \/  b    -   4ac 
                    --------------------------- . 
                                  2a 
 
 
                 When a is zero and b is non-zero, root1 and root2 
                 both represent the root 
 
                    - c / b. 
 

Parameters

 
   None. 
 

Exceptions

 
   1)   If the input coefficients a and b are both zero, the error 
        SPICE(DEGENERATECASE) is signalled.  The output arguments 
        are not modified. 
 

Files

 
   None. 
 

Particulars

 
   None. 
 

Examples

 
   1)   Humor us and suppose we want to compute the "golden ratio." 
 
        The quantity r is defined by the equation 
 
           1/r = r/(1-r), 
 
        which is equivalent to 
 
            2 
           r   +  r  -  1  =  0. 
 
        The following code fragment does the job. 
 
 
           /.
           Compute "golden ratio."  The root we want,
      
                      ___
                     /
              -1 + \/  5
              -----------,
                   2
      
      
           is contained in root1.
           ./
 
 
           rquad_c ( 1., 1., -1., root1, root2 ); 
 
           printf ( "The \"golden ratio\" is %f\n", root1[0] ); 
 
 
   2)   The equation, 
 
            2 
           x   +  1  =  0 
 
        can be solved by the code fragment 
 
 
           /.
           Let's do one with imaginary roots just for fun. 
           ./

           rquad_c ( 1.,  0.,  1.,  root1,  root2 ); 

           printf ( "root1 is %f   %f\n", root1[0], root1[1] ); 
           printf ( "root2 is %f   %f\n", root2[0], root2[1] ); 

 
        The printed results will be something like: 
 
           root1 is 0.000000000000000   1.000000000000000 
           root2 is 0.000000000000000   -1.000000000000000 
 

Restrictions

 
   No checks for overflow of the roots are performed. 
 

Literature_References

 
   None. 
 

Author_and_Institution

 
   N.J. Bachman   (JPL) 
 

Version

 
   -CSPICE Version 1.0.0, 13-JUN-1999 (NJB)

Index_Entries

 
   roots of a quadratic equation 
 
Wed Apr  5 17:54:42 2017