Cited by 5,440

The DOI matches its Crossref record.

Julia: A Fresh Approach to Numerical Computing

Bezanson, Jeff, Edelman, Alan, Karpinski, Stefan, Shah, Viral B.·2017·SIAM Review

Abstract

Bridging cultures that have often been distant, Julia combines expertise from the diverse fields of computer science and computational science to create a new approach to numerical computing. Julia is designed to be easy and fast and questions notions generally held to be “laws of nature" by practitioners of numerical computing: \beginlist \item High-level dynamic programs have to be slow. \item One must prototype in one language and then rewrite in another language for speed or deployment. \item There are parts of a system appropriate for the programmer, and other parts that are best left untouched as they have been built by the experts. \endlist We introduce the Julia programming language and its design---a dance between specialization and abstraction. Specialization allows for custom treatment. Multiple dispatch, a technique from computer science, picks the right algorithm for the right circumstance. Abstraction, which is what good computation is really about, recognizes what remains the same after differences are stripped away. Abstractions in mathematics are captured as code through another technique from computer science, generic programming. Julia shows that one can achieve machine performance without sacrificing human convenience.

Overview

The claims and statistics of this paper haven’t been checked yet.

Run the check — free, no account needed. It reads the open-access text and checks the sources it cites.

A few free checks a day · papers already verified open instantly · results are public

Integrity signals

Registry

Crossref · 10.1137/141000671

Cites

Statistics

Verification

Claims the paper makes

The claims and statistics of this paper haven’t been checked yet.

Run the check — free, no account needed. It reads the open-access text and checks the sources it cites.

A few free checks a day · papers already verified open instantly · results are public

Claims other papers make about this one

Each is checked against this paper’s own text: does it say what the citing paper says it does?

  • Increasingly, circuit theory-based analyses are being conducted on larger and more complex datasets through recent advances in open-source software, programming, and cluster- or cloud-based computing resources.

    “Increasingly, circuit theory-based analyses are being conducted on larger and more complex datasets through recent advances in open-source software (e.g., gflow; Leonard et al. 2017b), programming (e.g., the Julia numerical computing language; Bezanson et al. 2017), and cluster- or cloud-based computing resources.”

    From Circuit‐theory applications to connectivity science and conservation (2019) · cites this paper as Bezanson et al. 2017

  • A long-term partnership to improve Circuitscape supported rapid growth in the tool's use and helped inspire the Julia programming language.

    “Here, we describe how a long-term partnership to improve Circuitscape supported rapid growth in the tool's use, and also helped inspire a new high-performance programming language called Julia [32,33], which is now empowering the most recent Circuitscape release.”
  • Circuitscape was recently updated by migrating it from Python to the Julia programming language.

    “We recently updated Circuitscape [34], a widely used, open-source connectivity analysis software package, by migrating it from Python [35] to the Julia programming language [33].”
  • Omniscape.jl is written in the Julia programming language to be fast, scalable, and easy-to-use.

    “It is written in the Julia programming language (Bezanson et al., 2017) to be fast, scalable, and easy-to-use.”

    From Omniscape.jl: software to compute omnidirectional landscape connectivity (2021) · cites this paper as Bezanson et al., 2017

  • The Julia programming language was first publicly released in 2012, is still in rapid development, and was in part inspired by Shah's experience collaborating with McRae to create a powerful yet accessible tool for biodiversity conservation applications.

    “First publicly released in 2012, the Julia programming language is still in rapid development [32,33] and was, in part, inspired by Shah's experience collaborating with McRae to create a powerful yet accessible tool for biodiversity conservation applications.”

Self-check

Percentages, sums and reported differences re-computed from the paper’s own numbers.

The self-check needs the paper’s full text.

Citations

Cites

No references could be resolved yet.

Research works printed but not linked: 22

  1. E. Anderson, Z. Bai, C. Bischof, S. Blackford, J. Demmel, J. Dongarra, J. Du Croz, A. Greenbaum, S. Hammarling, A. McKenney, and D. Sorensen, LAPACK Users' Guide , 3rd ed., SIAM, Philadelphia, PA, 1999. · DOI
  2. J. Bezanson, Abstraction in Technical Computing , Ph.D. thesis, Massachusetts Institute of Technology, MA, 2015.
  3. Bezanson J., 2014, New York, 56
  4. J. Bezanson, S. Karpinski, V. B. Shah, and A. Edelman, Julia: A Fast Dynamic Language for Technical Computing , preprint,arXiv:1209.5145 [cs.PL], 2012. · arXiv
  5. 10.1109/JPROC.2004.840490 · DOI
  6. 10.1007/s10955-006-9226-4 · DOI
  7. C. Gomez, ed. Engineering and Scientific Computing with Scilab , Birkhäuser, Boston, 1999. · DOI
  8. Ihaka R., 1996, J. Comput. Graph. Statist., 5, 299, 10.1080/10618600.1996.10474713 · DOI
  9. 10.1145/322169.322181 · DOI
  10. Lattner C., 2004, New York, 75
  11. 10.1145/355841.355847 · DOI
  12. 10.1287/ijoc.2014.0623 · DOI
  13. Mohnen M., 2002, Heidelberg, 185
  14. Murphy M., 1997, Linux J., 1997, 326884
  15. Muschevici R., 2008, New York, 563
  16. A. Noack, Fast and Generic Linear Algebra in Julia , Tech. report, MIT, Cambridge, MA, 2015.
  17. J. Regier, K. Pamnany, R. Giordano, R. Thomas, D. Schlegel, J. McAuliffe, and Prabhat, Learning an Astronomical Catalog of the Visible Universe through Scalable Bayesian Inference , preprint,arXiv:1611.03404 [cs.DC], 2016. · arXiv
  18. 10.1038/515151a · DOI
  19. G. Strang, Introduction to Linear Algebra , Wellesley-Cambridge Press, Wellesley, MA, 2003,https://books.google.com/books?id=Gv4pCVyoUVYC.
  20. M. Udell, K. Mohan, D. Zeng, J. Hong, S. Diamond, and S. Boyd, Convex optimization in Julia , in SC14 Workshop on High Performance Technical Computing in Dynamic Languages, 2014; preprint,arXiv:1410.4821 [math.OC], 2014. · DOI
  21. S. van der Walt, S. C. Colbert, and G. Varoquaux, The NumPy Array: A Structure for Efficient Numerical Computation ,CoRR, abs/1102.1523, 2011. · DOI · Paper page
  22. L. Wilkinson, The Grammar of Graphics (Statistics and Computing) , Springer-Verlag, New York, 2005.

Cited by

Sorted by citations

Metadata

Authors
Bezanson, J., Edelman, A., Karpinski, S., & Shah, V. B.
Venue
SIAM Review
Published
2017-01
Volume
59
Issue
1
Pages
65-98
ISSN
  • 0036-1445
  • 1095-7200
Cited by
5,440
References
0
Language
en

About these checks

Registry, retraction, Cites and statistics results are computed, not judged, with one exception: a printed reference that no index lists is read once by a model before it counts as a citation error. Claims are extracted by a model and kept only when their quote appears verbatim in the text; each cited source is then checked, with a model’s help, for whether it says what the claim relies on. Those verdicts can be wrong — read the claim’s quote and the cited source before relying on one.

Statistics and arithmetic are recomputed, not judged.

Confidence bands are shown only for fields calibrated on our annotated test set. None is calibrated yet, so no band is shown.

What counts as a claim ›How we measure confidence ›How we check this ›

Are you an author, or do you see a problem with this page? Request a review