Skip to content

nkuamath-julia/NASCA23

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

55 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Julia Programming Language: Guide & Applications

Nikolaos Koukoudakis, Emmanouil Lardas, Marilena Mitrouli, Anastasia-Efterpi Psitou, Markos Theocharis-Kremmydas, Ioannis Tsagkaropoulos
Department of Mathematics, National and Kapodistrian University of Athens, Panepistimiopolis 15784, Athens, Greece

Abstract

Julia is a new general-purpose, high-level, high-performance, dynamic programming language with applications mainly in numerical analysis and computational science. A brief introduction and guide to the language itself, alongside with specific mathematical problems and benchmarks with other languages, are demonstrated. One such application is the calculation of pivot patterns that emerge from applying Gaussian Elimination with complete pivoting on $20\times20$ Hadamard matrices, assisting in further progress on the growth conjecture for Hadamard matrices. Furthermore, by benchmarking the implementations of the Newton - Raphson Method and matrix computations in Julia, Matlab and Python, the performance-related advantages of Julia, compared with the other aforementioned languages, are illustrated in practice. Some floating point arithmetic examples, such as a base conversion program and a program which produces the decimal expansions of all rational numbers in a user-specified range, that have a fractional part with up to $n$ (also given as input) binary digits, are presented as well. Lastly, we examine the accuracy of different expressions of equal quantities, such as $a^2-b^2$ and $(a-b)(a+b)$.

Poster Presentation

julia poster presentation

References

[1] Downey, A., Lauwens, B., Think Julia: How to Think Like a Computer Scientist. O’Reilly, 2018.