Edward d'Auvergne wrote:
> On Thu, Mar 12, 2009 at 7:04 PM, Sébastien Morin
> <[email protected]> wrote:
>   
>> Edward d'Auvergne wrote:
>>     
>>> On Thu, Mar 12, 2009 at 6:05 PM, Sébastien Morin
>>> <[email protected]> wrote:
>>>
>>>       
>>>> Hi,
>>>>
>>>> In an attempt to find the problem causing this bug, I dug into the code
>>>> and found something which could be erroneous... This alone does not fix
>>>> the bug, but may be part of the fix (or not)...
>>>>
>>>> In function math_fns/direction_cosine.calc_ellipsoid_di(), there could
>>>> be an error at line 229:
>>>>
>>>>    diff_data.dz[1] =  data.sin_b * data.sin_g
>>>>
>>>> If I am right (?), this part of the code is related to page 193 of
>>>> Edward  d'Auvergne's thesis:
>>>>
>>>>    c11  =  diff_data.dx[0]
>>>>    c21  =  diff_data.dx[1]
>>>>    c31  =  diff_data.dx[2]
>>>>
>>>>    c12  =  diff_data.dy[0]
>>>>    c22  =  diff_data.dy[1]
>>>>    c32  =  diff_data.dy[2]
>>>>
>>>>    c13  =  diff_data.dz[0]
>>>>    c23  =  diff_data.dz[1]  -->  FALSE !!!!
>>>>    c33  =  diff_data.dz[2]
>>>>
>>>> Indeed,
>>>>    c23 = sin(beta) * cos(gamma),
>>>> whereas
>>>>    diff_data.dz[1] =  data.sin_b * data.sin_g
>>>>
>>>>
>>>> Thus, either me, the code or Edward's thesis are erroneous here...
>>>>
>>>> Am I right ?
>>>>
>>>>         
>>> These unit vectors are the columns of the reverse matrix, or the
>>> transpose, or simply rows of the normal matrix.  This depends if you
>>> are defining the rotation from being from the diffusion tensor frame
>>> to the lab frame or the reverse - both are related by the transpose.
>>> Hence this value is c32 which in my thesis is sin(alpha)*sin(beta).
>>> Does this answer your question and solve the issue?  There could be
>>> bugs elsewhere in here though because of this.
>>>
>>>
>>>       
>> Ok... I am far from an expert in trigonometry...  :p
>>
>> If I understand well what you wrote, there is no error in the code or
>> the thesis ? Or should something be corrected ?
>>     
>
> Sorry, I had a much closer look and you are correct - there is an
> error there.  The problem is a typo in equation 6.61 (page 193) of my
> thesis, c23 should be sin(beta) * sin(gamma).  I double checked using
> wikipedia and tracked it back to the thesis.  Glad that it's in the
> thesis and not the code!!!
>
> Cheers,
>
> Edward
>
>
> P.S.  It would be useful if you could confirm that the problem is
> indeed in the thesis and not the code ;)
>   
I agree.

The error in not in relax, but in the thesis... I verified this on the
Mathematica website at:
    http://mathworld.wolfram.com/EulerAngles.html

where equations 39-44 are equivalent of equation 6.61 in your thesis
(page 193, c_23 -> sigma_23). From Mathematica:

    sigma_23 = sin PSI * sin THETA

thus

    c_23 = sin GAMMA * sin BETA

is what should be found in the thesis (instead of c_23 = cos GAMMA * sin
BETA).

Note that everything is fine in relax code.  :)

Ok, I'll correct my printed copy of your masterpiece..!

Regards,


Séb  :)

-- 
Sébastien Morin
PhD Student
S. Gagné NMR Laboratory
Université Laval & PROTEO
Québec, Canada


_______________________________________________
relax (http://nmr-relax.com)

This is the relax-users mailing list
[email protected]

To unsubscribe from this list, get a password
reminder, or change your subscription options,
visit the list information page at
https://mail.gna.org/listinfo/relax-users

Reply via email to