I want to find the pure translation affine conjugating transformation of a space group, as shown below:
In[152]:= gensSG141ITA1={
{{1, 0, 0, 0}, {0, 1, 0, 0}, {0, 0, 1, 0}, {0,0,0,1}},
{{-1, 0, 0, 1/2}, {0, -1, 0, 1/2}, {0, 0, 1, 1/2}, {0,0,0, 1}},
{{0, -1, 0, 0}, {1, 0, 0, 1/2}, {0, 0, 1, 1/4}, {0,0,0, 1}},
{{-1, 0, 0, 1/2}, {0, 1, 0, 0}, {0, 0, -1, 3/4}, {0,0,0, 1}},
{{-1, 0, 0, 0}, {0, -1, 0, 1/2}, {0, 0, -1, 1/4}, {0,0,0, 1}},
{{1, 0, 0, 1/2}, {0, 1, 0, 1/2}, {0, 0, 1, 1/2}, {0,0,0, 1}}
};
C3={{1, 0, 0, 1/2}, {0, 1, 0, 1/2}, {0, 0, 1, 1/2}, {0,0,0,1}};
Inverse[C3] . # . C3 -# &/@gensSG141ITA1;
AffineTransform[{#[[1;;3,1;;3]],#[[1;;3,4]]}//FractionalPart]&/@%
Out[155]= {TransformationFunction[( \!\(\*
TagBox[GridBox[{
{"0", "0", "0", "0"},
{"0", "0", "0", "0"},
{"0", "0", "0", "0"},
{"0", "0", "0", "1"}
},
AutoDelete->False,
GridBoxDividers->{"Columns" -> {{False}},
"ColumnsIndexed" -> {-2 -> True}, "Rows" -> {{False}},
"RowsIndexed" -> {-2 -> True}},
GridBoxItemSize->{"Columns" -> {{Automatic}}, "Rows" -> {{Automatic}}}],
#& ]\) )], TransformationFunction[( \!\(\*
TagBox[GridBox[{
{"0", "0", "0", "0"},
{"0", "0", "0", "0"},
{"0", "0", "0", "0"},
{"0", "0", "0", "1"}
},
AutoDelete->False,
GridBoxDividers->{"Columns" -> {{False}},
"ColumnsIndexed" -> {-2 -> True}, "Rows" -> {{False}},
"RowsIndexed" -> {-2 -> True}},
GridBoxItemSize->{"Columns" -> {{Automatic}}, "Rows" -> {{Automatic}}}],
#& ]\) )], TransformationFunction[( \!\(\*
TagBox[GridBox[{
{"0", "0", "0", "0"},
{"0", "0", "0", "0"},
{"0", "0", "0", "0"},
{"0", "0", "0", "1"}
},
AutoDelete->False,
GridBoxDividers->{"Columns" -> {{False}},
"ColumnsIndexed" -> {-2 -> True}, "Rows" -> {{False}},
"RowsIndexed" -> {-2 -> True}},
GridBoxItemSize->{"Columns" -> {{Automatic}}, "Rows" -> {{Automatic}}}],
#& ]\) )], TransformationFunction[( \!\(\*
TagBox[GridBox[{
{"0", "0", "0", "0"},
{"0", "0", "0", "0"},
{"0", "0", "0", "0"},
{"0", "0", "0", "1"}
},
AutoDelete->False,
GridBoxDividers->{"Columns" -> {{False}},
"ColumnsIndexed" -> {-2 -> True}, "Rows" -> {{False}},
"RowsIndexed" -> {-2 -> True}},
GridBoxItemSize->{"Columns" -> {{Automatic}}, "Rows" -> {{Automatic}}}],
#& ]\) )], TransformationFunction[( \!\(\*
TagBox[GridBox[{
{"0", "0", "0", "0"},
{"0", "0", "0", "0"},
{"0", "0", "0", "0"},
{"0", "0", "0", "1"}
},
AutoDelete->False,
GridBoxDividers->{"Columns" -> {{False}},
"ColumnsIndexed" -> {-2 -> True}, "Rows" -> {{False}},
"RowsIndexed" -> {-2 -> True}},
GridBoxItemSize->{"Columns" -> {{Automatic}}, "Rows" -> {{Automatic}}}],
#& ]\) )], TransformationFunction[( \!\(\*
TagBox[GridBox[{
{"0", "0", "0", "0"},
{"0", "0", "0", "0"},
{"0", "0", "0", "0"},
{"0", "0", "0", "1"}
},
AutoDelete->False,
GridBoxDividers->{"Columns" -> {{False}},
"ColumnsIndexed" -> {-2 -> True}, "Rows" -> {{False}},
"RowsIndexed" -> {-2 -> True}},
GridBoxItemSize->{"Columns" -> {{Automatic}}, "Rows" -> {{Automatic}}}],
#& ]\) )]}
In the above example, the C3 is the desired matrix. But how can I find this result without knowing it?
Regards,
Zhao
