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

Every medium with a double light cone can not be written as

    kappa =  C1 ast_g +  rho overline(A) otimes A + C2 Id
    
where A is simple.

Define counter example.

Intuition: From the proof of our main result, we see that bivector A is not simple when
a1 != a2 in Metaclass I.

kappa=emMatrixToKappa[(({{a1, 0, 0, -b1, 0, 0}, {0, a2, 0, 0, -b2, 0}, {0, 0, a3, 0, 0, -b3}, {b1, 0, 0, a1, 0, 0}, {0, b2, 0, 0, a2, 0}, {0, 0, b3, 0, 0, a3}}))];
kappa=kappa//.{b3->b2,a3->a2};
kappa=kappa//.{a1->1,a2->2,b1->1,b2->1};
emKappaToMatrix[kappa]//MatrixForm

Verify that kappa is invertible, skewon-free and has a double light cone

emDet[kappa]
Union[Flatten[emPoincare[kappa]-kappa]]

vars={x0,x1,x2,x3};
fresnel=emKappaToFresnel[kappa,vars];

AA= (({{1, 0, 0, 0}, {0, -1, 0, 0}, {0, 0, (1/2) (-3+(Sqrt[5])), 0}, {0, 0, 0, (1/2) (-3+(Sqrt[5]))}}));
BB =(({{1, 0, 0, 0}, {0, -1, 0, 0}, {0, 0, (1/2) (-3-(Sqrt[5])), 0}, {0, 0, 0, (1/2) (-3-(Sqrt[5]))}}));

Sort[Eigenvalues[AA]//N]
Sort[Eigenvalues[BB]//N]

Simplify[fresnel- (vars.AA.vars)(vars.BB.vars)]

If A /\ A = 0, then A is simple, and there are vectors u and v such that

    A = u /\ v

u={u1,u2,u3,u4};
v={v1,v2,v3,v4};
Abivector=Table[
u[[i]]v[[j]]-u[[j]]v[[i]],
{i,1,4},{j,1,4}];

Abivector//MatrixForm

Define coefficients for g^ij

InvMetric=emMatrix["g",4,Structure->"Symmetric"];

Write representation for kappa:

kappaAlt=C1 emQMedium[SqrtAbsDetG,InvMetric] + emBiProduct[rho,Abivector, Abivector] +C2 emIdentityKappa[];
eqs=Union[Flatten[FullSimplify[kappa-kappaAlt]]];
eqs=simp[eqs];

show[eqs]

gb=GroebnerBasis[eqs,Variables[eqs]];//Timing

gb=simp[gb];//Timing

gb

We know that a system of polynomial equations has no solution in the complex domain if a Gröbner basis for the equations is {1}.