Verify hand calculation from polarization.tex (also set as a problem).

ClearAll[  cToVec]

cToVec = {one -> e1, Complex[0,1] -> -e2, Complex[0,-1] -> e2};

Take II

Got my hand calculation wrong.  Try this with Mathematica instead:

ClearAll[alpha1, alpha2, beta1, beta2, alphaR, alphaL, phi, one, e1, e2]
alphaR = alphaR1 + I alphaR2;
alphaL = alphaL1 + I alphaL2;

vecE = (alphaR Exp[I phi] + alphaL Exp[ -I phi] // ExpToTrig) // Simplify

((one alphaL1+I alphaL2+one alphaR1+I alphaR2) Cos[phi]+(-I alphaL1+one alphaL2+I alphaR1-one alphaR2) Sin[phi] /. cToVec) // Simplify

s = Solve[{alphaL1 +alphaR1 == alpha1, -(alphaL2+alphaR2) == alpha2, alphaL2-alphaR2 == -beta1, (alphaL1-alphaR1) == -beta2}, (*{alpha1, alpha2, beta1, beta2}*)
{alphaR1, alphaR2, alphaL1, alphaL2}
] // First

Now check this solution:

alphaR = (alphaR1 + I alphaR2) /. s
alphaL = (alphaL1 + I alphaL2) /. s

(alphaR Exp[I phi] + alphaL Exp[ -I phi] // ExpToTrig) // Simplify

Manually change from complex basis to vector

((one alpha1-I alpha2) Cos[phi]-(one beta1-I beta2) Sin[phi]) /. cToVec

Works!