ABSTRACT

Julia is a modern language for scientific and technical computing. It was designed for applications in data science, numerical analysis, and scientific computing. Every type in Julia is either abstract or concrete. In Julia, only abstract types can have subtypes. Julia’s array type is parameterized not only by the type of its elements but by its dimension. So the type of one-dimensional integer arrays differs from the type of two-dimensional integer arrays. Julia has a vast number of built-in functions useful in the field of linear algebra, including cross product; eigenvalue computation; and Hessenberg and singular value decompositions. Type annotations may increase performance: a compiler can use knowledge that a variable has a given type to create efficient memory layout and run-time access code. Type annotations are completely optional in Julia. Some languages have no notion of type annotations, while some languages require them for all variables.