Julia

From ArchWiki
Jump to navigation Jump to search
Note: https://julialang.org/ has beautiful and open-source documentation, non-Arch-specific information should be contributed there.

Julia is a high-level, high-performance dynamic programming language for numerical computing. It provides a sophisticated compiler, distributed parallel execution, numerical accuracy, and an extensive mathematical function library.

Installation

Install the julia package. To learn and use Julia, please read upstream documents.

IJulia

If attempting to install ijulia by running Pkg.add("IJulia") gives the warning MbedTLS had build errors. you might need to install the mbedtls package.

Package build errors

Arpack

Building the Arpack package can result in an error like shown below (stacktrace omitted):

julia> Pkg.build("Arpack")
  Building Arpack → `~/.julia/packages/Arpack/UiiMc/deps/build.log`
┌ Error: Error building `Arpack`:
│ ERROR: LoadError: LibraryProduct(nothing, ["libarpack"], :libarpack, "Prefix(~/.julia/packages/Arpack/UiiMc/deps/usr)") is not satisfied, cannot generate deps.jl!

Use the instructions here to resolve the issue.

Another option is to install julia from julia-binAUR. Then Arpack can be installed from

julia> import Pkg; Pkg.add("Arpack")

Integration with editors

Vim

Syntax highlighting and more

julia-vim

Linting

The julialint plugin combined with the Lint.jl package can provide linting.

Performance

It is recommended that you use a multithreaded BLAS implementation, such as openblas. This can lead to speedups of 10-50x for certain matrix operations.