This page contains some pointers to code which was used to produce numerical examples in some of my papers. The aim is to make my research more reproducible, as well as to provide code which may be of interest to the wider community.


pyiga is a Python research toolbox for IgA. It's hosted at GitHub:

The main motivations to create it were:

For installation instructions, basic usage and more advanced examples, see the GitHub page. An API reference is available online.

Fast black-box assembling for Isogeometric Analysis

These are implementations of the algorithm described in the paper "A black-box low-rank approximation algorithm for fast matrix assembly in Isogeometric Analysis". Please cite this paper if you use the following code in your research. Two implementations are available:

Greedy Tucker approximation

Below is a link to a notebook containing implementations of the Greedy Tucker approximation algorithm for tensors and tensor linear systems described in the paper "Greedy low-rank approximation in Tucker format of tensors and solutions of tensor linear systems".

Robust multigrid for IgA based on stable splittings of spline spaces

A somewhat simplified implementation in Python, using the pyiga toolbox, of the multigrid algorithm presented in this paper with S. Takacs (SINUM), can be found in this IPython notebook.

Back to Clemens Hofreither's homepage