Source: https://math.uni.lu/eml/projects/reports/MathExp_Palmirotta.pdf