Julia is shipped with a vast array of utility functions built into the core language and its standard libraries. Also, because of its speed, it is very well suited for the implementation of custom algorithms (as opposed to many other high-level languages, where users compose the analysis solely by using predefined algorithms from installed packages).
In this chapter, we show practical examples of how such custom algorithms can be implemented, while also taking advantage of the inbuilt functionality. The range of recipes shows that you can often implement your own low-level algorithm that is much faster than using standard functions (the recipe for finding the index of a random minimum element in an array) and that you can easily modify how standard operations work by overriding them with custom behavior (the matrix multiplication optimization recipe). Finally, we...