1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23 from math import sqrt
24
25
26
27
28
29
30
31
32
33
34
36 """Diffusional correlation times.
37
38 The correlation time is
39
40 t0 = tm.
41 """
42
43 data.ti[0] = diff_data.params[0]
44
45
46
47
48
49
51 """Partial derivatives of the diffusional correlation times.
52
53 The tm partial derivatives are
54
55 dt0
56 --- = 1.
57 dtm
58 """
59
60 data.dti[0] = 1.0
61
62
63
64
65
66
67
68
69
70
71
72
73
75 """Diffusional correlation times.
76
77 The equations for the parameters {Diso, Da} are
78
79 t-1 = (6Diso - 2Da)**-1,
80
81 t0 = (6Diso - Da)**-1,
82
83 t1 = (6Diso + 2Da)**-1,
84
85 The diffusion parameter set in data.diff_params is {tm, Da, theta, phi}.
86 """
87
88
89 if diff_data.params[0] == 0.0:
90 data.inv_tm = 1e99
91 else:
92 data.inv_tm = 1.0 / diff_data.params[0]
93
94
95 data.tau_scale[0] = -2.0
96 data.tau_scale[1] = -1.0
97 data.tau_scale[2] = 2.0
98
99
100 data.tau_comps = data.inv_tm + data.tau_scale * diff_data.params[1]
101
102
103 if data.tau_comps[0] == 0.0:
104 data.tau_comps[0] = 1e99
105 else:
106 data.tau_comps[0] = 1.0 / data.tau_comps[0]
107
108
109 if data.tau_comps[1] == 0.0:
110 data.tau_comps[1] = 1e99
111 else:
112 data.tau_comps[1] = 1.0 / data.tau_comps[1]
113
114
115 if data.tau_comps[2] == 0.0:
116 data.tau_comps[2] = 1e99
117 else:
118 data.tau_comps[2] = 1.0 / data.tau_comps[2]
119
120
121 data.ti = 1.0 * data.tau_comps
122
123
124
125
126
127
129 """Diffusional correlation time gradients.
130
131 tm partial derivatives
132 ~~~~~~~~~~~~~~~~~~~~~~
133
134 dt-1 dDiso
135 ---- = -6 ----- (6Diso - 2Da)**-2,
136 dtm dtm
137
138 dt0 dDiso
139 --- = -6 ----- (6Diso - Da)**-2,
140 dtm dtm
141
142 dt1 dDiso
143 --- = -6 ----- (6Diso + 2Da)**-2.
144 dtm dtm
145
146
147 As
148
149 dDiso
150 ----- = -1/6 * tm**-2,
151 dtm
152
153 the equations simplify to
154
155 dt-1
156 ---- = tm**-2 (6Diso - 2Da)**-2,
157 dtm
158
159 dt0
160 --- = tm**-2 (6Diso - Da)**-2,
161 dtm
162
163 dt1
164 --- = tm**-2 (6Diso + 2Da)**-2.
165 dtm
166
167
168 Da partial derivatives
169 ~~~~~~~~~~~~~~~~~~~~~~
170
171 dt-1
172 ---- = 2(6Diso - 2Da)**-2,
173 dDa
174
175 dt0
176 --- = (6Diso - Da)**-2,
177 dDa
178
179 dt1
180 --- = -2(6Diso + 2Da)**-2.
181 dDa
182
183
184 The diffusion parameter set in data.diff_params is {tm, Da, theta, phi}.
185 """
186
187
188 data.tau_comps_sqrd = data.tau_comps**2
189 data.inv_tm_sqrd = data.inv_tm**2
190
191
192
193
194
195 data.dti[0] = data.inv_tm_sqrd * data.tau_comps_sqrd
196
197
198
199
200
201
202 data.tau_scale[0] = 2.0
203 data.tau_scale[1] = 1.0
204 data.tau_scale[2] = -2.0
205
206 data.dti[1] = data.tau_scale * data.tau_comps_sqrd
207
208
209
210
211
212
214 """Diffusional correlation time Hessians.
215
216 tm-tm partial derivatives
217 ~~~~~~~~~~~~~~~~~~~~~~~~~
218
219 d2t-1 / dDiso \ 2 d2Diso
220 ----- = 72 | ----- | (6Diso - 2Da)**-3 - 6 ------ (6Diso - 2Da)**-2,
221 dtm2 \ dtm / dtm2
222
223 d2t0 / dDiso \ 2 d2Diso
224 ---- = 72 | ----- | (6Diso - Da)**-3 - 6 ------ (6Diso - Da)**-2,
225 dtm2 \ dtm / dtm2
226
227 d2t1 / dDiso \ 2 d2Diso
228 ---- = 72 | ----- | (6Diso + 2Da)**-3 - 6 ------ (6Diso + 2Da)**-2.
229 dtm2 \ dtm / dtm2
230
231
232 As
233
234 d2Diso
235 ------ = 1/3 * tm**-3,
236 dtm2
237
238 and
239
240 dDiso
241 ----- = -1/6 * tm**-2,
242 dtm
243
244 the equations simplify to
245
246 d2t-1
247 ----- = 2tm**-4 (6Diso - 2Da)**-3 - 2tm**-3 (6Diso - 2Da)**-2,
248 dtm2
249
250 d2t0
251 ---- = 2tm**-4 (6Diso - Da)**-3 - 2tm**-3 (6Diso - Da)**-2,
252 dtm2
253
254 d2t1
255 ---- = 2tm**-4 (6Diso + 2Da)**-3 - 2tm**-3 (6Diso + 2Da)**-2.
256 dtm2
257
258
259 tm-Da partial derivatives
260 ~~~~~~~~~~~~~~~~~~~~~~~~~
261
262 d2t-1 dDiso
263 ------- = -24 ----- (6Diso - 2Da)**-3,
264 dtm.dDa dtm
265
266 d2t0 dDiso
267 ------- = -12 ----- (6Diso - Da)**-3,
268 dtm.dDa dtm
269
270 d2t1 dDiso
271 ------- = 24 ----- (6Diso + 2Da)**-3.
272 dtm.dDa dtm
273
274 As
275
276 dDiso
277 ----- = -1/6 * tm**-2,
278 dtm
279
280 the equations simplify to
281
282 d2t-1
283 ------- = 4tm**-2 (6Diso - 2Da)**-3,
284 dtm.dDa
285
286 d2t0
287 ------- = 2tm**-2 (6Diso - Da)**-3,
288 dtm.dDa
289
290 d2t1
291 ------- = -4tm**-2 (6Diso + 2Da)**-3.
292 dtm.dDa
293
294
295
296 Da-Da partial derivatives
297 ~~~~~~~~~~~~~~~~~~~~~~~~~
298
299 d2t-1
300 ----- = 8 (6Diso - 2Da)**-3,
301 dDa2
302
303 d2t0
304 ---- = 2 (6Diso - Da)**-3,
305 dDa2
306
307 d2t1
308 ---- = 8 (6Diso + 2Da)**-3.
309 dDa2
310
311
312 The diffusion parameter set in data.diff_params is {tm, Da, theta, phi}.
313 """
314
315
316 data.tau_comps_cubed = data.tau_comps**3
317
318
319
320
321
322 data.d2ti[0, 0] = 2.0 * data.inv_tm**3 * (data.inv_tm * data.tau_comps_cubed - data.tau_comps_sqrd)
323
324
325
326
327
328
329 data.tau_scale[0] = 4.0
330 data.tau_scale[1] = 2.0
331 data.tau_scale[2] = -4.0
332
333 data.d2ti[0, 1] = data.d2ti[1, 0] = data.tau_scale * data.inv_tm_sqrd * data.tau_comps_cubed
334
335
336
337
338
339
340 data.tau_scale[0] = 8.0
341 data.tau_scale[1] = 2.0
342 data.tau_scale[2] = 8.0
343
344 data.d2ti[1, 1] = data.tau_scale * data.tau_comps_cubed
345
346
347
348
349
350
351
352
353
354
355
356
357
359 """Diffusional correlation times.
360
361 The equations for the parameters {Diso, Da, Dr} are:
362
363 t-2 = (6Diso - 2DaR)**-1,
364
365 t-1 = (6Diso - Da(1 + 3Dr))**-1,
366
367 t0 = (6Diso - Da(1 - 3Dr))**-1,
368
369 t1 = (6Diso + 2Da)**-1,
370
371 t2 = (6Diso + 2DaR)**-1,
372
373 where:
374 __________
375 R = \/1 + 3Dr**2.
376
377 The diffusion parameter set in data.diff_params is {tm, Da, Dr, alpha, beta, gamma}.
378 """
379
380
381 if diff_data.params[0] == 0.0:
382 data.inv_tm = 1e99
383 else:
384 data.inv_tm = 1.0 / diff_data.params[0]
385
386
387 data.R = sqrt(1.0 + 3.0*diff_data.params[2]**2)
388
389
390 data.one_3Dr = 1.0 + 3.0 * diff_data.params[2]
391 data.one_m3Dr = 1.0 - 3.0 * diff_data.params[2]
392
393
394 data.tau_scale[0] = -2.0 * data.R
395 data.tau_scale[1] = -data.one_3Dr
396 data.tau_scale[2] = -data.one_m3Dr
397 data.tau_scale[3] = 2.0
398 data.tau_scale[4] = 2.0 * data.R
399
400
401 data.tau_comps = data.inv_tm + data.tau_scale * diff_data.params[1]
402
403
404 if data.tau_comps[0] == 0.0:
405 data.tau_comps[0] = 1e99
406 else:
407 data.tau_comps[0] = 1.0 / data.tau_comps[0]
408
409
410 if data.tau_comps[1] == 0.0:
411 data.tau_comps[1] = 1e99
412 else:
413 data.tau_comps[1] = 1.0 / data.tau_comps[1]
414
415
416 if data.tau_comps[2] == 0.0:
417 data.tau_comps[2] = 1e99
418 else:
419 data.tau_comps[2] = 1.0 / data.tau_comps[2]
420
421
422 if data.tau_comps[3] == 0.0:
423 data.tau_comps[3] = 1e99
424 else:
425 data.tau_comps[3] = 1.0 / data.tau_comps[3]
426
427
428 if data.tau_comps[4] == 0.0:
429 data.tau_comps[4] = 1e99
430 else:
431 data.tau_comps[4] = 1.0 / data.tau_comps[4]
432
433
434 data.ti = 1.0 * data.tau_comps
435
436
437
438
439
440
442 """Diffusional correlation time gradients.
443
444 tm partial derivatives
445 ~~~~~~~~~~~~~~~~~~~~~~
446
447 dt-2 dDiso
448 ---- = - 6 ----- (6Diso - 2DaR)**-2,
449 dtm dtm
450
451 dt-1 dDiso
452 ---- = - 6 ----- (6Diso - Da(1 + 3Dr))**-2,
453 dtm dtm
454
455 dt0 dDiso
456 --- = - 6 ----- (6Diso - Da(1 - 3Dr))**-2,
457 dtm dtm
458
459 dt1 dDiso
460 --- = - 6 ----- (6Diso + 2Da)**-2,
461 dtm dtm
462
463 dt2 dDiso
464 --- = - 6 ----- (6Diso + 2DaR)**-2.
465 dtm dtm
466
467
468 As
469
470 dDiso
471 ----- = -1/6 * tm**-2,
472 dtm
473
474 the equations simplify to
475
476 dt-2
477 ---- = tm**-2 (6Diso - 2DaR)**-2,
478 dtm
479
480 dt-1
481 ---- = tm**-2 (6Diso - Da(1 + 3Dr))**-2,
482 dtm
483
484 dt0
485 --- = tm**-2 (6Diso - Da(1 - 3Dr))**-2,
486 dtm
487
488 dt1
489 --- = tm**-2 (6Diso + 2Da)**-2,
490 dtm
491
492 dt2
493 --- = tm**-2 (6Diso + 2DaR)**-2.
494 dtm
495
496
497 Da partial derivatives
498 ~~~~~~~~~~~~~~~~~~~~~~
499
500 dt-2
501 ---- = 2R (6Diso - 2DaR)**-2,
502 dDa
503
504 dt-1
505 ---- = (1 + 3Dr) (6Diso - Da(1 + 3Dr))**-2,
506 dDa
507
508 dt0
509 --- = (1 - 3Dr) (6Diso - Da(1 - 3Dr))**-2,
510 dDa
511
512 dt1
513 --- = -2 (6Diso + 2Da)**-2,
514 dDa
515
516 dt2
517 --- = -2R (6Diso + 2DaR)**-2.
518 dDa
519
520
521 Dr partial derivatives
522 ~~~~~~~~~~~~~~~~~~~~~~
523
524 dt-2
525 ---- = 6 Da.Dr/R (6Diso - 2DaR)**-2,
526 dDr
527
528 dt-1
529 ---- = 3Da (6Diso - Da(1 + 3Dr))**-2,
530 dDr
531
532 dt0
533 --- = -3Da (6Diso - Da(1 - 3Dr))**-2,
534 dDr
535
536 dt1
537 --- = 0,
538 dDr
539
540 dt2
541 --- = -6 Da.Dr/R (6Diso + 2DaR)**-2.
542 dDr
543
544 The diffusion parameter set in data.diff_params is {tm, Da, Dr, alpha, beta, gamma}.
545 """
546
547
548 data.tau_comps_sqrd = data.tau_comps**2
549 data.inv_tm_sqrd = data.inv_tm**2
550 data.sixDaDrR = 6.0 * diff_data.params[1] * diff_data.params[2] / data.R
551
552
553
554
555
556 data.dti[0] = data.inv_tm_sqrd * data.tau_comps_sqrd
557
558
559
560
561
562
563 data.tau_scale[0] = 2.0 * data.R
564 data.tau_scale[1] = data.one_3Dr
565 data.tau_scale[2] = data.one_m3Dr
566 data.tau_scale[3] = -2.0
567 data.tau_scale[4] = -2.0 * data.R
568
569 data.dti[1] = data.tau_scale * data.tau_comps_sqrd
570
571
572
573
574
575
576 data.tau_scale[0] = data.sixDaDrR
577 data.tau_scale[1] = 3.0 * diff_data.params[1]
578 data.tau_scale[2] = -3.0 * diff_data.params[1]
579 data.tau_scale[3] = 0.0
580 data.tau_scale[4] = -data.sixDaDrR
581
582 data.dti[2] = data.tau_scale * data.tau_comps_sqrd
583
584
585
586
587
588
590 """Diffusional correlation time Hessians.
591
592 tm-tm partial derivatives
593 ~~~~~~~~~~~~~~~~~~~~~~~~~
594
595 d2t-2 / dDiso \ 2 d2Diso
596 ----- = 72 | ----- | (6Diso - 2DaR)**-3 - 6 ------ (6Diso - 2DaR)**-2,
597 dtm2 \ dtm / dtm2
598
599 d2t-1 / dDiso \ 2 d2Diso
600 ----- = 72 | ----- | (6Diso - Da(1 + 3Dr))**-3 - 6 ------ (6Diso - Da(1 + 3Dr))**-2,
601 dtm2 \ dtm / dtm2
602
603 d2t0 / dDiso \ 2 d2Diso
604 ---- = 72 | ----- | (6Diso - Da(1 - 3Dr))**-3 - 6 ------ (6Diso - Da(1 - 3Dr))**-2,
605 dtm2 \ dtm / dtm2
606
607 d2t1 / dDiso \ 2 d2Diso
608 ---- = 72 | ----- | (6Diso + 2Da)**-3 - 6 ------ (6Diso + 2Da)**-2,
609 dtm2 \ dtm / dtm2
610
611 d2t2 / dDiso \ 2 d2Diso
612 ---- = 72 | ----- | (6Diso + 2DaR)**-3 - 6 ------ (6Diso + 2DaR)**-2.
613 dtm2 \ dtm / dtm2
614
615 As
616
617 d2Diso
618 ------ = 1/3 * tm**-3,
619 dtm2
620
621 and
622
623 dDiso
624 ----- = -1/6 * tm**-2,
625 dtm
626
627 the equations simplify to
628
629 d2t-2
630 ----- = 2tm**-4 (6Diso - 2DaR)**-3 - 2tm**-3 (6Diso - 2DaR)**-2,
631 dtm2
632
633 d2t-1
634 ----- = 2tm**-4 (6Diso - Da(1 + 3Dr))**-3 - 2tm**-3 (6Diso - Da(1 + 3Dr))**-2,
635 dtm2
636
637 d2t0
638 ---- = 2tm**-4 (6Diso - Da(1 - 3Dr))**-3 - 2tm**-3 (6Diso - Da(1 - 3Dr))**-2,
639 dtm2
640
641 d2t1
642 ---- = 2tm**-4 (6Diso + 2Da)**-3 - 2tm**-3 (6Diso + 2Da)**-2,
643 dtm2
644
645 d2t2
646 ---- = 2tm**-4 (6Diso + 2DaR)**-3 - 2tm**-3 (6Diso + 2DaR)**-2.
647 dtm2
648
649
650
651 tm-Da partial derivatives
652 ~~~~~~~~~~~~~~~~~~~~~~~~~
653
654 d2t-2 dDiso
655 ------- = -24R ----- (6Diso - 2DaR)**-3,
656 dtm.dDa dtm
657
658 d2t-1 dDiso
659 ------- = -12(1 + 3Dr) ----- (6Diso - Da(1 + 3Dr))**-3,
660 dtm.dDa dtm
661
662 d2t0 dDiso
663 ------- = -12(1 - 3Dr) ----- (6Diso - Da(1 - 3Dr))**-3,
664 dtm.dDa dtm
665
666 d2t1 dDiso
667 ------- = 24 ----- (6Diso + 2Da)**-3,
668 dtm.dDa dtm
669
670 d2t2 dDiso
671 ------- = 24R ----- (6Diso + 2DaR)**-3.
672 dtm.dDa dtm
673
674 As
675
676 dDiso
677 ----- = -1/6 * tm**-2,
678 dtm
679
680 the equations simplify to
681
682 d2t-2
683 ------- = 4R tm**-2 (6Diso - 2DaR)**-3,
684 dtm.dDa
685
686 d2t-1
687 ------- = 2(1 + 3Dr) tm**-2 (6Diso - Da(1 + 3Dr))**-3,
688 dtm.dDa
689
690 d2t0
691 ------- = 2(1 - 3Dr) tm**-2 (6Diso - Da(1 - 3Dr))**-3,
692 dtm.dDa
693
694 d2t1
695 ------- = -4 tm**-2 (6Diso + 2Da)**-3,
696 dtm.dDa
697
698 d2t2
699 ------- = -4R tm**-2 (6Diso + 2DaR)**-3.
700 dtm.dDa
701
702
703 tm-Dr partial derivatives
704 ~~~~~~~~~~~~~~~~~~~~~~~~~
705
706 d2t-2 dDiso
707 ------- = -72 Da.Dr/R ----- (6Diso - 2DaR)**-3,
708 dtm.dDr dtm
709
710 d2t-1 dDiso
711 ------- = -36 Da ----- (6Diso - Da(1 + 3Dr))**-3,
712 dtm.dDr dtm
713
714 d2t0 dDiso
715 ------- = 36 Da ----- (6Diso - Da(1 - 3Dr))**-3,
716 dtm.dDr dtm
717
718 d2t1
719 ------- = 0,
720 dtm.dDr
721
722 d2t2 dDiso
723 ------- = 72 Da.Dr/R ----- (6Diso + 2DaR)**-3.
724 dtm.dDr dtm
725
726 As
727
728 dDiso
729 ----- = -1/6 * tm**-2,
730 dtm
731
732 the equations simplify to
733
734 d2t-2
735 ------- = 12 Da.Dr/R tm**-2 (6Diso - 2DaR)**-3,
736 dtm.dDr
737
738 d2t-1
739 ------- = 6 Da tm**-2 (6Diso - Da(1 + 3Dr))**-3,
740 dtm.dDr
741
742 d2t0
743 ------- = -6 Da tm**-2 (6Diso - Da(1 - 3Dr))**-3,
744 dtm.dDr
745
746 d2t1
747 ------- = 0,
748 dtm.dDr
749
750 d2t2
751 ------- = -12 Da.Dr/R tm**-2 (6Diso + 2DaR)**-3.
752 dtm.dDr
753
754
755 Da-Da partial derivatives
756 ~~~~~~~~~~~~~~~~~~~~~~~~~
757
758 d2t-2
759 ----- = 8R**2 (6Diso - 2DaR)**-3,
760 dDa2
761
762 d2t-1
763 ----- = 2(1 + 3Dr)**2 (6Diso - Da(1 + 3Dr))**-3,
764 dDa2
765
766 d2t0
767 ---- = 2(1 - 3Dr)**2 (6Diso - Da(1 - 3Dr))**-3,
768 dDa2
769
770 d2t1
771 ---- = 8(6Diso + 2Da)**-3,
772 dDa2
773
774 d2t2
775 ---- = 8R**2 (6Diso + 2DaR)**-3.
776 dDa2
777
778
779 Da-Dr partial derivatives
780 ~~~~~~~~~~~~~~~~~~~~~~~~~
781
782 d2t-2
783 ------- = 24Da.Dr (6Diso - 2DaR)**-3 + 6Dr/R (6Diso - 2DaR)**-2,
784 dDa.dDr
785
786 d2t-1
787 ------- = 6Da (1 + 3Dr)(6Diso - Da(1 + 3Dr))**-3 + 3(6Diso - Da(1 + 3Dr))**-2,
788 dDa.dDr
789
790 d2t0
791 ------- = -6Da (1 - 3Dr)(6Diso - Da(1 - 3Dr))**-3 - 3(6Diso - Da(1 - 3Dr))**-2,
792 dDa.dDr
793
794 d2t1
795 ------- = 0,
796 dDa.dDr
797
798 d2t2
799 ------- = 24Da.Dr (6Diso + 2DaR)**-3 - 6Dr/R (6Diso + 2DaR)**-2.
800 dDa.dDr
801
802
803 Dr-Dr partial derivatives
804 ~~~~~~~~~~~~~~~~~~~~~~~~~
805
806 d2t-2
807 ----- = 72(Da.Dr/R)**2 (6Diso - 2DaR)**-3 + 6Da/R**3 (6Diso - 2DaR)**-2,
808 dDr2
809
810 d2t-1
811 ----- = 18Da**2 (6Diso - Da(1 + 3Dr))**-3,
812 dDr2
813
814 d2t0
815 ---- = 18Da**2 (6Diso - Da(1 - 3Dr))**-3,
816 dDr2
817
818 d2t1
819 ---- = 0,
820 dDr2
821
822 d2t2
823 ---- = 72(Da.Dr/R)**2 (6Diso + 2DaR)**-3 - 6Da/R**3 (6Diso + 2DaR)**-2.
824 dDr2
825
826
827 The diffusion parameter set in data.diff_params is {tm, Da, Dr, alpha, beta, gamma}.
828 """
829
830
831 data.tau_comps_cubed = data.tau_comps**3
832
833
834
835
836
837 data.d2ti[0, 0] = 2.0 * data.inv_tm**3 * (data.inv_tm * data.tau_comps_cubed - data.tau_comps_sqrd)
838
839
840
841
842
843
844 data.tau_scale[0] = 2.0 * data.R
845 data.tau_scale[1] = data.one_3Dr
846 data.tau_scale[2] = data.one_m3Dr
847 data.tau_scale[3] = -2.0
848 data.tau_scale[4] = -2.0 * data.R
849
850 data.d2ti[0, 1] = data.d2ti[1, 0] = 2.0 * data.tau_scale * data.inv_tm_sqrd * data.tau_comps_cubed
851
852
853
854
855
856
857 data.tau_scale[0] = data.sixDaDrR
858 data.tau_scale[1] = 3.0 * diff_data.params[1]
859 data.tau_scale[2] = -3.0 * diff_data.params[1]
860 data.tau_scale[3] = 0.0
861 data.tau_scale[4] = -data.sixDaDrR
862
863 data.d2ti[0, 2] = data.d2ti[2, 0] = 2.0 * data.tau_scale * data.inv_tm_sqrd * data.tau_comps_cubed
864
865
866
867
868
869
870 data.tau_scale[0] = 2.0 * data.R
871 data.tau_scale[1] = data.one_3Dr
872 data.tau_scale[2] = data.one_m3Dr
873 data.tau_scale[3] = 2.0
874 data.tau_scale[4] = 2.0 * data.R
875
876 data.d2ti[1, 1] = 2.0 * data.tau_scale**2 * data.tau_comps_cubed
877
878
879
880
881
882
883 data.tau_scale[0] = 4.0 * diff_data.params[2]
884 data.tau_scale[1] = data.one_3Dr
885 data.tau_scale[2] = -data.one_m3Dr
886 data.tau_scale[3] = 0.0
887 data.tau_scale[4] = 4.0 * diff_data.params[2]
888
889 data.d2ti[1, 2] = 6.0 * diff_data.params[1] * data.tau_scale * data.tau_comps_cubed
890
891
892 data.tau_scale[0] = 6.0 * diff_data.params[2] / data.R
893 data.tau_scale[1] = 3.0
894 data.tau_scale[2] = -3.0
895 data.tau_scale[3] = 0.0
896 data.tau_scale[4] = -6.0 * diff_data.params[2] / data.R
897
898 data.d2ti[1, 2] = data.d2ti[2, 1] = data.d2ti[1, 2] + data.tau_scale * data.tau_comps_sqrd
899
900
901
902
903
904
905 data.tau_scale[0] = data.sixDaDrR
906 data.tau_scale[1] = 3.0 * diff_data.params[1]
907 data.tau_scale[2] = 3.0 * diff_data.params[1]
908 data.tau_scale[3] = 0.0
909 data.tau_scale[4] = data.sixDaDrR
910
911 data.d2ti[2, 2] = 2.0 * data.tau_scale**2 * data.tau_comps_cubed
912
913
914 data.tau_scale[0] = 1.0
915 data.tau_scale[1] = 0.0
916 data.tau_scale[2] = 0.0
917 data.tau_scale[3] = 0.0
918 data.tau_scale[4] = -1.0
919
920 try:
921 data.R_cubed = data.R**3
922 except OverflowError:
923 data.R_cubed = 1e99
924 data.d2ti[2, 2] = data.d2ti[2, 2] + 6.0 * diff_data.params[1] / data.R_cubed * data.tau_scale * data.tau_comps_sqrd
925