-
Notifications
You must be signed in to change notification settings - Fork 4
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
10a3dd1
commit 7d15105
Showing
2 changed files
with
104 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,28 @@ | ||
Copyright (C) 1996-2006 Ole Stauning ([email protected]) | ||
All rights reserved. | ||
|
||
This code is provided "as is", without any warranty of any kind, | ||
either expressed or implied, including but not limited to, any implied | ||
warranty of merchantibility or fitness for any purpose. In no event | ||
will any party who distributed the code be liable for damages or for | ||
any claim(s) by any other party, including but not limited to, any | ||
lost profits, lost monies, lost data or data rendered inaccurate, | ||
losses sustained by third parties, or any other special, incidental or | ||
consequential damages arising out of the use or inability to use the | ||
program, even if the possibility of such damages has been advised | ||
against. The entire risk as to the quality, the performance, and the | ||
fitness of the program for any particular purpose lies with the party | ||
using the code. | ||
|
||
This code, and any derivative of this code, may not be used in a | ||
commercial package without the prior explicit written permission of | ||
the authors. Verbatim copies of this code may be made and distributed | ||
in any medium, provided that this copyright notice is not removed or | ||
altered in any way. No fees may be charged for distribution of the | ||
codes, other than a fee to cover the cost of the media and a | ||
reasonable handling fee. | ||
|
||
*************************************************************** | ||
ANY USE OF THIS CODE CONSTITUTES ACCEPTANCE OF THE TERMS OF THE | ||
COPYRIGHT NOTICE | ||
*************************************************************** |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,76 @@ | ||
|
||
FADBAD++ Templates for Automatic Differentiation | ||
================================================ | ||
|
||
FADBAD++ defines C++ templates for performing automatic differentiation | ||
of functions implemented as C/C++ programs. Three types of automatic | ||
differentiation has been implemented. The forward and the backward methods | ||
are implemented to compute first order derivatives and the Taylor expansion | ||
method is implemented to compute Taylor series expansion. | ||
All templates are flexible in the way that the arithmetic used in as | ||
template-arguments can be chosen by the user. This way differentiation of | ||
programs, based on any arithmetic such as: double, interval, multiprecision | ||
etc. is possible. This flexibility also makes it possible to perform automatic | ||
differentiation on a program which itself uses automatic differentiation. | ||
All three methods can be mixed in an application and the user can obtain | ||
derivatives using the most optimal combination of methods for the application. | ||
|
||
APPLICATIONS: | ||
|
||
* Forward automatic differentiation on a function f : R^n->R^n, evaluated | ||
in interval arithmetics, using the BIAS/PROFIL package, to obtain function | ||
values and derivatives. Used with the interval Newton method to obtain | ||
guarenteed enlosures of all solutions to the nonlinear equation f(x)=0. | ||
|
||
* Forward-Backward automatic differentiation on a function f : R^n->R, | ||
evaluated in interval arithmetics, using the BIAS/PROFIL package and the | ||
backward method to obtain first order derivatives (the gradient) and the | ||
forward method to differentiate the first order derivatives to obtain the | ||
second order derivatives (the Hessian). Used with the interval Krawczyk | ||
method to perform global optimization obtaining a guarenteed enclosure of | ||
the global minimum. | ||
|
||
* Numerical integration of a function f : RxR^n->R, using a | ||
three-point-two-derivative formula. The Backward method has been used to | ||
differentiate the Numerical integration program obtaining the n partial | ||
derivatives of the integral with respect to the n parameters in the | ||
function. | ||
|
||
* Taylor expansion of the solution to an ordinary differential equation, | ||
used to solve initial value problems. The Forward method has been used to | ||
differentiate the initial value problem solver to obtain the solution of | ||
the variational problem. | ||
|
||
* Taylor expansion of the solution to an ordinary differential equation | ||
using interval arithmetics and using the Forward method to obtain | ||
derivatives of the Taylor coefficients with respect to the point of | ||
expansion, which are the values of the Taylor coefficients for the | ||
solution of the variational problem. Used in a method which solves initial | ||
value problems with guaranteed enclosures. | ||
|
||
LICENSING: | ||
|
||
FADBAD++ is distributed under the dual licensing business model similer to the | ||
model used by MySQL, Trolltech and Sleepycat. In return for the advantages you | ||
realize from using FADBAD++ in your application, we require that you do one of | ||
the following: | ||
|
||
* Either: Contribute to the continued development of the product by | ||
purchasing commercial licenses from the authors. This option secures you | ||
the right to distribute your application under the license terms of your | ||
choice. | ||
|
||
* Or: Contribute to the Open Source community by placing your application | ||
under an Open Source license (e.g. the GPL). This option secures all users | ||
the rights to obtain the application's full source code, modify it, and | ||
redistribute it. | ||
|
||
Contact the authors if you want to obtain a commercial licence or if you are | ||
unsure about what license to use <[email protected]>. | ||
|
||
More information about automatic differentiation in general and source code | ||
for FADBAD++ with documentation can be obtained from the FADBAD++ homepage: | ||
|
||
http://www.fadbad.com | ||
|
||
|