Skip to content

Commit 081606c

Browse files
authored
Remove unimplemented analytical NSI matrix calculation from nsi_params.py (#786)
1 parent 6ad2b2b commit 081606c

File tree

1 file changed

+1
-154
lines changed

1 file changed

+1
-154
lines changed

Diff for: pisa/stages/osc/nsi_params.py

+1-154
Original file line numberDiff line numberDiff line change
@@ -384,133 +384,6 @@ def eps_matrix(self):
384384

385385
return nsi_eps
386386

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-
514387
def test_nsi_params():
515388
"""Unit tests for subclasses of `NSIParams`."""
516389
# TODO: these have to be extended
@@ -563,35 +436,9 @@ def test_nsi_parameterization():
563436
nsi_params.alpha2 = alpha2
564437
nsi_params.deltansi = deltansi
565438

566-
logging.trace('Checking agreement between numerical & analytical NSI matrix...')
567-
568439
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\nThis is expected."
591-
" Going ahead with numerical calculation for now.", err
592-
)
593440

594-
logging.trace('Now checking agreement with sympy calculation...')
441+
logging.trace('Checking agreement with sympy calculation...')
595442

596443
eps_mat_sympy = nsi_sympy_mat_mult(
597444
eps_scale_val=eps_scale,

0 commit comments

Comments
 (0)