casa  $Rev:20696$
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
Mathematics.h
Go to the documentation of this file.
00001 //# Mathematics.h: Module header for Mathematical operations
00002 //# Copyright (C) 1995,1996,1997,1998,1999
00003 //# Associated Universities, Inc. Washington DC, USA.
00004 //#
00005 //# This library is free software; you can redistribute it and/or modify it
00006 //# under the terms of the GNU Library General Public License as published by
00007 //# the Free Software Foundation; either version 2 of the License, or (at your
00008 //# option) any later version.
00009 //#
00010 //# This library is distributed in the hope that it will be useful, but WITHOUT
00011 //# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
00012 //# FITNESS FOR A PARTICULAR PURPOSE.  See the GNU Library General Public
00013 //# License for more details.
00014 //#
00015 //# You should have received a copy of the GNU Library General Public License
00016 //# along with this library; if not, write to the Free Software Foundation,
00017 //# Inc., 675 Massachusetts Ave, Cambridge, MA 02139, USA.
00018 //#
00019 //# Correspondence concerning AIPS++ should be addressed as follows:
00020 //#        Internet email: aips2-request@nrao.edu.
00021 //#        Postal address: AIPS++ Project Office
00022 //#                        National Radio Astronomy Observatory
00023 //#                        520 Edgemont Road
00024 //#                        Charlottesville, VA 22903-2475 USA
00025 //#
00026 //# $Id: Mathematics.h 20670 2009-07-10 01:43:43Z Malte.Marquarding $
00027 
00028 #ifndef SCIMATH_MATHEMATICS_H
00029 #define SCIMATH_MATHEMATICS_H
00030 
00031 #include <casa/BasicSL/Complex.h>
00032 #include <casa/BasicSL/Constants.h>
00033 #include <scimath/Mathematics/Convolver.h>
00034 #include <scimath/Mathematics/FFTPack.h>
00035 #include <scimath/Mathematics/FFTServer.h>
00036 #include <casa/BasicMath/Math.h>
00037 #include <scimath/Mathematics/NumericTraits.h>
00038 #include <casa/BasicMath/Random.h>
00039 
00040 namespace casa { //# NAMESPACE CASA - BEGIN
00041 
00042 // <module>
00043 
00044 // <summary> Mathematical types, constants, operations </summary>
00045 
00046 // <prerequisite>
00047 // <li> At least high school (and preferably undergraduate
00048 // level) understanding of mathematics.
00049 // </prerequisite>
00050 
00051 // <reviewed reviewer="UNKNOWN" date="before2004/08/25" demos="">
00052 // </reviewed>
00053 
00054 // <etymology> 
00055 // Mathematicians may argue that everything is mathematics, and hence all of
00056 // AIPS++ should be in this module. However this module will only contain
00057 // core mathematical operations that are independent of astronomical
00058 // applications. 
00059 // </etymology>
00060 
00061 // <synopsis>
00062 
00063 // The Mathematics module has a variety of mathematical classes and functions.
00064 // Not all numerical operations are found herein. Very complicated operations
00065 // might be in their own module. such as deconvolution.
00066 // Many whole array operations
00067 // are in the <linkto file="ArrayMath.h">ArrayMath</linkto> global functions
00068 // (part of the <linkto module="Arrays">Arrays</linkto> module). Mathematical
00069 // operations on Lattices are found in the <linkto
00070 // module="Lattices">Lattices</linkto> module. A wide variety of special
00071 // Mathematical functions is planned for the <linkto
00072 // module="Functionals">Functionals</linkto> module.
00073 //
00074 // The classes presently in this module fall into the following categories:
00075 // <ul>
00076 // <li> A wrapper around the system math.h functions called 
00077 //      <linkto file="Math.h">Math.h</linkto>. This contains generic
00078 //      mathematical functions. It is required that you always include this
00079 //      file rather than the system math.h file as deficiencies in the system
00080 //      math.h file will be implemented here.
00081 // <li> <linkto file=NumericTraits.h>Relationships</linkto>
00082 //      between different numerical data types.
00083 // <li> Multi-dimensional Fourier transforms are done in the 
00084 //      <linkto class="FFTServer">FFTServer</linkto> class.  This decomposes
00085 //      the transforms into a one-dimensional transforms which are done using
00086 //      the functions in the <linkto class="FFTPack">FFTPack</linkto>
00087 //      class. The FFTPack class also contains functions for doing
00088 //      one-dimensional sine, cosine, and real-symmetric transforms.
00089 // <li> Numerical <linkto class="Convolver">Convolution</linkto> 
00090 //      (both linear and circular) of multi-dimensional Arrays.
00091 // <li> <linkto file="Random.h">Random</linkto> numbers in a wide 
00092 //      variety of distributions. 
00093 // <li> Interpolation in one dimension is performed by the 
00094 //      <linkto class="Interpolate1D">Interpolate1D</linkto> class in 
00095 //      the <linkto module="Functionals">Functionals</linkto> module
00096 // </ul>
00097 // </synopsis>
00098 
00099 // </module>
00100 
00101 
00102 } //# NAMESPACE CASA - END
00103 
00104 #endif