QuantumGroupsPath = "~/projects/QuantumGroups/trunk/package/";
AppendTo[$Path, QuantumGroupsPath];
<<QuantumGroups`

SO[n_]/;EvenQ[n]:=(Subscript[D, n/2])
SO[6]=(Subscript[A, 3]);
SO[n_]/;OddQ[n]:=(Subscript[B, (n-1)/2])

AlcoveVectorWeights[(Subscript[D, n_]),l_]:=Cases[AlcoveWeights[(Subscript[D, n]),l],{___,a_,b_}/;EvenQ[a+b]]
AlcoveVectorWeights[(Subscript[B, n_]),l_]:=Cases[AlcoveWeights[(Subscript[B, n]),l],{___,a_}/;EvenQ[a]]
AlcoveVectorWeights[(Subscript[A, 3]),l_]:=Cases[AlcoveWeights[(Subscript[A, 3]),l],{a_,_,b_}/;EvenQ[a+b]]

Alcove1[n_,k_]:=AlcoveVectorWeights[SO[n],RootFromLevel[SO[n],k]]

Alcove2[n_,k_]:=AlcoveVectorWeights[SO[k],RootFromLevel[SO[k],n]]

QuotientObject[n_,k_]:=Irrep[SO[n]][k UnitVector[Rank[SO[n]],1]]
QuotientObject[6,k_]:=Irrep[SO[6]][k UnitVector[3,2]]

AlcoveOrbits1[n_,k_]:=Union[Union[{#,SteinbergDecomposeRepresentation[SO[n],RootFromLevel[SO[n],k]][QuotientObject[n,k]⊗ Irrep[SO[n]][#]][[1]]}]&/@Alcove1[n,k]]

AlcoveOrbits2[n_,k_]:=Union[Union[{#,SteinbergDecomposeRepresentation[SO[k],RootFromLevel[SO[k],n]][QuotientObject[k,n]⊗ Irrep[SO[k]][#]][[1]]}]&/@Alcove2[n,k]]

Alcoves[n_,k_]:={Alcove1[n,k],Alcove2[n,k]}

AlcoveOrbits[n_,k_]:={AlcoveOrbits1[n,k],AlcoveOrbits2[n,k]}

OrbitDimensions1[n_,k_]:=RootReduce[ExpToTrig[((Length[#])/2)(qDimension[SO[n]][Irrep[SO[n]][#[[1]]]]/.q->Exp[2π I(1/(RootFromLevel[SO[n],k]))])]]&/@AlcoveOrbits1[n,k]

OrbitDimensions2[n_,k_]:=RootReduce[ExpToTrig[((Length[#])/2)(qDimension[SO[k]][Irrep[SO[k]][#[[1]]]]/.q->-Exp[2π I((-1)/(RootFromLevel[SO[n],k]))])]]&/@AlcoveOrbits2[n,k]

Table[With[{n=3},{ ((-1+(1/2)RootFromLevel[SO[n],k])/(RootFromLevel[SO[n],k])),(1/(RootFromLevel[SO[k],n]))}],{k,3,10}]

Table[With[{n=4},{ ((-1+(1/2)RootFromLevel[SO[n],k])/(RootFromLevel[SO[n],k])),(1/(RootFromLevel[SO[k],n]))}],{k,4,10}]

Table[RootWeightQ[SO[n],UnitVector[Rank[SO[n]],1]],{n,5,15}]

Table[RootWeightQ[SO[n],2UnitVector[Rank[SO[n]],1]],{n,5,15}]

RootWeightQ[SO[6],{0,2,0}]

RootFromLevel[(Subscript[D, n/2]),k]

RootFromLevel[(Subscript[B, (n-1)/2]),k]

OrbitDimensions[n_,k_]:={OrbitDimensions1[n,k],OrbitDimensions2[n,k]}

Alcove1[5,6]

AlcoveOrbits[5,6]

Length/@%

AlcoveOrbits[5,7]

Length/@%

AlcoveOrbits[6,8]

Length/@%

OrbitDimensions[5,6]

N[%]

OrbitDimensions[5,7]

N[%]

Alcoves[5,6]

Length/@%