@@ -384,133 +384,6 @@ def eps_matrix(self):
384
384
385
385
return nsi_eps
386
386
387
- @property
388
- def eps_matrix_analytical (self ):
389
- """Effective NSI coupling matrix calculated analytically."""
390
- # Analytical relations. These are wrong right now! #FIXME
391
- nsi_eps = np .zeros ((3 , 3 , 2 ), dtype = FTYPE )
392
-
393
- sp12 = np .sin (self .phi12 )
394
- sp13 = np .sin (self .phi13 )
395
- sp23 = np .sin (self .phi23 )
396
- cp12 = np .sqrt (1. - sp12 ** 2 )
397
- cp13 = np .sqrt (1. - sp13 ** 2 )
398
- cp23 = np .sqrt (1. - sp23 ** 2 )
399
-
400
- sdnsi = np .sin (self .deltansi )
401
- cdnsi = np .cos (self .deltansi )
402
-
403
- # eps_ee - eps_mumu (real)
404
- nsi_eps [0 , 0 , 0 ] = (
405
- self .eps_scale * cp13 ** 2 * (cp12 ** 2 - sp12 ** 2 ) +
406
- self .eps_prime * (
407
- (cp12 ** 2 - sp12 ** 2 ) * (sp13 ** 2 * sp23 ** 2 - cp23 ** 2 ) -
408
- 4 * cp12 * sp12 * sp13 * cp23 * sp23 * cdnsi
409
- )
410
- ) - 1
411
- nsi_eps [0 , 0 , 1 ] = 0.
412
- # eps_emu (complex)
413
- nsi_eps [0 , 1 , 0 ] = (
414
- self .eps_scale * cp12 * sp12 * cp13 ** 2 * np .cos (self .alpha1 - self .alpha2 ) +
415
- self .eps_prime * (
416
- (
417
- cp12 * sp12 * (sp13 ** 2 * sp23 ** 2 - cp23 ** 2 ) +
418
- sp13 * cp23 * sp23 * cdnsi * (cp12 ** 2 - sp12 ** 2 )
419
- ) * np .cos (self .alpha1 - self .alpha2 ) -
420
- (
421
- sp13 * cp23 * sp23 * sdnsi
422
- ) * np .sin (self .alpha1 - self .alpha2 )
423
- )
424
- )
425
- nsi_eps [0 , 1 , 1 ] = (
426
- self .eps_scale * cp12 * sp12 * cp13 ** 2 * np .sin (self .alpha1 - self .alpha2 ) +
427
- self .eps_prime * (
428
- (
429
- cp12 * sp12 * (sp13 ** 2 * sp23 ** 2 - cp23 ** 2 ) +
430
- sp13 * cp23 * sp23 * cdnsi * (cp12 ** 2 - sp12 ** 2 )
431
- ) * np .sin (self .alpha1 - self .alpha2 ) +
432
- (
433
- sp13 * cp23 * sp23 * sdnsi
434
- ) * np .cos (self .alpha1 - self .alpha2 )
435
- )
436
- )
437
- # eps_etau (complex)
438
- nsi_eps [0 , 2 , 0 ] = (
439
- - self .eps_scale * cp12 * sp13 * cp13 * np .cos (2 * self .alpha1 + self .alpha2 ) +
440
- self .eps_prime * (
441
- (
442
- cp13 * sp23 * (cp12 * sp13 * sp23 - sp12 * cp23 * cdnsi )
443
- ) * np .cos (2 * self .alpha1 + self .alpha2 ) -
444
- (
445
- cp13 * sp12 * cp23 * sp23 * sdnsi
446
- ) * np .sin (2 * self .alpha1 + self .alpha2 )
447
- )
448
- )
449
- nsi_eps [0 , 2 , 1 ] = (
450
- - self .eps_scale * cp12 * sp13 * cp13 * np .sin (2 * self .alpha1 + self .alpha2 ) +
451
- self .eps_prime * (
452
- (
453
- cp13 * sp23 * (cp12 * sp13 * sp23 - sp12 * cp23 * cdnsi )
454
- ) * np .sin (2 * self .alpha1 + self .alpha2 ) +
455
- (
456
- cp13 * sp23 * sp12 * cp23 * sdnsi
457
- ) * np .cos (2 * self .alpha1 + self .alpha2 )
458
- )
459
- )
460
- # eps_emu* (complex)
461
- nsi_eps [1 , 0 , 0 ] = nsi_eps [0 , 1 , 0 ]
462
- nsi_eps [1 , 0 , 1 ] = - nsi_eps [0 , 1 , 1 ]
463
- # eps_etau* (complex)
464
- nsi_eps [2 , 0 , 0 ] = nsi_eps [0 , 2 , 0 ]
465
- nsi_eps [2 , 0 , 1 ] = - nsi_eps [0 , 2 , 1 ]
466
- # eps_mumu - eps_mumu (0 by definition)
467
- nsi_eps [1 , 1 , 0 ] = 0.
468
- nsi_eps [1 , 1 , 1 ] = 0.
469
- # eps_mutau (complex)
470
- nsi_eps [1 , 2 , 0 ] = (
471
- - self .eps_scale * sp12 * cp13 * sp13 * np .cos (self .alpha1 + 2 * self .alpha2 ) +
472
- self .eps_prime * (
473
- (
474
- cp13 * sp23 * (sp12 * sp13 * sp23 + cp12 * cp23 * cdnsi )
475
- ) * np .cos (self .alpha1 + 2 * self .alpha2 ) +
476
- (
477
- cp12 * cp13 * cp23 * sp23 * sdnsi
478
- ) * np .sin (self .alpha1 + 2 * self .alpha2 )
479
- )
480
- )
481
- nsi_eps [1 , 2 , 1 ] = (
482
- - self .eps_scale * sp12 * cp13 * sp13 * np .sin (self .alpha1 + 2 * self .alpha2 ) +
483
- self .eps_prime * (
484
- (
485
- - cp12 * cp13 * cp23 * sp23 * sdnsi
486
- ) * np .cos (self .alpha1 + 2 * self .alpha2 ) +
487
- (
488
- cp13 * sp23 * (sp12 * sp13 * sp23 + cp12 * cp23 * cdnsi )
489
- ) * np .sin (self .alpha1 + 2 * self .alpha2 )
490
- )
491
- )
492
- # eps_mutau* (complex)
493
- nsi_eps [2 , 1 , 0 ] = nsi_eps [1 , 2 , 0 ]
494
- nsi_eps [2 , 1 , 1 ] = - nsi_eps [1 , 2 , 1 ]
495
- # eps_tautau - eps_mumu (real)
496
- nsi_eps [2 , 2 , 0 ] = (
497
- self .eps_scale * (sp13 ** 2 - cp13 ** 2 * sp12 ** 2 ) +
498
- self .eps_prime * (
499
- sp23 ** 2 * (cp13 ** 2 - sp12 ** 2 * sp13 ** 2 ) -
500
- 2 * cp12 * sp12 * sp13 * cp23 * sp23 * cdnsi -
501
- cp12 ** 2 * cp23 ** 2
502
- )
503
- )
504
- nsi_eps [2 , 2 , 1 ] = 0.
505
-
506
- # make this into a complex 2d array
507
- nsi_eps = nsi_eps [:, :, 0 ] + nsi_eps [:, :, 1 ] * 1.j
508
- # make sure this is a valid Hermitian potential matrix
509
- # before returning anything
510
- assert np .allclose (nsi_eps , nsi_eps .conj ().T , ** ALLCLOSE_KW )
511
-
512
- return nsi_eps
513
-
514
387
def test_nsi_params ():
515
388
"""Unit tests for subclasses of `NSIParams`."""
516
389
# TODO: these have to be extended
@@ -563,35 +436,9 @@ def test_nsi_parameterization():
563
436
nsi_params .alpha2 = alpha2
564
437
nsi_params .deltansi = deltansi
565
438
566
- logging .trace ('Checking agreement between numerical & analytical NSI matrix...' )
567
-
568
439
eps_mat_numerical = nsi_params .eps_matrix
569
- eps_mat_analytical = nsi_params .eps_matrix_analytical
570
-
571
- try :
572
- close = np .isclose (eps_mat_numerical , eps_mat_analytical , ** ALLCLOSE_KW )
573
- if not np .all (close ):
574
- logging .debug (
575
- "Numerical NSI matrix:\n %s" ,
576
- np .array2string (eps_mat_numerical , ** ARY2STR_KW )
577
- )
578
- logging .debug (
579
- "Analytical expansion (by hand):\n %s" ,
580
- np .array2string (eps_mat_analytical , ** ARY2STR_KW )
581
- )
582
- raise ValueError (
583
- 'Evaluating analytical expressions for NSI matrix elements'
584
- ' does not give agreement with numerical calculation!'
585
- ' Elementwise agreement:\n %s'
586
- % close
587
- )
588
- except ValueError as err :
589
- logging .warning (
590
- "%s\n This is expected."
591
- " Going ahead with numerical calculation for now." , err
592
- )
593
440
594
- logging .trace ('Now checking agreement with sympy calculation...' )
441
+ logging .trace ('Checking agreement with sympy calculation...' )
595
442
596
443
eps_mat_sympy = nsi_sympy_mat_mult (
597
444
eps_scale_val = eps_scale ,
0 commit comments