Linear Analysis Methods for XANES

When we do Linear Combination fitting, we build a matrix of n spectra with m energy points on the same grid:

X =
\begin{bmatrix} \mu_1(E_1) & \mu_1(E_2) & \cdots & \mu_1(E_m) \\
                \mu_2(E_1) & \mu_2(E_2) & \cdots & \mu_2(E_m) \\
                \mu_3(E_1) & \mu_3(E_2) & \cdots & \mu_3(E_m) \\
                \vdots     & \cdots     & \ddots & \vdots     \\
                \mu_n(E_1) & \mu_n(E_2) & \cdots & \mu_n(E_m) \\
\end{bmatrix}

and then assert that an unknown spectrum

S = \begin{bmatrix} \mu(E_1) & \mu(E_2)  & \cdots & \mu(E_m) \end{bmatrix}

can be represented by a set of weights

S =  X \times W

or

\begin{bmatrix} \mu(E_1) & \mu(E_2) & \cdots & \mu(E_m) \end{bmatrix} =
\begin{bmatrix} \mu_1(E_1) & \mu_1(E_2) & \cdots & \mu_1(E_m) \\
                \mu_2(E_1) & \mu_2(E_2) & \cdots & \mu_2(E_m) \\
                \mu_3(E_1) & \mu_3(E_2) & \cdots & \mu_3(E_m) \\
                \vdots     & \vdots     & \ddots & \vdots     \\
                \mu_n(E_1) & \mu_n(E_2) & \cdots & \mu_n(E_m) \\
                \end{bmatrix}      \times
\begin{bmatrix} w_1 \\ w_2 \\ w_3 \\ \vdots \\ w_n \end{bmatrix}

Linear Regression

Let’s step back and take a slightly more formal way of thinking about Linear Combinations for XANES analysis.

With n related XANES spectra on a common energy grid of m energy points, we can just rotate the spectral matrix:

X =
\begin{bmatrix} \mu_1(E_1) & \mu_2(E_1) & \cdots & \mu_n(E_1) \\
                \mu_1(E_2) & \mu_2(E_2) & \cdots & \mu_n(E_2) \\
                \mu_1(E_3) & \mu_2(E_3) & \cdots & \mu_n(E_3) \\
                \vdots     & \vdots     & \ddots & \vdots     \\
                \mu_1(E_m) & \mu_2(E_m) & \cdots & \mu_n(E_m) \\
\end{bmatrix}

Now, if we can assign some quantitatve value (say, oxidataion state, or fractional occupancy of some species) for each of the n XANES spectra: say:

V =  \begin{bmatrix} v_1 & v_2 & v_3 & \cdots & v_n \end{bmatrix}

Then we should be able to find m weights W that convert our spectral matrix into the external variable, such as valence:

\begin{bmatrix} v_1 & v_2 & v_3 & \cdots & v_n \end{bmatrix} =
\begin{bmatrix} \mu_1(E_1) & \mu_2(E_1) & \cdots & \mu_n(E_1) \\
                \mu_1(E_2) & \mu_2(E_2) & \cdots & \mu_n(E_2) \\
                \mu_1(E_3) & \mu_2(E_3) & \cdots & \mu_n(E_3) \\
                \vdots     & \vdots     & \ddots & \vdots     \\
                \mu_1(E_m) & \mu_2(E_m) & \cdots & \mu_n(E_m) \\
\end{bmatrix}      \times
\begin{bmatrix} w_{11} & w_{12} & \cdots & w_{1m} \\
                w_{21} & w_{22} & \cdots & w_{2m} \\
                w_{31} & w_{32} & \cdots & w_{3m} \\
                \vdots & \vdots & \ddots & \vdots \\
                w_{n1} & w_{n3} & \cdots & w_{nm}
\end{bmatrix}