In a 4D Minkowski space, this notebook calculates the spherical tangent space basis for a spherical parameterization of span{(Subscript[e, 2]), (Subscript[e, 3]), (Subscript[e, 4])} and their duals on that volume.  The duals are calculated using the Geometric algebra methods, instead of matrix inversion.

<<"clifford.m" ;

$SetSignature= 3

ClearAll[xVec, x, xx, xr, xAlpha, xphi, basis, xRAlphaPhi, reciprocals] ;

xVec[xParam_, r_, alpha_, phi_] = { xParam, r Sinh[alpha] Cos[phi], r Sinh[alpha]Sin[phi],r Cosh[alpha]} // ToBasis ;
xr[r_, alpha_, phi_] = D[xVec[x, u, alpha, phi], u] ;
xAlpha[r_, alpha_, phi_] = D[xVec[x, r, u, phi], u]  /. u-> alpha ;
xphi[r_, alpha_, phi_] = D[xVec[x, r, alpha, u], u]  /. u-> phi ;

basis = { xr[r, α, ϕ], xAlpha[r, α, ϕ], xphi[r, α, ϕ] } ; 

duals = OuterProduct[basis[[#[[1]]]], basis[[#[[2]]]]]  & /@ {{2,3}, {3, 1}, {1,2}} // Simplify // Expand // Factor ;

xRAlphaPhi = OuterProduct[ basis[[1]], basis[[2]], basis[[3]] ] // Simplify ;

reciprocals = MapThread[ GeometricProduct, { 
duals, 
Array[ (xRAlphaPhi // MultivectorInverse )+ 0&, 3] (*Repeat 3 times.*)
}  ] // Simplify ;

Grid[{
{"(Subscript[(OverVector[e]), i])· (Subscript[(OverVector[e]), j]) = ", Table[ InnerProduct[e[i],e[j]], {i,4}, {j,4}] // Simplify // MatrixForm},

{"(OverVector[x]) = ", xVec[x,r, α, ϕ]  },
{"(Subscript[(OverVector[x]), r]) = ", basis[[1]] },
{"(Subscript[(OverVector[x]), α]) = ", basis[[2]]},
{"(Subscript[(OverVector[x]), ϕ]) = ",basis[[3]] },

{"(Subscript[(OverVector[x]), i])· (Subscript[(OverVector[x]), j]) = ", Table[ InnerProduct[basis[[i]],basis[[j]]], {i,3}, {j,3}] // Simplify // MatrixForm},

{"((OverVector[x])^r) = ", reciprocals[[1]] // Expand // Factor  },
{"((OverVector[x])^α) = ", reciprocals[[2]] // Expand // Factor },
{"((OverVector[x])^ϕ) = ",reciprocals[[3]] // Expand // Factor  },

{"(Subscript[(OverVector[x]), α]) ⋀ (Subscript[(OverVector[x]), ϕ]) = ", duals[[1]] // Expand // Factor},
{"(Subscript[(OverVector[x]), ϕ]) ⋀ (Subscript[(OverVector[x]), r]) = ", duals[[2]] // Expand // Factor},
{"(Subscript[(OverVector[x]), r]) ⋀ (Subscript[(OverVector[x]), α]) = ", duals[[3]] // Expand // Factor},

{"(Subscript[(OverVector[x]), r]) ⋀ (Subscript[(OverVector[x]), α]) ⋀ (Subscript[(OverVector[x]), ϕ]) = ", xRAlphaPhi},

{"((OverVector[x])^i)· (Subscript[(OverVector[x]), j]) = ", Table[ InnerProduct[basis[[i]],reciprocals[[j]]], {i,3}, {j,3}] // Simplify // MatrixForm}
} ] // TraditionalForm