SetDirectory["~/KappaLib/"];
<<kappaLib-1.2.m
<<helper.m

In this notebook we define a 3-parameter class of medium tensors kappa such that:

1) each kappa is algebraically decomposable.

2) beta^2 -alpha gamma = 0.

3) the Fresnel polynomial always has exactly two linear factors.

Define medium

kappa=emMatrixToKappa[(({{-2, 0, k13, k14, k15, 1}, {0, 1, 0, 5, 1, (3/2)}, {0, 0, 1, 1, 1, 0}, {0, 0, 0, 0, 0, -(1/2)}, {0, 0, 0, 1, 0, 1}, {0, 0, 0, 0, 1, 0}}))];

(* kappa is invertible *)
FullSimplify[emDet[kappa]]

(* kappa has no axion component *)
Simplify[emTrace[kappa]]

(* Since this does not simplify to {0}, kappa has a skewon component *)
Union[Flatten[kappa-emPoincare[kappa]]]

(* Since this does not simplify to {0}, kappa has a principal component *)
Union[Flatten[kappa+emPoincare[kappa]]]

Kappa depends on 3 variables

Variables[kappa]

Define constants alpha, beta, gamma and bivectors A and B

alpha= 1;
beta = -1;
gamma=1;
rho=1;
Abivector=(({{0, (3/2), 0, -(k13/2)}, {-(3/2), 0, 1, (1/16) (24+8 k15)}, {0, -1, 0, (1/64) (160-32 k14)}, {(k13/2), (1/16) (-24-8 k15), (1/64) (-160+32 k14), 0}}));
Bbivector=(({{0, 0, 0, 0}, {0, 0, (1/2), 0}, {0, -(1/2), 0, 1}, {0, 0, -1, 0}}));

Note these satisfy beta^2-alpha gamma = 0

beta^2-alpha gamma

Verify that kappa is algebraically decomposable

LHS =alpha emIdentityKappa[] + beta (kappa +emPoincare[kappa]) + gamma emCompose[emPoincare[kappa],kappa]; 
RHS=emBiProduct[rho,Abivector,Bbivector]+emBiProduct[rho,Bbivector,Abivector];
Union[Simplify[Flatten[(LHS-RHS)]]]

Compute Fresnel polynomial

coords={xi0,xi1,xi2,xi3};
fresnel=FullSimplify[emKappaToFresnel[kappa,coords]];

Fresnel polynomial is product of linear factor and quadatic form

linFactor1=(1/2) (xi0-xi1+2 xi2-5 xi3);
linFactor2= (3 xi1-k13 xi3);
quadraticForm=((xi1-xi2) xi2-xi1 xi3+2 (xi3^2));

Simplify[fresnel-linFactor1 linFactor2 quadraticForm]

Show that the quadratic factor is irreducible in the complex polynomials

v={v0,v1,v2,v3};
w={w0,w1,w2,w3};
delta=quadraticForm - (coords.v)(coords.w);
eqs=Union[Flatten[CoefficientList[delta,coords]]];
GroebnerBasis[eqs,Variables[eqs]]

Show that equation

   D (kappa + beta Id) = 1/2 trace (rho bar(D) otimes D)  A + B
   
has a solution for D

(*
 * If D=1/2 D^ij d/dx^i /\ d/dx^j is a bivector we represent 
 * the coefficients by the anti-symmetric matrix with coefficients 
 * of (D^ij)_ij. If kappa is an antisymmetric (2,2)-tensor,
 * then this routine returns coefficients of bivector D (kappa).
 *)
contract[biv_,kappa_] := Table[
 1/2 Sum[biv[[i]][[j]]emReadNormal[kappa,a,b,i,j]
      ,
      {i, 1, 4},{j, 1, 4}
    ]
 ,
 {a, 1, 4}, {b, 1, 4}
]

Dbivector=(({{0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, -1}, {0, 0, 1, 0}}));
dLHS = contract[Dbivector,kappa+beta emIdentityKappa[]];
dRHS = 1/2 emTrace[emBiProduct[rho,Dbivector,Dbivector]]Abivector+Bbivector;
deqs=Union[Flatten[Simplify[dLHS-dRHS]]]