compute whether a representation in the barbot component of the (5,5,5) group is (almost) all loxodromic
This commit is contained in:
14
mat.c
14
mat.c
@@ -78,7 +78,7 @@ static void mat_multiply_outofplace(mat_workspace *ws, mat out, mat in1, mat in2
|
||||
LOOP(i,n) LOOP(j,n) {
|
||||
SET_ZERO(M(out,i,j));
|
||||
LOOP(k,n) {
|
||||
MULTIPLY(*tmp, M(in1,i,k), M(in2,k,j));
|
||||
MUL(*tmp, M(in1,i,k), M(in2,k,j));
|
||||
ADD(M(out,i,j), M(out,i,j), *tmp);
|
||||
}
|
||||
}
|
||||
@@ -103,12 +103,12 @@ void mat_det(mat_workspace *ws, NUMBER out, mat in)
|
||||
SET_ZERO(out);
|
||||
|
||||
LOOP(i,n) {
|
||||
MULTIPLY(*tmp, M(in,0,i), M(in,1,(i+1)%3));
|
||||
MULTIPLY(*tmp, *tmp, M(in,2,(i+2)%3));
|
||||
MUL(*tmp, M(in,0,i), M(in,1,(i+1)%3));
|
||||
MUL(*tmp, *tmp, M(in,2,(i+2)%3));
|
||||
ADD(out, out, *tmp);
|
||||
|
||||
MULTIPLY(*tmp, M(in,0,(i+2)%3), M(in,1,(i+1)%3));
|
||||
MULTIPLY(*tmp, *tmp, M(in,2,i));
|
||||
MUL(*tmp, M(in,0,(i+2)%3), M(in,1,(i+1)%3));
|
||||
MUL(*tmp, *tmp, M(in,2,i));
|
||||
SUB(out, out, *tmp);
|
||||
}
|
||||
}
|
||||
@@ -121,8 +121,8 @@ static void mat_pseudoinverse_outofplace(mat_workspace *ws, mat out, mat in)
|
||||
int n = 3;
|
||||
|
||||
LOOP(i,n) LOOP(j,n) {
|
||||
MULTIPLY(*tmp, M(in,(i+1)%3,(j+1)%3), M(in,(i+2)%3,(j+2)%3));
|
||||
MULTIPLY(*tmp2, M(in,(i+1)%3,(j+2)%3), M(in,(i+2)%3,(j+1)%3));
|
||||
MUL(*tmp, M(in,(i+1)%3,(j+1)%3), M(in,(i+2)%3,(j+2)%3));
|
||||
MUL(*tmp2, M(in,(i+1)%3,(j+2)%3), M(in,(i+2)%3,(j+1)%3));
|
||||
SUB(M(out,j,i), *tmp, *tmp2);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user