You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by lu...@apache.org on 2008/04/15 15:27:25 UTC
svn commit: r648245 - in /commons/sandbox/nabla/trunk/src/site: ./ site.xml
xdoc/ xdoc/changes.xml xdoc/index.xml
Author: luc
Date: Tue Apr 15 06:27:17 2008
New Revision: 648245
URL: http://svn.apache.org/viewvc?rev=648245&view=rev
Log:
added skeleton documentation
(it's just a start)
Added:
commons/sandbox/nabla/trunk/src/site/
commons/sandbox/nabla/trunk/src/site/site.xml (with props)
commons/sandbox/nabla/trunk/src/site/xdoc/
commons/sandbox/nabla/trunk/src/site/xdoc/changes.xml (with props)
commons/sandbox/nabla/trunk/src/site/xdoc/index.xml (with props)
Added: commons/sandbox/nabla/trunk/src/site/site.xml
URL: http://svn.apache.org/viewvc/commons/sandbox/nabla/trunk/src/site/site.xml?rev=648245&view=auto
==============================================================================
--- commons/sandbox/nabla/trunk/src/site/site.xml (added)
+++ commons/sandbox/nabla/trunk/src/site/site.xml Tue Apr 15 06:27:17 2008
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project name="Nabla">
+ <bannerRight>
+ <name>Commons Nabla</name>
+ <href>/index.html</href>
+ </bannerRight>
+ <body>
+ <menu name="Nabla">
+ </menu>
+ </body>
+</project>
Propchange: commons/sandbox/nabla/trunk/src/site/site.xml
------------------------------------------------------------------------------
svn:eol-style = native
Added: commons/sandbox/nabla/trunk/src/site/xdoc/changes.xml
URL: http://svn.apache.org/viewvc/commons/sandbox/nabla/trunk/src/site/xdoc/changes.xml?rev=648245&view=auto
==============================================================================
--- commons/sandbox/nabla/trunk/src/site/xdoc/changes.xml (added)
+++ commons/sandbox/nabla/trunk/src/site/xdoc/changes.xml Tue Apr 15 06:27:17 2008
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<document>
+ <properties>
+ <title>Nabla Release Notes</title>
+ </properties>
+ <body>
+ <release version="1.0" date="TBD" description="TBD">
+ <action dev="luc" type="add">
+ Created sandbox component
+ </action>
+ </release>
+ </body>
+</document>
Propchange: commons/sandbox/nabla/trunk/src/site/xdoc/changes.xml
------------------------------------------------------------------------------
svn:eol-style = native
Added: commons/sandbox/nabla/trunk/src/site/xdoc/index.xml
URL: http://svn.apache.org/viewvc/commons/sandbox/nabla/trunk/src/site/xdoc/index.xml?rev=648245&view=auto
==============================================================================
--- commons/sandbox/nabla/trunk/src/site/xdoc/index.xml (added)
+++ commons/sandbox/nabla/trunk/src/site/xdoc/index.xml Tue Apr 15 06:27:17 2008
@@ -0,0 +1,61 @@
+<?xml version="1.0"?>
+
+<document>
+
+ <properties>
+ <title>Nabla: an automatic differentiator</title>
+ </properties>
+
+ <body>
+
+ <section name="Introduction" href="introduction">
+ <p>Nabla is an automatic differentiator for mathematical
+ functions. Just like the mathematical Nabla (&nabla;) operator
+ transform a function into its differential, the Nabla library
+ transforms an existing java object implementing a
+ function <code>double f(double) { ... }</code> into another java
+ object that in addition to computing the value of <code>f</code>
+ like the original one also computes its differential. The created
+ object implements differentiation using the classical exact
+ rules. There are no approximations and no step sizes.</p>
+
+ <p>This approach has the following benefits:</p>
+ <ul>
+ <li>differentiation is exact</li>
+ <li>there are no problem-dependent step size to handle</li>
+ <li>differentiation can be computed even at domains
+ boundaries</li>
+ <li>there is no special handling of source (no symbolic package
+ with its own language, no source code generation, no integration
+ with the rest of application)</li>
+ <li>one writes and maintains only the basic equation and get the
+ differential for free</li>
+ <li>it is effective even when source code is not available (but
+ there may be licensing issues in this case since what Nabla does
+ automatically is really ... derived work)</li>
+ </ul>
+
+ <p>The derivative instance is tightly bound to the base instance. So
+ if after Nabla has performed the transformation the base instance
+ is mutated outside of the scope of Nabla, the already produced
+ derivative instance will used this mutated state for its later
+ computation automatically.</p>
+
+ </section>
+ <section name="How ?" href="how">
+
+ <p>Basically, Nabla works by analyzing the bytecode of the
+ original object, transforming the arithmetic operations,
+ generating a new class on the fly with the transformed bytecode,
+ and instantiating it to generate the derivative object. This should
+ work for Java or for any program using the Java platform as its
+ execution environment.</p>
+
+ <p>The main drawback is that functions calling native code cannot
+ be handled. For these functions, a poor man implementation is
+ provided that use finite differences (with 2, 4, 6 or 8 points
+ schemes).</p>
+
+ </section>
+ </body>
+</document>
Propchange: commons/sandbox/nabla/trunk/src/site/xdoc/index.xml
------------------------------------------------------------------------------
svn:eol-style = native