This book provides an introduction to modern topics in scientific computing and machine learning, using JULIA to illustrate the efficient implementation of algorithms. In addition to covering fundamental topics, such as optimization and solving systems of equations, it adds to the usual canon of computational science by including more advanced topics of practical importance. In particular, there is a focus on partial differential equations and systems thereof, which form the basis of many engineering applications. Several chapters also include material on machine learning (artificial neural networks and Bayesian estimation).JULIA is a relatively new programming language which has been developed with scientific and technical computing in mind. Its syntax is similar to other languages in this area, but it has been designed to embrace modern programming concepts. It is open source, and it comes with a compiler and an easy-to-use package system.
Aimed at students of applied mathematics, computer science, engineering and bioinformatics, the book assumes only a basic knowledge of linear algebra and programming.