[cctbxbb] Fail to extend space-group with centring translations

Luc Bourhis luc_j_bourhis at mac.com
Sun Dec 10 12:58:13 PST 2006

Hi Ralf, just picking on one of your remark.

> You cannot change the rotation denominator (fixed at 1) for the
> matrices processed by sgtbx.space_group. Therefore you cannot work
> with, e.g. the pseudo-orthorhombic C-centered setting of a hexagonal
> space group. However, I never came across a situation where this
> was interesting.
> It would be possible to rewrite the sgtbx based on  
> boost::rational<int>,
> but it is a big project. The advantage would be more flexibility,
> the disadvantage a performance decrease. If there is a strong reason
> I would go for more flexibility, but so far I've never found this
> worthwhile.

If I understand correctly, space_group_type lets the user use any  
space-group in a non-standard setting defined by a special change of  
basis. Now your example would require the matrix of change of basis  
to be rational whereas in the current implementation it can only be  
integral. At least as far as I understand, from the code and your  
comments. Thus, the only place where rational numbers would be  
necessary is in those matrices of change of basis, isn't it? Now,  
would it be possible to define a new class  
space_group_irrational_setting which would provide services very  
similar to space_group_type but accepting non-integral matrices for  
the change of basis?


More information about the cctbxbb mailing list