Understanding branch cuts of expressions

Matthew England, Russell Bradford, James H Davenport, David Wilson

Research output: Chapter or section in a book/report/conference proceedingChapter in a published conference proceeding

12 Citations (SciVal)
599 Downloads (Pure)


We assume some standard choices for the branch cuts of a group of functions and consider the problem of then calculating the branch cuts of expressions involving those functions. Typical examples include the addition formulae for inverse trigonometric functions. Understanding these cuts is essential for working with the single-valued counterparts, the common approach to encoding multi-valued functions in computer algebra systems. While the defining choices are usually simple (typically portions of either the real or imaginary axes) the cuts induced by the expression may be surprisingly complicated. We have made explicit and implemented techniques for calculating the cuts in the computer algebra programme Maple. We discuss the issues raised, classifying the different cuts produced. The techniques have been gathered in the BranchCuts package, along with tools for visualising the cuts. The package is included in Maple 17 as part of the FunctionAdvisor tool.
Original languageEnglish
Title of host publicationIntelligent Computer Mathematics
Subtitle of host publicationMKM, Calculemus, DML, and Systems and Projects 2013, Held as Part of CICM 2013, Bath, UK, July 8-12, 2013. Proceedings
EditorsJacques Carette, David Aspinall, Christoph Lange, Petr Sojka, Wolfgang Windsteiger
Place of PublicationBerlin
Number of pages16
ISBN (Electronic)9783642393204
ISBN (Print)9783642393198
Publication statusPublished - 2013
EventConferences on Intelligent Computer Mathematics: CICM 2013 - Bath, UK United Kingdom
Duration: 7 Jul 201311 Jul 2013

Publication series

NameLecture Notes in Computer Science
ISSN (Print)0302-9743


ConferenceConferences on Intelligent Computer Mathematics: CICM 2013
Country/TerritoryUK United Kingdom

Bibliographical note

The functionality described in the paper is built into Maple, version 17 and above, where it is used by default for queries to the FunctionAdvisor. The code provided here (in the .mpl file) offers users of earlier versions some of the functionality. It is designed for use in Maple 16 and may also work with those earlier versions which still contain the FunctionAdvisor.

For information on working with the code see the Appendix of the paper, the help in Maple 17 and the introductory worksheet provided here (the .mw file).


  • branch cuts
  • symbolic computation
  • simplification


Dive into the research topics of 'Understanding branch cuts of expressions'. Together they form a unique fingerprint.

Cite this