AMOR

 

Branch Detection and Sparsity Estimation in Matlab 

Marina Menshikova and Shaun Forth

Presented at  
6th European Workshop on Automatic Differentiation, Nov 15-16 2007, INRIA Sophia-Antipolis, France


Abstract 
Some computations performed by automatic differentiation can be performed more effectively if we can be assured that the control flow of the program does not change from one call of the program to the next. This is the case with: uncertainty estimation via Taylor series, Jacobian sparsity estimation, or reverse mode AD implemented via taping. We present an overloaded branch detection algorithm for the MAD package for AD in Matlab that enables one to automatically check whether any relational operators are evaluated and/or whether their evaluation changes from one call of the program to the next. In the absence of the control-flow analysis facilitated by source-transformation, detection of relational operators is taken to indicate the presence of a branch in the program and hence potential changes in control flow. We further present a sparsity detection class for MAD which gives tight overestimates of Jacobian sparsity patterns even in the presence of program computations involving sparse matrices. The sparsity patterns may then be used for Jacobian compression.

Download
PDF:
mmsaf_euroadinria07.pdf

AMOR home