Book Image

Julia 1.0 Programming - Second Edition

By : Ivo Balbaert
Book Image

Julia 1.0 Programming - Second Edition

By: Ivo Balbaert

Overview of this book

The release of Julia 1.0 is now ready to change the technical world by combining the high productivity and ease of use of Python and R with the lightning-fast speed of C++. Julia 1.0 programming gives you a head start in tackling your numerical and data problems. You will begin by learning how to set up a running Julia platform, before exploring its various built-in types. With the help of practical examples, this book walks you through two important collection types: arrays and matrices. In addition to this, you will be taken through how type conversions and promotions work. In the course of the book, you will be introduced to the homo-iconicity and metaprogramming concepts in Julia. You will understand how Julia provides different ways to interact with an operating system, as well as other languages, and then you'll discover what macros are. Once you have grasped the basics, you’ll study what makes Julia suitable for numerical and scientific computing, and learn about the features provided by Julia. By the end of this book, you will also have learned how to run external programs. This book covers all you need to know about Julia in order to leverage its high speed and efficiency for your applications.
Table of Contents (17 chapters)
Title Page
Copyright and Credits
Packt Upsell
Contributors
Preface
Index

Installing and working with IJulia


IJulia (https://github.com/JuliaLang/IJulia.jl) is a combination of the Jupyter Notebook interactive environment (http://jupyter.org/) with a Julia language backend. It allows you to work with a powerful graphical notebook (which combines code, formatted text, math, and multimedia in a single document) with a regular REPL. Detailed instructions for installation can be found at the GitHub page for IJulia (https://github.com/JuliaLang/IJulia.jl) and in the Julia at MIT notes (https://github.com/stevengj/julia-mit/blob/master/README.md). Add the IJulia package in the REPL package mode with add IJulia.

Then, whenever you want to use it, start up a Julia REPL and type the following commands:

using IJulianotebook()

 

If you want to run it from the command line, type:

jupyter notebook

The IJulia dashboard should look as follows:

The IJulia dashboard

You should see the Jupyter logo in the upper-left corner of the browser window. Julia code is entered in the input cells (the input can be multiline) and then executed with Shift + Enter

Here is a small example (ijulia-example.jl):

The output should be something as follows:

An IJulia session example

In the first input cell, the value of b is calculated from a:

a = 5b = 2a^2 + 30a + 9

In the second input cell, we use PyPlot. Install this package with add PyPlot in the REPL package mode, and by issuing using PyPlot in the REPL.

The range(0,stop=5,length=101) command defines an array of 100 equally spaced values between 0 and 5;y is defined as a function of x and is then shown graphically with the plot command, as follows:

using PyPlot 
x = range(0,stop=5,length=101) 
y = cos.(2x .+ 5) 
plot(x, y, linewidth=2.0, linestyle="--") 
title("a nice cosinus") 
xlabel("x axis") 
ylabel("y axis") 

Save a notebook in file format (with the .ipynb extension) by downloading it from the menu.