[cctbxbb] Niggli-reduced cell C++ implementation

Martin Uhrin martin.uhrin.10 at ucl.ac.uk
Tue Apr 24 10:57:03 PDT 2012


Dear cctbxers,

I've finally found the time to play around with a C++ version of the KG
algorithm and I've come across a result I don't understand.  I've tried
both David's C++ and the cctbx python niggli_cell() implementations and
they both give the roughly the same answer.

I'm reducing the following cell with two, equivalent, representations (a,
b, c, alpha, beta, gamma):

Before:

1: 4.630811   4.630811   4.630811         90         90         90
2: 3.27448     5.67156    5.67156           99.5941 106.779 90

After:

1: 4.63081    4.63081    4.63081    90          90  90
2: 3.27448    5.67154    5.67156    99.5941  90   106.778

Looking at the trace, cell 1 undergoes step 3 and finishes while cell 2
undergoes steps 2, 3, 7 and 4.

Does anyone know why these haven't converged to the same cell?

Many thanks,
-Martin

On 23 March 2012 17:12, Ralf Grosse-Kunstleve <rwgrosse-kunstleve at lbl.gov>wrote:

> Hi Martin,
> Let me know if you need svn write access to check in your changes. All I
> need is your sourceforge user id.
> Ralf
>
>
> On Fri, Mar 23, 2012 at 3:35 AM, Martin Uhrin <martin.uhrin.10 at ucl.ac.uk>wrote:
>
>> Dear David and Rolf,
>>
>> thank you for your encouragement.
>>
>> David: I'm more than happy to port your implementation to cctbx if you're
>> happy with this.  Of course I don't want to step on your toes so if you'd
>> rather do it yourself (or not at all) that's cool.
>>
>> There may be some licensing issues to sort out as it looks like cctbx has
>> a custom (non viral) license but the BSD license is likely compatible.
>>
>> On first impression I think a new class would be the way to go but I'd
>> have to look at the two algorithms in greater detail to be sure.
>>
>> All the best,
>> -Martin
>>
>>
>> On 22 March 2012 22:00, Ralf Grosse-Kunstleve <rwgrosse-kunstleve at lbl.gov
>> > wrote:
>>
>>> Hi Martin,
>>> You're very welcome to add a C++ version of the Krivy-Gruber algorithm
>>> to cctbx if that's what you had in mind.
>>> I'm not sure what's better, generalizing the fast-minimum-reduction
>>> code, or just having an independent implementation.
>>> Ralf
>>>
>>> On Thu, Mar 22, 2012 at 2:24 PM, Martin Uhrin <martin.uhrin.10 at ucl.ac.uk
>>> > wrote:
>>>
>>>> Dear Cctbx community,
>>>>
>>>> Firstly I'd like to say thank you to Rolf, Nicholas and Paul for their
>>>> expertly thought through implementation of the reduced cell algorithm.
>>>>  I've found it to be extremely useful for my work.
>>>>
>>>> My code is all in C++ and I'd like to be able to use the Krivy-Gruber
>>>> algorithm.  My understanding is that only the reduced (Buerger) unit cell
>>>> algorithm is implemented in C++ [1] which guarantees shortest lengths but
>>>> not unique angles.  From my understanding the Krivy-Gruber would also
>>>> guarantee me uniqueness of unit cell angles, however this is only
>>>> implemented in Python [2].  Sorry to be so verbose, I just wanted to check
>>>> that I was on the right page.
>>>>
>>>> Would it be possible for me to implement the Krivy-Gruber in C++ by
>>>> adding in the epsilon_relative to the parameter and following the procedure
>>>> found in the python version?
>>>>
>>>> Many thanks,
>>>> -Martin
>>>>
>>>> [1]
>>>> http://cctbx.sourceforge.net/current/c_plus_plus/classcctbx_1_1uctbx_1_1fast__minimum__reduction.html
>>>> [2]
>>>> http://cctbx.sourceforge.net/current/python/cctbx.uctbx.krivy_gruber_1976.html
>>>>
>>>>
>>>>
>>>> --
>>>> Martin Uhrin                                                  Tel: +44
>>>> 207 679 3466
>>>> Department of Physics & Astronomy               Fax:+44 207 679 0595
>>>> University College London
>>>> martin.uhrin.10 at ucl.ac.uk
>>>> Gower St, London, WC1E 6BT, U.K.         http://www.cmmp.ucl.ac.uk
>>>>
>>>> _______________________________________________
>>>> cctbxbb mailing list
>>>> cctbxbb at phenix-online.org
>>>> http://phenix-online.org/mailman/listinfo/cctbxbb
>>>>
>>>>
>>>
>>> _______________________________________________
>>> cctbxbb mailing list
>>> cctbxbb at phenix-online.org
>>> http://phenix-online.org/mailman/listinfo/cctbxbb
>>>
>>>
>>
>>
>> --
>> Martin Uhrin                                                  Tel: +44
>> 207 679 3466
>> Department of Physics & Astronomy               Fax:+44 207 679 0595
>> University College London
>> martin.uhrin.10 at ucl.ac.uk
>> Gower St, London, WC1E 6BT, U.K.         http://www.cmmp.ucl.ac.uk
>>
>> _______________________________________________
>> cctbxbb mailing list
>> cctbxbb at phenix-online.org
>> http://phenix-online.org/mailman/listinfo/cctbxbb
>>
>>
>
> _______________________________________________
> cctbxbb mailing list
> cctbxbb at phenix-online.org
> http://phenix-online.org/mailman/listinfo/cctbxbb
>
>


-- 
Martin Uhrin                                                  Tel: +44 207
679 3466
Department of Physics & Astronomy               Fax:+44 207 679 0595
University College London                         martin.uhrin.10 at ucl.ac.uk
Gower St, London, WC1E 6BT, U.K.         http://www.cmmp.ucl.ac.uk
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://phenix-online.org/pipermail/cctbxbb/attachments/20120424/a15feef2/attachment.htm>


More information about the cctbxbb mailing list