Skip to content
This repository has been archived by the owner on Oct 10, 2022. It is now read-only.

Commit

Permalink
Merge pull request #30 from ScientificC/development
Browse files Browse the repository at this point in the history
Updated docs
  • Loading branch information
ulises-jeremias authored Jan 13, 2019
2 parents ee6a54b + 1bf12dc commit db09e34
Show file tree
Hide file tree
Showing 6 changed files with 22 additions and 115 deletions.
37 changes: 0 additions & 37 deletions docs/source/complex.rst
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,6 @@
Complex Numbers
***************

The functions described in this chapter provide support for complex
numbers. The algorithms take care to avoid unnecessary intermediate
underflows and overflows, allowing the functions to be evaluated over
as much of the complex plane as possible.

.. FIXME: this still needs to be
.. done for the csc, sec, cot, csch, sech, coth functions
Expand Down Expand Up @@ -436,35 +431,3 @@ Inverse Complex Hyperbolic Functions

This function returns the complex hyperbolic arccotangent of the complex
number :data:`z`, :math:`\arccoth(z) = \arctanh(1/z)`.

References and Further Reading
==============================

The implementations of the elementary and trigonometric functions are
based on the following papers,

* T. E. Hull, Thomas F. Fairgrieve, Ping Tak Peter Tang,
"Implementing Complex Elementary Functions Using Exception
Handling", ACM Transactions on Mathematical Software, Volume 20
(1994), pp 215--244, Corrigenda, p553

* T. E. Hull, Thomas F. Fairgrieve, Ping Tak Peter Tang,
"Implementing the complex arcsin and arccosine functions using exception
handling", ACM Transactions on Mathematical Software, Volume 23
(1997) pp 299--335

The general formulas and details of branch cuts can be found in the
following books,

* Abramowitz and Stegun, Handbook of Mathematical Functions,
"Circular Functions in Terms of Real and Imaginary Parts", Formulas
4.3.55--58,
"Inverse Circular Functions in Terms of Real and Imaginary Parts",
Formulas 4.4.37--39,
"Hyperbolic Functions in Terms of Real and Imaginary Parts",
Formulas 4.5.49--52,
"Inverse Hyperbolic Functions---relation to Inverse Circular Functions",
Formulas 4.6.14--19.

* Dave Gillespie, Calc Manual, Free Software Foundation, ISBN
1-882114-18-3
11 changes: 1 addition & 10 deletions docs/source/const.rst
Original file line number Diff line number Diff line change
Expand Up @@ -8,12 +8,7 @@
Physical Constants
******************

This chapter describes macros for the values of physical constants, such
as the speed of light, :math:`c`, and gravitational constant, :math:`G`.
The values are available in different unit systems, including the
standard MKSA system (meters, kilograms, seconds, amperes) and the CGSM
system (centimeters, grams, seconds, gauss), which is commonly used in
Astronomy.
This module is inspired by the constants module present in GSL.

The full list of constants is described briefly below. Consult the
header files themselves for the values of the constants used in the
Expand Down Expand Up @@ -634,7 +629,3 @@ the NIST website.
* P.J. Mohr, B.N. Taylor, D.B. Newell, "CODATA Recommended
Values of the Fundamental Physical Constants: 2006", Reviews of
Modern Physics, 80(2), pp. 633--730 (2008).

* http://www.physics.nist.gov/cuu/Constants/index.html

* http://physics.nist.gov/Pubs/SP811/appenB9.html
13 changes: 5 additions & 8 deletions docs/source/diff.rst
Original file line number Diff line number Diff line change
Expand Up @@ -10,9 +10,12 @@ Numerical Differentiation
*************************

The functions described in this chapter compute numerical derivatives by
finite differencing. An adaptive algorithm is used to find the best
finite differencing. An adaptive algorithm is used to find the best
choice of finite difference and to estimate the error in the derivative.

Again, the development of this module is inspired by the same present in GSL
looking to adapt it completely to the practices and tools present in CML.

The functions described in this chapter are declared in the header
file :file:`cml/deriv.h`.

Expand Down Expand Up @@ -88,10 +91,4 @@ Here is the output of the program,
References and Further Reading
==============================

The algorithms used by these functions are described in the following sources:

* Abramowitz and Stegun, *Handbook of Mathematical Functions*,
Section 25.3.4, and Table 25.5 (Coefficients for Differentiation).

* S.D. Conte and Carl de Boor, *Elementary Numerical Analysis: An
Algorithmic Approach*, McGraw-Hill, 1972.
This work is a spiritual descendent of the Differentiation module in GSL.
23 changes: 1 addition & 22 deletions docs/source/ieee754.rst
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,7 @@
IEEE floating-point arithmetic
******************************

This chapter describes functions for examining the representation of
floating point numbers and controlling the floating point environment of
your program. The functions described in this chapter are declared in
The functions described in this chapter are declared in
the header file :file:`cml/ieee.h`.

.. index::
Expand Down Expand Up @@ -218,22 +216,3 @@ References and Further Reading
The reference for the IEEE standard is,

* ANSI/IEEE Std 754-1985, IEEE Standard for Binary Floating-Point Arithmetic.

A more pedagogical introduction to the standard can be found in the
following paper,

* David Goldberg: What Every Computer Scientist Should Know About
Floating-Point Arithmetic. *ACM Computing Surveys*, Vol.: 23, No.: 1
(March 1991), pages 5--48.

* Corrigendum: *ACM Computing Surveys*, Vol.: 23, No.: 3 (September
1991), page 413. and see also the sections by B. A. Wichmann and Charles
B. Dunham in Surveyor's Forum: "What Every Computer Scientist Should
Know About Floating-Point Arithmetic". *ACM Computing Surveys*,
Vol.: 24, No.: 3 (September 1992), page 319.

A detailed textbook on IEEE arithmetic and its practical use is
available from SIAM Press,

* Michael L. Overton, *Numerical Computing with IEEE Floating Point Arithmetic*,
SIAM Press, ISBN 0898715717.
42 changes: 9 additions & 33 deletions docs/source/intro.rst
Original file line number Diff line number Diff line change
Expand Up @@ -6,20 +6,16 @@
Introduction
************

The C Math Library (CML) is a collection of routines for
numerical computing. The routines have been written from scratch in C,
and present a modern Applications Programming Interface
(API) for C programmers, allowing wrappers to be written for very
high level languages. The source code is distributed under the MIT License.

In summary, CML is a pure mathematical C library with a wide variety of
The C Math Library (CML) is a pure mathematical C library with a wide variety of
mathematical functions that seeks to be close to complying with
ANSI C for portability. It is free software under the MIT License.
ANSI C for portability. It's a collection of routines for
numerical computing written from scratch in C. The routines
present a modern API for C programmers, allowing wrappers to be written for very
high level languages. It is free software under the MIT License.

Routines available in CML
=========================

The library covers a wide range of topics in numerical computing.
Routines are available for the following areas,

=========================== =========================== ===========================
Expand All @@ -29,27 +25,7 @@ IEEE Floating-Point Physical Constants Easing Functions
Statistics Blocks Vectors and Matrices
=========================== =========================== ===========================

The use of these routines is described in this manual. Each chapter
provides detailed definitions of the functions, followed by example
programs and references to the articles on which the algorithms are
based.

Conventions used in this manual
===============================

.. index::
single: dollar sign $, shell prompt

This manual contains many examples which can be typed at the keyboard.
A command entered at the terminal is shown like this::

$ command

The first character on the line is the terminal prompt, and should not
be typed. The dollar sign $ is used as the standard prompt in
this manual, although some systems may use a different character.

The examples assume the use of the GNU operating system. There may be
minor differences in the output on other systems. The commands for
setting environment variables use the Bourne shell syntax of the
standard GNU shell (:code:`bash`).
Each chapter of this manual
provides detailed definitions of the functions, followed by examples
and references to the articles and other resources on which the
algorithms are based.
11 changes: 6 additions & 5 deletions docs/source/math.rst
Original file line number Diff line number Diff line change
Expand Up @@ -6,10 +6,11 @@
Mathematical Functions
**********************

This chapter describes basic mathematical functions. Some of these
functions are present in system libraries, but the alternative versions
given here can be used as a substitute when the system functions are not
available.
For the development of this module, the functions present in many of the system
libraries are taken as reference with the idea of offering them in CML as an
option for when they are not present.

This chapter describes basic mathematical functions.

The functions and macros described in this chapter are defined in the
header file :file:`cml/math.h`.
Expand Down Expand Up @@ -235,7 +236,7 @@ application (see :ref:`portability-functions`).
.. index:: trigonometric functions

Trigonometric Functions
===============================
=======================

.. index::
single: sine
Expand Down

0 comments on commit db09e34

Please sign in to comment.