<html>
  <head>

    <meta http-equiv="content-type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <p><font face="serif">As I indicated, the first project will evolve
        into the second project -- which will require the use of complex
        numbers.  Since few of you will want to write ALL of your own
        complex number containers and functions, I recommend that you
        take ONE of the following paths and stick to it for both
        projects:</font></p>
    <p><font face="serif">1. If you are writing in straight C then you
        can implement complex numbers via the gnu scientific library
        (GSL).  I installed this on cobra.  It's nice -- but there is a
        learning curve.  You can also try &lt;complex.h&gt; and see how
        far you can get with that.<br>
      </font></p>
    <p><font face="serif">2. If you are writing in Java then I think you
        will either have to find find or write a complex class.  There
        are some out there -- but  I am not aware of a complex class
        that is part of the language standard.  If someone knows
        otherwise, then please let me know and provide a link.</font></p>
    <p><font face="serif">3. If you are writing in C++ then you have
        four options.  You can use the GSL like in straight C, you can
        use a library called Armadillo (which is a high performance
        linear algebra library that I have on cobra), or you can use the
        &lt;complex&gt; template that is part of newer C++
        implementations.  Finally, I have use the BOOST libraries in
        some of my chemical physics code but, but I don't think that
        boost is installed on cobra -- its a BIG library.  If you want
        to go the BOOST route then let me know. <br>
      </font></p>
    <p><font face="serif">4.  Or you can write in Fortran -- which has
        all of the types and functions defined across multiple
        precisions as a part of the language standard.<br>
      </font></p>
    <p><font face="serif"><br>
      </font></p>
    <p><font face="serif">Here is the kicker -- and my biggest
        recommendation.  PICK ONE and STICK WITH IT.  Each one will have
        a learning curve and each one has strengths and weaknesses.  For
        example, if you use Armadillo or the GSL, you may also find out
        that you have access to all kinds of linear algebra functions --
        but you have to use the methods in either package for defining
        vectors and matrices to utilize those packages.</font></p>
    <p><font face="serif"><br>
      </font></p>
    <pre class="moz-signature" cols="72">-- 
Andrew J. Pounds, Ph.D.  (<a class="moz-txt-link-abbreviated" href="mailto:pounds_aj@mercer.edu">pounds_aj@mercer.edu</a>)
Professor of Chemistry and Computer Science
Director of the Computational Science Program
Mercer University,  Macon, GA 31207   (478) 301-5627
</pre>
  </body>
</html>