\[
x^{‘}=\left(M^{T}M\right)^{-1}M^{T}x
\]
\[
M=
\left[\begin{matrix}
\vdots & \vdots & & \vdots \\
m_1 & m_2 & \cdots & m_n \\
\vdots & \vdots & & \vdots
\end{matrix}\right]
\]
where \(m\) can be the non-orthogonal basis column vectors, \(x\) is a column vector in global coordinates, \(x^{‘}\) is a column vector in non-orthogonal basis coordinates. Note the \(\left(M^{T}M\right)^{-1}M^{T}\) is the psudo inverse of \(M\) when \(M\) is not a square matrix.
derivation:
\[
\begin{align*}
x &= Mx^{‘} \\
M^{T}x &= M^{T}Mx^{‘} \\
x^{‘}&=\left(M^{T}M\right)^{-1}M^{T}x
\end{align*}
\]
if \(M\) is an orthogonal basis, then
\[
\begin{align*}
x^{‘}&=\left(M^{T}M\right)^{-1}M^{T}x\\
&=I^{-1}M^{T}x\\
&=M^{T}x\\
&=M^{-1}x
\end{align*}
\]
re-project:
\[
\begin{align*}
Mx^{‘} &=M\left(M^{T}M\right)^{-1}M^{T}x \\
&=MM^{-1}M^{-T}M^{T}x \\
&=x
\end{align*}
\]