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 (&amp;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