Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1145/944705.944720acmconferencesArticle/Chapter ViewAbstractPublication PagesicfpConference Proceedingsconference-collections
Article

Functional automatic differentiation with dirac impulses

Published: 25 August 2003 Publication History

Abstract

Functional Reactive Programming (FRP) is a framework for reactive programming in a functional setting. FRP has been applied to a number of domains, such as graphical animation, graphical user interfaces, robotics, and computer vision. Recently, we have been interested in applying FRP-like principles to hybrid modeling and simulation of physical systems. As a step in that direction, we have extended an existing FRP implementation, Yampa, in two new ways that make it possible to express certain models in a very natural way, and reduces the amount of work needed to put modeling equations into a suitable form for simulation. First, we have added Dirac impulses that allow certain types of discontinuities to be handled in an easy yet rigorous manner. Second, we have adapted automatic differentiation to the setting of Yampa, and generalized it to work correctly with Dirac impulses. This allows derivatives of piecewise continuous signals to be well-defined at all points. This paper reviews the basic ideas behind automatic differentiation, in particular Jerzy Karczmarczuk's elegant version for a lazy functional language with overloading, and then considers the integration with Yampa and the addition of Dirac impulses.

References

[1]
Françcois E. Cellier. Object-oriented modelling: Means for dealing with system complexity. In Proceedings of the 15th Benelux Meeting on Systems and Control, Mierlo, The Netherlands, pages 53--64, 1996.]]
[2]
George F. Corliss. Automatic differentiation bibliography. In Andreas Griewank and George~F. Corliss, editors, Automatic Differentiation of Algorithms: Theory, Implementation, and Application, pages 331--353. SIAM, Philadelphia, Pennsylvania, USA, 1991. Updated on-line version: http://liinwww.ira.uka.de/bibliography/-Math/auto.diff.html]]
[3]
Antony Courtney and Conal Elliott. Genuinely functional user interfaces. In Proceedings of the 2001 ACM SIGPLAN Haskell Workshop, Firenze, Italy, September 2001.]]
[4]
Conal Elliott and Paul Hudak. Functional reactive animation. In Proceedings of ICFP'97: International Conference on Functional Programming, pages 163--173, June 1997.]]
[5]
Hilding Elmqvist, Françcois E. Cellier, and Martin Otter. Object-oriented modeling of hybrid systems. In Proceedings of ESS'93 European Simulation Symposium, pages xxxi--xli, Delft, The Netherlands, 1993.]]
[6]
G. Friedlander and M. Joshi. Introduction to the theory of distributions. Cambridge University Press, 1998.]]
[7]
Thomas A. Henzinger. The theory of hybrid automata. In Proceedings of the 11th Annual IEEE Symposium on Logics in Computer Science (LICS 1996), pages 278--292, 1996.]]
[8]
Paul Hudak, Antony Courtney, Henrik Nilsson, and John Peterson. Arrows, robots, and functional reactive programming. In Johan Jeuring and Simon Peyton~Jones, editors, Advanced Functional Programming, 4th International School 2002, volume 2638 of Lecture Notes in Computer Science, pages 159--187. Springer-Verlag, 2003.]]
[9]
John Hughes. Generalising monads to arrows. Science of Computer Programming, 37:67--111, May 2000.]]
[10]
Jerzy Karczmarczuk. Functional differentiation of computer programs. Higher-Order and Symbolic Computation, 14(1):35--57, March 2001.]]
[11]
John H. Mathews. Numerical methods for mathematics, science, and engineering. Prentice-Hall, 2nd edition edition, 1992.]]
[12]
Pieter J. Mosterman. An overview of hybrid simulation phenomena and their support by simulation packages. In Fritz W. Vaadrager and Jan H. van Schuppen, editors, Hybrid Systems: Computation and Control '99, number 1569 in Lecture Notes in Computer Science, pages 165--177, 1999.]]
[13]
Henrik Nilsson, Antony Courtney, and John Peterson. Functional reactive programming, continued. In Proceedings of the 2002 ACM SIGPLAN Haskell Workshop (Haskell'02), pages 51--64, Pittsburgh, Pennsylvania, USA, October 2002. ACM Press.]]
[14]
Henrik Nilsson, John Peterson, and Paul Hudak. Functional hybrid modeling. In Proceedings of PADL'03: 5th International Workshop on Practical Aspects of Declarative Languages, volume 2562 of Lecture Notes in Computer Science, pages 376--390, New Orleans, Lousiana, USA, January 2003. Springer-Verlag.]]
[15]
Ross Paterson. A new notation for arrows. In Proceedings of the 2001 ACM SIGPLAN International Conference on Functional Programming, pages 229--240, Firenze, Italy, September 2001.]]
[16]
Izzet Pembeci, Henrik Nilsson, and Greogory Hager. System presentation -- functional reactive robotics: An exercise in principled integration of domain-specific languages. In Principles and Practice of Declarative Programming (PPDP'02), pages 168--179, Pittsburgh, Pennsylvania, USA, October 2002.]]
[17]
John Peterson, Greg Hager, and Paul Hudak. A language for declarative robotic programming. In Proceedings of IEEE Conference on Robotics and Automation, May 1999.]]
[18]
John Peterson, Paul Hudak, Alastair Reid, and Greg Hager. FVision: A declarative language for visual tracking. In Proceedings of PADL'01: 3rd International Workshop on Practical Aspects of Declarative Languages, pages 304--321, January 2001.]]
[19]
Ian Richards and Heekyung Youn. Theory of distributions: a non-technical introduction. Cambridge University Press, 1990.]]

Cited By

View all

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
ICFP '03: Proceedings of the eighth ACM SIGPLAN international conference on Functional programming
August 2003
310 pages
ISBN:1581137567
DOI:10.1145/944705
  • cover image ACM SIGPLAN Notices
    ACM SIGPLAN Notices  Volume 38, Issue 9
    September 2003
    289 pages
    ISSN:0362-1340
    EISSN:1558-1160
    DOI:10.1145/944746
    Issue’s Table of Contents
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 25 August 2003

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. Dirac impulses
  2. FRP
  3. automatic differentiation
  4. distribution theory
  5. functional programming
  6. haskell
  7. hybrid modeling
  8. modeling languages
  9. synchronous dataflow languages

Qualifiers

  • Article

Conference

ICFP03
Sponsor:

Acceptance Rates

ICFP '03 Paper Acceptance Rate 24 of 95 submissions, 25%;
Overall Acceptance Rate 333 of 1,064 submissions, 31%

Upcoming Conference

ICFP '25
ACM SIGPLAN International Conference on Functional Programming
October 12 - 18, 2025
Singapore , Singapore

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)2
  • Downloads (Last 6 weeks)0
Reflects downloads up to 28 Dec 2024

Other Metrics

Citations

Cited By

View all
  • (2011)FPGA automatic re-synchronisation for pipelined, floating point control systems applicationsDesign Automation for Embedded Systems10.1007/s10617-011-9077-315:3-4(247-288)Online publication date: 1-Dec-2011
  • (2009)Beautiful differentiationACM SIGPLAN Notices10.1145/1631687.159657944:9(191-202)Online publication date: 31-Aug-2009
  • (2009)Beautiful differentiationProceedings of the 14th ACM SIGPLAN international conference on Functional programming10.1145/1596550.1596579(191-202)Online publication date: 31-Aug-2009
  • (2008)Nesting forward-mode AD in a functional frameworkHigher-Order and Symbolic Computation10.1007/s10990-008-9037-121:4(361-376)Online publication date: 1-Dec-2008
  • (2004)Plugging Haskell inProceedings of the 2004 ACM SIGPLAN workshop on Haskell10.1145/1017472.1017478(10-21)Online publication date: 22-Sep-2004
  • (2003)The Yampa arcadeProceedings of the 2003 ACM SIGPLAN workshop on Haskell10.1145/871895.871897(7-18)Online publication date: 28-Aug-2003
  • (2020)Cofree coalgebras and differential linear logicMathematical Structures in Computer Science10.1017/S096012952000013430:4(416-457)Online publication date: 10-Jun-2020
  • (2019)The MUSETECH ModelJournal on Computing and Cultural Heritage 10.1145/329771712:1(1-22)Online publication date: 20-Feb-2019
  • (2018)Co-SimulationACM Computing Surveys10.1145/317999351:3(1-33)Online publication date: 23-May-2018
  • (2018)Multimodal Deep Learning for Activity and Context RecognitionProceedings of the ACM on Interactive, Mobile, Wearable and Ubiquitous Technologies10.1145/31611741:4(1-27)Online publication date: 8-Jan-2018
  • Show More Cited By

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media