9–10 Jun 2026
UiT - The Arctic University of Norway in Tromsø
Europe/Oslo timezone

Best of Both Worlds: Scientific Computing Across Multiple Languages — A Julia and Python Case Study

10 Jun 2026, 11:00
20m
Auditorium Cerebrum (UiT - The Arctic University of Norway in Tromsø )

Auditorium Cerebrum

UiT - The Arctic University of Norway in Tromsø

UiT - The Arctic University of Norway Universitetsvegen 61 9019 Tromsø Norway
Talk (20 min)

Speaker

Johan Mylius-Kroken (UiT - The Arctic University of Norway)

Description

In scientific computing, researchers routinely face a fundamental tension: computational performance versus ease of implementation. Python has become the dominant language across most scientific disciplines, and for good reason — its readable syntax, flexibility, and vast ecosystem make it an excellent tool for data manipulation, visualisation, and rapid prototyping. Its accessible GPU interfaces have made it especially central to modern machine learning workflows.

Yet Python was not designed for every computational task. High-performance simulations, sequential algebraic operations, and large-scale iterative methods can quickly expose its limitations. For these workloads, many researchers turn to lower-level languages such as C, C++, or Fortran. This works, but it creates a fragmented workflow — one that often sacrifices the interpretability, interactivity, and rich tooling that higher-level languages provide.

What if we didn't have to choose?

Combining programming languages within a single project is standard practice in software engineering, yet remains underutilised in scientific research. Each language can be assigned the tasks it handles best, while sharing data and functionality across the boundary. This talk advocates for a more deliberate adoption of this approach in scientific workflows, and explores both its possibilities and its practical challenges.

As a concrete case study, I present a project combining Julia and Python to study the linear regions produced by a specific class of neural networks. Characterising these regions involves non-trivial computational geometry — computing vertices, convex hulls, and minimal active constraint sets. The regions in deeper network layers depend sequentially on those in earlier layers, making the problem both computationally demanding and structurally complex. Python handles the machine learning components naturally, while Julia takes on the geometrically intensive region-finding computations.

This talk will walk through the design decisions behind this multilingual architecture, the interoperability tools that make it practical, and the pitfalls encountered along the way — offering a template that other researchers can adapt to their own projects.

Author

Johan Mylius-Kroken (UiT - The Arctic University of Norway)

Presentation materials

There are no materials yet.