public rel[real, real, real] matrixMultiplication(rel[real x, real y, real v] matrix1, rel[real x, real y, real v] matrix2){ if (max(matrix1.x) == max(matrix2.y)){ p = { | <- matrix1, <- matrix2}; result = {}; for (y <- matrix1.y){ for (x <- matrix2.x){ v = (0.0 | it + v | <- p, x==x2 && y==y1, x1==y2 && y2==x1); result += ; } } return result; } else throw "Matrix sizes do not match."; //a matrix, given by a relation of the x-coordinate, y-coordinate and value. public rel[real x, real y, real v] matrixA = { <0.0,0.0,12.0>, <0.0,1.0, 6.0>, <0.0,2.0,-4.0>, <1.0,0.0,-51.0>, <1.0,1.0,167.0>, <1.0,2.0,24.0>, <2.0,0.0,4.0>, <2.0,1.0,-68.0>, <2.0,2.0,-41.0> };