[go: up one dir, main page]
More Web Proxy on the site http://driver.im/ skip to main content
article
Free access

Principal values and branch cuts in complex APL

Published: 01 September 1981 Publication History

Abstract

Complex numbers are useful in science and engineering and, through analogy to the complex plane, in two-dimensional graphics, such as those for integrated-circuit layouts. The extension of APL to complex numbers requires many decisions. Almost all have been discussed in detail in a recent series of papers. One topic requiring further discussion is the choice of branch cuts and principal values for the primitive APL functions that require them. Conventional mathematical notation and the experience of other computer languages are of only moderate help. For example, one cannot find in the mathematics or computer-science literature a definitive value for the principal value of the arcsin of 3. The extension of APL to the complex domain presents a unique opportunity to define a set of choices that will best serve APL and other languages. This paper recommends locations of all branch cuts, directions of continuity of the branch cuts, and values at the branch points. It also recommends that comparison tolerance be used in the selection of principal values. The results apply to APL, other languages, applications packages, and VLSI hardware for complex calculations.

References

[1]
P. Penfield Jr., "Notation for Complex 'Part' Functions," APL Quote Quad, vol. 8, no. 1, pp. 11-13; September, 1977.]]
[2]
P. Penfield Jr., "Extension of APL Primitive Functions to the Complex Domain," APL Quote Quad, vol. 8, no. 2, pp. 36-43; December, 1977.]]
[3]
P. Penfield Jr., "Design Choices for Complex APL," APL Quote Quad, vol. 8, no. 3, pp. 8-15; March, 1978.]]
[4]
P. Penfield Jr., "Complex APL—Comments from the APL Community," APL Quote Quad, vol. 9, no. 1, pp. 6-10; September, 1978.]]
[5]
P. Penfield Jr., "Proposal for a Complex APL," APL Quote Quad, vol. 9, no. 4, pp. 47-53; June, 1979.]]
[6]
E. E. McDonnell, "The Story of o", APL Quote Quad, vol. 8, no. 2, pp. 48-54; December, 1977.]]
[7]
H. H. Aiken, J. A. Harr, and Staff of the Computation Laboratory of Harvard University, "Tables of the Function are sin z," Harvard University Press, Cambridge, Mass.; 1956.]]
[8]
E. E. McDonnell, D. L. Forkes, and K. E. Iverson, private communication; May, 1981.]]
[9]
E. T. Whittaker and G. N. Watson, "A Course of Modern Analysis," Cambridge University Press; 1940.]]
[10]
M. Abramowitz and I. A. Stegun, "Handbook of Mathematical Functions," National Bureau of Standards, Applied Mathematics Series, no. 55; June, 1964.]]
[11]
I. S. Sokolnikoff and R. M. Redheffer, "Mathematics of Physics and Modern Engineering," McGraw-Hill Book Co., New York, N. Y., Second edition; 1966.]]
[12]
E. Hille, "Analytic Function Theory," vol. I, Ginn and Co., Boston, Mass.; 1959.]]
[13]
A. E. Danese, "Advanced Calculus," vol. I, Allyn and Bacon, Inc., Boston, Mass.; 1965.]]
[14]
G. Sansone and J. Gerretsen, "Lectures on the Theory of Functions of a Complex Variable," P. Noordhoff, Ltd., Groningen, The Netherlands; 1960.]]
[15]
F. B. Hildebrand, "Advanced Calculus for Applications," Prentice-Hall, Inc., Englewood Cliffs, N. J.; 1962.]]
[16]
International Business Machines Corporation, "IBM System/360 Operating System, FORTRAN IV Library—Mathematical and Service Subprograms," Manual GC28-6818-1, Second Edition, IBM Corporation, New York, N. Y.; September, 1972.]]
[17]
J. R. Herndon, "Algorithm 48, Logarithm of a Complex Number," Communications of the ACM, vol. 4, no. 4, p. 179; April, 1961.]]
[18]
A. P. Relph, "Certification of Algorithm 48, Logarithm of a Complex Number," Communications of the ACM, vol. 5, no. 6, p. 347; June, 1962.]]
[19]
M. L. Johnson and W. Sangren, "Remark on Algorithm 48, Logarithm of a Complex Number," Communications of the ACM, vol. 5, no. 7, p. 391; July, 1962.]]
[20]
D. S. Collens, "Remark on Remarks on Algorithm 48, Logarithm of a Complex Number," Communications of the ACM, vol. 7, no. 8, p. 485; August, 1964.]]
[21]
D. S. Collens, "Algorithm 243, Logarithm of a Complex Number {B3}, Rewrite of Algorithm 48," Communications of the ACM, vol. 7, no. 11, p. 660; November, 1964.]]
[22]
C. Wiedmann, private communication; March, 1981.]]
[23]
P. Wynn, "An Arsenal of Algol Procedures for Complex Arithmetic," BIT, vol. 2, no. 4, pp. 232-255; 1962.]]
[24]
G. A. Korn and T. M. Korn, "Mathematical Handbook for Scientists and Engineers," McGraw-Hill Book Co., Inc., New York, N. Y., Second edition; 1968.]]
[25]
D. L. Orth, private communication; June 8, 1981.]]

Cited By

View all
  • (2016)Matrix Inverse Trigonometric and Inverse Hyperbolic Functions: Theory and AlgorithmsSIAM Journal on Matrix Analysis and Applications10.1137/16M105757737:4(1453-1477)Online publication date: Jan-2016
  • (1993)Handling of Complex Numbers in the $C^H$ Programming LanguageScientific Programming10.1155/1993/4271602:3(77-106)Online publication date: 1-Aug-1993
  • (1991)Revised4 report on the algorithmic language schemeACM SIGPLAN Lisp Pointers10.1145/382130.382133IV:3(1-55)Online publication date: 1-Jul-1991
  • Show More Cited By

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM SIGAPL APL Quote Quad
ACM SIGAPL APL Quote Quad  Volume 12, Issue 1
September 1981
354 pages
ISSN:0163-6006
DOI:10.1145/390007
Issue’s Table of Contents

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 01 September 1981
Published in SIGAPL Volume 12, Issue 1

Check for updates

Qualifiers

  • Article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)105
  • Downloads (Last 6 weeks)17
Reflects downloads up to 26 Dec 2024

Other Metrics

Citations

Cited By

View all
  • (2016)Matrix Inverse Trigonometric and Inverse Hyperbolic Functions: Theory and AlgorithmsSIAM Journal on Matrix Analysis and Applications10.1137/16M105757737:4(1453-1477)Online publication date: Jan-2016
  • (1993)Handling of Complex Numbers in the $C^H$ Programming LanguageScientific Programming10.1155/1993/4271602:3(77-106)Online publication date: 1-Aug-1993
  • (1991)Revised4 report on the algorithmic language schemeACM SIGPLAN Lisp Pointers10.1145/382130.382133IV:3(1-55)Online publication date: 1-Jul-1991
  • (2020)APL since 1978Proceedings of the ACM on Programming Languages10.1145/33863194:HOPL(1-108)Online publication date: 12-Jun-2020
  • (2003)BibliographyJournal of Functional Programming10.1017/S095679680300301013:1(241-255)Online publication date: 1-Jan-2003
  • (1998)Revised Report on the Algorithmic Language SchemeHigher-Order and Symbolic Computation10.1023/A:101005181578511:1(7-105)Online publication date: 1-Aug-1998
  • (1993)Complex Gaussian integers for “Gaussian graphics”ACM SIGPLAN Notices10.1145/165564.16557128:11(22-27)Online publication date: 1-Nov-1993
  • (1992)Report on the programming language HaskellACM SIGPLAN Notices10.1145/130697.13069927:5(1-164)Online publication date: 1-May-1992
  • (1991)Rationale for the proposed standard for a generic package of complex elementary functionsACM SIGAda Ada Letters10.1145/123533.123545XI:7(166-179)Online publication date: 2-Sep-1991
  • (1991)Proposed standard for a generic package of complex elementary functionsACM SIGAda Ada Letters10.1145/123533.123544XI:7(140-165)Online publication date: 2-Sep-1991
  • Show More Cited By

View Options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Login options

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media