[cctbxbb] Niggli-reduced cell C++ implementation

Martin Uhrin martin.uhrin.10 at ucl.ac.uk
Tue Apr 24 13:42:59 PDT 2012


Dear Ralf,

you're quite right!  I was looking at my basis along with the lattice which
lead me to think that the two systems should be equivalent when indeed the
lattices are not!

Thanks for pointing this out.

I'll get back to you once I'm ready with a version for the repository.

Best,
-Martin

On 24 April 2012 20:42, Ralf Grosse-Kunstleve <rwgrosse-kunstleve at lbl.gov>wrote:

> Hi Martin,
>
> Based on
>
> iotbx.lattice_symmetry --unit_cell="4.630811 4.630811 4.630811 90 90 90"
>
> and
>
> iotbx.lattice_symmetry --unit_cell="3.27448 5.67156 5.67156 99.5941
> 106.779 90"
>
> the first unit cell is (obviously) cubic, the second is only monoclinic.
> Even with
>
> iotbx.lattice_symmetry --unit_cell="3.27448 5.67156 5.67156 99.5941
> 106.779 90" --delta=20
>
> it only comes back as orthorhombic.
>
> Is this what you expect?
>
> Ralf
>
>
>
> On Tue, Apr 24, 2012 at 10:57 AM, Martin Uhrin <martin.uhrin.10 at ucl.ac.uk>wrote:
>
>> 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
>>
>> _______________________________________________
>> 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/0c65b361/attachment-0001.htm>


More information about the cctbxbb mailing list