Scilab Home Page | Wiki | Bug Tracker | Forge | Mailing List Archives | Scilab Online Help | File Exchange
ATOMS : Diffcode details
Login with GitLab

Diffcode

Automatic differentiation
(831 downloads for this version - 23944 downloads for all versions)
Details
Version
1.0
A more recent valid version exists: 1.3
Authors
DIGITEO - Michael Baudin
INRIA - Xavier Jonsson
INRIA - Serge Steer
Owner Organization
DIGITEO - INRIA
Maintainer
Michael BAUDIN
Categories
License
Dependencies
Creation Date
October 19, 2011
Source created on
Scilab 5.2.x
Binaries available on
Scilab 5.2.x:
Windows 64-bit Windows 32-bit Linux 64-bit Linux 32-bit macOS
Install command
--> atomsInstall("diffcode")
Description
            This toolbox enables Scilab code differentiation using operators and
primitive functions overloading.

Given a Scilab code computing a variable y depending on a variable x
and a direction dx it allow evaluation of y together with the
directional derivative Grad(y)*dx.

The module supports arithmetic operations, common elementary functions and
several matrix functions, including matrix inversion.

Type : 

help diffcode_overview

for a quick start.

Features
--------

The following is a list of the current functions :
 * diffcode_der -  Create a new code differentiation object.
 * diffcode_CDcost -  Objective function for optim.
 * diffcode_hessian — Compute the Hessian of the function.
 * diffcode_jacobian — Compute the Jacobian of the function.

            
Files (2)
[101.80 kB]
Source code archive

[194.64 kB]
OS-independent binary for Scilab 5.2.x
Binary version
Automatically generated by the ATOMS compilation chain

News (0)
Comments (2)     Leave a comment 
Comment -- October 20, 2011, 04:24:55 PM    
The v0 is correctly packaged. 
I checked this on Windows Vista and Scilab 5.3.2.

-->atomsInstall('diffcode')
 ans  = 
!diffcode  1.0-1  allusers  SCI\contrib\diffcode\1.0-1  I  !
-->atomsLoad('diffcode')
Start Diffcode
	Load macros
	Load help
	Load demos
	Type "help diffcode_overview" for quick start.
	Type "demo_gui()" and search for Diffcode for Demonstrations.
 ans  =
!diffcode  1.0-1  allusers  SCI\contrib\diffcode\1.0-1  !
-->atomsTest('diffcode')
   TMPDIR = C:\Users\baudin\AppData\Local\Temp\SCI_TMP_6992_

   001/020 - [SCI\contrib\diffcode\1.0-1] allFinDiffCheck..........passed 
   002/020 - [SCI\contrib\diffcode\1.0-1] allMixedTypeCheck........passed 
   003/020 - [SCI\contrib\diffcode\1.0-1] demo1....................passed 
   004/020 - [SCI\contrib\diffcode\1.0-1] demo2....................passed 
   005/020 - [SCI\contrib\diffcode\1.0-1] demo3....................passed 
   006/020 - [SCI\contrib\diffcode\1.0-1] demo4....................passed 
   007/020 - [SCI\contrib\diffcode\1.0-1] demo5....................failed  : premature end

of the test script 
   008/020 - [SCI\contrib\diffcode\1.0-1] demo6....................failed  : premature end

of the test script 
   009/020 - [SCI\contrib\diffcode\1.0-1] extractionInsertion......passed 
   010/020 - [SCI\contrib\diffcode\1.0-1] hessian..................passed 
   011/020 - [SCI\contrib\diffcode\1.0-1] jacobian.................passed 
   012/020 - [SCI\contrib\diffcode\1.0-1] minus....................passed 
   013/020 - [SCI\contrib\diffcode\1.0-1] mul......................passed 
   014/020 - [SCI\contrib\diffcode\1.0-1] plus.....................passed 
   015/020 - [SCI\contrib\diffcode\1.0-1] pow......................failed  : premature end

of the test script 
   016/020 - [SCI\contrib\diffcode\1.0-1] quickstart...............failed  : premature end

of the test script 
   017/020 - [SCI\contrib\diffcode\1.0-1] quote....................passed 
   018/020 - [SCI\contrib\diffcode\1.0-1] slash....................passed 
   019/020 - [SCI\contrib\diffcode\1.0-1] string...................passed 
   020/020 - [SCI\contrib\diffcode\1.0-1] sum......................passed 

There is a bug in the pow function, which is fixed in the v1.1.

Michaël Baudin
Comment -- October 20, 2011, 04:25:18 PM    
Here is the change log of the v1.0.


diffcode (v1.0)
  * Initial import.
  * Create startup scripts.
  * Updated help pages.
  * Updated demos.
  * Added copyright.
  * Renamed der into diffcode_der.
  * Renamed CDcost into diffcode_CDcost.
  * Changed type "der" to "TDFFCD"
  * Added unit tests.
  * Overloaded "string".
  * Added unit tests for quote, sum and sub.
  * Added elementwise pow: .^
  * Created diffcode_jacobian.
  * Created diffcode_hessian.
  * Created unit tests for +, -, *, /
  * Fixed code for /.
  * Added cross-check for +, -, *, /, \, .*, ./
  * Added cross-check for sin, cos, tan, exp, log.
    Added cross-check for asin, acos, atan.
    Draft of cross-check for asinh, acosh, atanh.
  * Removed diffcode_derv and diffcode_derdv 
    Fixed bug #544.
  * Updated help page of diffcode_der.
    Fixed bug #545.
  * Added test for det.
    Fixed bug in det.
  * Added test for <, >, ==, <>, <=, >=
  * Fixed bug in >, >=.
  * Fixed bug in ^
  * Added test for ^
  * Added test for '
  * Added test for .*.
  * Added test for extraction/insertion.
    Fixed bug in insertion.
Leave a comment
You must register and log in before leaving a comment.
Login with GitLab
Email notifications
Send me email when this toolbox has changes, new files or a new release.
You must register and log in before setting up notifications.