Looking for a BCC basis.

First try was wrong, but this one works:

(Subscript[(OverVector[a]), 1])= ((a/2))(1, 1,1)

(Subscript[(OverVector[a]), 2])= ((a/2))(1, 1,-1)

(Subscript[(OverVector[a]), 3])= a (1, 0, 0)

Can reach all the corners with integers k, l, m ? i.e.:

(({{(Subscript[(OverVector[a]), 1]), (Subscript[(OverVector[a]), 2]), (Subscript[(OverVector[a]), 3])}})) (({{k}, {l}, {m}})) = a (({{1, 0, 0}, {0, 1, 0}, {0, 0, 1}}))

Clear[a1, a2, a3, a, am]
a1 = (a/2){1, 1, 1} ;
a2 = (a/2){1, 1, -1} ;
a3 = (a){1, 0, 0} ;

am = {a1, a2, a3} // Transpose ;
(*am // MatrixForm*)

Clear[b]
b = DiagonalMatrix[a{1, 1,1}] . Inverse[ am] ;
Row[{{(({{k}, {l}, {m}})) // MatrixForm}, " = ",
Table[
b[[All, i]] // MatrixForm,{i, 3}] }]

We can also grab the reciprocal vectors from that inversion

Clear[ g ]
g = 2 Pi b /a;

Row[{HoldForm[(Subscript[(OverVector[g]), i])], " = ",
2 Pi/a,Table[
g[[i]] a /(2 Pi)// MatrixForm,{i, 3}] }]

Check the orthonormality relation (Subscript[(OverVector[g]), i]) . (Subscript[(OverVector[a]), j]) = 2 π (Subscript[δ, ij])

Row[{ HoldForm[(Subscript[({(Subscript[(OverVector[g]), i]) . (Subscript[(OverVector[a]), j])} // MatrixForm), ij])], " = ",
2 Pi, Table[g[[i]] . am[[All,j]]/(2 Pi), {i, 3}, {j, 3}] // MatrixForm}]