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

Metaclass IV:

kappa=emMatrixToKappa[(({{a1, 0, 0, -b1, 0, 0}, {0, a2, 0, 0, -b2, 0}, {0, 0, a3, 0, 0, a4}, {b1, 0, 0, a1, 0, 0}, {0, b2, 0, 0, a2, 0}, {0, 0, a4, 0, 0, a3}}))];

By Theorem 3.5 we may assume that a2 = a1 and b2 = b1

sub={a2->a1,b2->b1};
kappa=kappa//.sub;

Let us also assume that a1 = a3

sub=Append[sub,a3->a1];
kappa=kappa//.sub;

Medium characteristics

emKappaToMatrix[kappa]//MatrixForm
FullSimplify[emDet[kappa]]
Simplify[emTrace[kappa]]

Define coefficients in Theorem 5.1:

rho=(a4^2+b1^2)/2;
mu=-a1;
lambda= b1^2;

Abivector=(({{0, 0, 0,  0 }, {0, 0, 1 , 0}, {0, -1 , 0, 0}, {0, 0, 0, 0}}));
Bbivector=(({{0, 0, 0, 1}, {0, 0, 0, 0}, {0, 0, 0, 0}, {-1, 0, 0, 0}}));
Simplify[Abivector+Transpose[Abivector]]
Simplify[Bbivector+Transpose[Bbivector]]

Verify claim:

eta=kappa+mu emIdentityKappa[];
LHS =emCompose[eta,eta];
RHS= -lambda emIdentityKappa[]+ emBiProduct[rho, Abivector, Bbivector]+ emBiProduct[rho, Bbivector, Abivector];
Union[Flatten[Simplify[LHS-RHS]]]

Note: 
* kappa + mu Id is trace-free in this case
* lambda > 0
* rho, A, B are all non-zero

emTrace[eta]

Solvability of equation for D

Define constants alpha, beta, gamma that appear in definition of algebraically decomposable medium

alpha = lambda + mu^2;
beta = mu;
gamma = 1;

Explicitly 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];
eqs=Union[Simplify[Flatten[(LHS-RHS)]]]

Existence of D:

Note: Theorem 3.5 ensures that a4 != 0.

Dbivector=1/a4  Abivector;
(* contract kappa with a bivector from the left *)
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}
]
dLHS = contract[Dbivector,kappa+beta emIdentityKappa[]];
dRHS = 1/2 emTrace[emBiProduct[rho,Dbivector,Dbivector]]Abivector+Bbivector;
deqs=Union[Flatten[Simplify[dLHS-dRHS]]]

Note: Theorem 3.5 ensures that a4 != 0. Alternatively, if a4 = 0, then the Fresnel surface contains the 2-dimensional plane x1=x2=0.

fresnel=emKappaToFresnel[kappa,{x0,x1,x2,x3}];
FullSimplify[fresnel/.{a4->0}]