Hi Edward. Hi Andrew, I have added you to this mail, since this relates to your work.
-- Before the fix Andrew sent, B14 would not be able to do it. I tried, and the results was miserable. Hence the statement: "The model B14 was previously in a state of non-functioning." The problem was, that I could fit Andrews original result from the paper just fine. https://gna.org/bugs/index.php?22021#comment7 But when I gave the challenging try, it would fail. https://gna.org/bugs/index.php?22021#comment5 I did try my self to implement the trigometric functions: https://gna.org/bugs/index.php?22021#comment6 But I did that wrong. I was first when Andrew corrected me, that I got it right: https://gna.org/bugs/index.php?22021#comment10 I tested it a little yesterday, and the results are as good as the numerical. This is indeed a very interesting and promising model! And I am sure it will get some attention. Best Troels 2014-05-22 9:50 GMT+02:00 Edward d'Auvergne <[email protected]>: > Hi Troels, > > For reference, do you have the B14 optimisation results for this > parameter set prior to the fix? This is just to see the difference > the change makes. > > Cheers, > > Edward > > > > On 21 May 2014 20:36, <[email protected]> wrote: >> Author: tlinnet >> Date: Wed May 21 20:36:36 2014 >> New Revision: 23316 >> >> URL: http://svn.gna.org/viewcvs/relax?rev=23316&view=rev >> Log: >> Extremely important fix to the model B14. >> >> This was discovered by author Andrew Baldwin of the inspection of his code >> in relax. >> >> bug #22021: (https://gna.org/bugs/?22021) Model B14 shows bad fitting to >> data. >> >> The implementation was performed wrong for calculation of g3 and g4. >> The implementations should be performed by trigonometric functions. >> >> The model B14 was previously in a state of non-functioning. >> >> The B14 model now shows excellent performance. >> >> For the challenging case of data created with numerical model NS CPMG 2-site >> 3D: >> >> sfrq_1 = 599.8908617*1E6 >> time_T2_1 = 0.06 >> ncycs_1 = [2, 4, 8, 10, 20, 30, 40, 60] >> sfrq_2 = 499.8908617*1E6 >> time_T2_2 = 0.05 >> ncycs_2 = [2, 4, 8, 10, 30, 35, 40, 50] >> >> r2 = 10. rad/s. >> kex: 1000 rad/s >> pA: 0.99 >> dw: 2. ppm >> >> CR72 would fit: >> ---------- >> CR72 Ala :1@N r2 599.9 GRID=10.116 MIN=10.000 SET=10.000 RELC=0.000 >> CR72 Ala :1@N r2 499.9 GRID=10.080 MIN=9.999 SET=10.000 RELC=0.000 >> CR72 Ala :1@N pA GRID=0.929 MIN=0.990 SET=0.990 RELC=0.000 >> CR72 Ala :1@N dw GRID=1.429 MIN=1.925 SET=2.000 RELC=0.039 >> CR72 Ala :1@N kex GRID=5714.714 MIN=1034.721 SET=1000.000 RELC=0.034 >> >> B14 fits: >> ----------- >> B14 Ala :1@N r2 599.9 GRID=10.116 MIN=10.000 SET=10.000 RELC=0.000 >> B14 Ala :1@N r2 499.9 GRID=10.080 MIN=10.000 SET=10.000 RELC=0.000 >> B14 Ala :1@N pA GRID=0.929 MIN=0.990 SET=0.990 RELC=0.000 >> B14 Ala :1@N dw GRID=1.429 MIN=2.000 SET=2.000 RELC=0.000 >> B14 Ala :1@N kex GRID=10000.000 MIN=1000.001 SET=1000.000 RELC=0.000 >> >> Modified: >> trunk/lib/dispersion/b14.py >> >> Modified: trunk/lib/dispersion/b14.py >> URL: >> http://svn.gna.org/viewcvs/relax/trunk/lib/dispersion/b14.py?rev=23316&r1=23315&r2=23316&view=diff >> ============================================================================== >> --- trunk/lib/dispersion/b14.py (original) >> +++ trunk/lib/dispersion/b14.py Wed May 21 20:36:36 2014 >> @@ -111,7 +111,7 @@ >> >> # Python module imports. >> import numpy >> -from numpy import arccosh, array, cos, cosh, in1d, log, nonzero, sin, sinh, >> sqrt, power >> +from numpy import arccosh, arctan2, array, cos, cosh, in1d, log, nonzero, >> sin, sinh, sqrt, power >> >> # Repetitive calculations (to speed up calculations). >> g_fact = 1/sqrt(2) >> @@ -161,11 +161,12 @@ >> # Repetitive calculations (to speed up calculations). >> dw2 = dw**2 >> two_tcp = 2.0 * tcp >> - sqrt_zeta2_Psi2 = sqrt(zeta**2 + Psi**2) >> >> # Get the real and imaginary components of the exchange induced shift. >> - g3 = g_fact * sqrt( Psi + sqrt_zeta2_Psi2) >> - g4 = g_fact * sqrt(-Psi + sqrt_zeta2_Psi2) >> + # Trigonometric functions faster than square roots. >> + quad_zeta2_Psi2 = (zeta**2 + Psi**2)**0.25 >> + g3 = cos(0.5 * arctan2(-zeta, Psi)) * quad_zeta2_Psi2 >> + g4 = sin(0.5 * arctan2(-zeta, Psi)) * quad_zeta2_Psi2 >> >> # Repetitive calculations (to speed up calculations). >> g32 = g3**2 >> >> >> _______________________________________________ >> relax (http://www.nmr-relax.com) >> >> This is the relax-commits 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-commits > > _______________________________________________ > relax (http://www.nmr-relax.com) > > This is the relax-devel 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-devel _______________________________________________ relax (http://www.nmr-relax.com) This is the relax-devel 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-devel

