Abstract

This work introduces a novel algorithm that automatically produces computer code for the calculation of sparse symbolical Jacobian matrices. More precisely, given the code for computing a function f depending on a set of state (independent) variables x, where the code makes use of intermediate algebraic (auxiliary) variables a(x), the algorithm automatically produces the code for the symbolic computation of the matrix J=∂f/∂x in sparse representation.A remarkable feature of the algorithm developed is that it can deal with iterative definitions of the functions preserving the iterative representation during the whole process up to the final Jacobian computation code. That way, in presence of arrays of functions and variables, the computational cost of the code generation and the length of the generated code does not depend on the size of those arrays. This feature is achieved making use of Set–Based Graph representation.The main application of the algorithm is the simulation of large scale dynamical systems with implicit Ordinary Differential Equation (ODE) solvers like CVODE-BDF, whose performance are greatly improved when they are invoked using a sparse Jacobian matrix. However, the algorithm can be used in a more general context for solving large systems of nonlinear equations.The paper, besides introducing the algorithm, discusses some aspects of its implementation in a general purpose ODE solver front-end and analyzes some results obtained.

Full Text
Paper version not known

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call

Disclaimer: All third-party content on this website/platform is and will remain the property of their respective owners and is provided on "as is" basis without any warranties, express or implied. Use of third-party content does not indicate any affiliation, sponsorship with or endorsement by them. Any references to third-party content is to identify the corresponding services and shall be considered fair use under The CopyrightLaw.