I defined the following function in my package:
gensFINDSSG//ClearAll;
gensFINDSSG[{m__?MatrixQ} | m__?MatrixQ]:=Block[{gens,dim,vec,x,y,z,t,u,v},
gens={m};
dim=Dimensions[gens][[2]]-1;
Which[
dim==3,vec={x, y, z, 1},
dim==4,vec={x, y, z, t, 1},
dim==5,vec={x, y, z, t, u, 1},
dim==6,vec={x, y, z, t, u, v, 1}
];
Map[Dot[#, vec] &, gens[[All, 1 ;; dim]], {-2}]// InputForm // ToString //StringReplace[#,{"("->"",")"->""}]&
]
But I want to know if there are more concise ways to rewrite the following part:
Which[
dim==3,vec={x, y, z, 1},
dim==4,vec={x, y, z, t, 1},
dim==5,vec={x, y, z, t, u, 1},
dim==6,vec={x, y, z, t, u, v, 1}
];
Regards, Zhao