public static mat3 operator *(mat3 a, mat3 b) { mat3 res = new mat3(), trans = b.Transpose(); for (int i = 0; i < 3; i++) { res[i] = a * trans[i]; } return(res); }
public mat3 Transpose() { mat3 res = new mat3(); for (int i = 0; i < 3; i++) { for (int j = 0; j < 3; j++) { res[i][j] = this[j][i]; } } return(res); }