2 votos

¿Podemos descomponer un conjunto de expresiones algebraicas en un producto de matrices que separen las variables conocidas de las desconocidas?

Vectores dados $\sigma, \tau \in \Bbb R^n \ge0$ y constante $\mu \in \Bbb R^1>0$ y que la función de valor matricial $C : \Bbb R \to \Bbb R^{2 \times n}$ se define por $$C (\mu) := \begin{bmatrix} \vec\sigma+\mu(\vec\tau-\vec\sigma) \\\vec\tau-\vec\sigma-\mu(\vec\tau-\vec\sigma) \end{bmatrix}=\begin{bmatrix} \sigma_1+\mu(\tau_1-\sigma_1) & \sigma_2+\mu(\tau_2-\sigma_2) & \cdots & \sigma_n+\mu(\tau_n-\sigma_n)\\ \tau_1-\sigma_1-\mu(\tau_1-\sigma_1) & \tau_2-\sigma_2-\mu(\tau_2-\sigma_2) & \cdots & \tau_n-\sigma_n-\mu(\tau_n-\sigma_n) \end{bmatrix}$$

¿Podemos descomponer $C$ en el producto de dos matrices que separan la incógnita $μ$ de los conocidos $σ$ y $τ$ ? Algo así como $$C (\mu) = A(\mu) B_{\sigma, \tau}$$

En términos más generales, ¿cómo se manejan las matrices de expresiones en problemas como éste?

$\cdots\cdots$

Contexto

Quizá te preguntes de dónde viene esta extraña construcción de una matriz. Tengan paciencia conmigo mientras intento explicar esta conflagración de química analítica y álgebra lineal y por qué nos interesa descomponer esta matriz de esta manera (si es que esa es la terminología correcta). Debo señalar que mi formación es de química analítica con énfasis en las aplicaciones de Espectroscopia Raman . Hace años tuve un curso de álgebra lineal de grado, y más tarde me encontré con su aplicación a quimiometría análisis cuantitativo de los espectros como estudiante de posgrado. Utilizo Matlab para el análisis de datos, que se basa en representaciones matriciales de datos y matemáticas matriciales.

Antecedentes

En el análisis de datos de espectroscopia, a menudo tenemos un conjunto de espectros de muestra, $S \in\Bbb R \to \Bbb R^{m \times n}\ge 0$ que se recogieron en un instrumento en el que $m$ es el índice espectral del píxel, por ejemplo, la longitud de onda, la frecuencia, etc. y $n$ es el índice de la muestra.

Por ejemplo, aquí hay un conjunto de 100 espectros Raman a diez concentraciones discretas: Ejemplos de espectros . Para este conjunto, el eje de desplazamiento Raman (el $m$ -) oscila entre 0 y 3700 $\,cm^{-1}$ con 1024 gradaciones (píxeles) y hay 100 espectros por lo que las dimensiones de $S$ son 1024 $\times$ 100. Los diez primeros espectros son de color azul, los diez últimos de color rojo, y todo lo que hay en medio a lo largo del esquema de color "jet", desde el azul hasta el verde, pasando por el amarillo, el naranja y el rojo.

En muchos casos, los espectros Raman son aditivos, es decir, el espectro de una mezcla de gases, por ejemplo, es equivalente a la suma de sus partes. Así, nuestro conjunto de 100 espectros puede representarse con álgebra lineal como el producto de un conjunto de espectros de componentes puros, $P: \Bbb R \to \Bbb R^{m \times p}$ y una matriz de concentraciones de cada uno de los $p$ componentes puros en el $n$ muestras, $C: \Bbb R \to \Bbb R^{p \times n}\ge0$ : $$S^{m\times n} =P^{m\times p}*C^{p\times n}$$

Esta expresión del principio de superposición es como la forma de álgebra lineal de la Ley de Beer: los recuentos en un espectro son proporcionales a la concentración y en una mezcla, los recuentos totales son proporcionales a la suma de las concentraciones de los componentes.

En Análisis clásico de mínimos cuadrados podríamos utilizar esta relación en un conjunto de espectros de mezclas de composición conocida para obtener la estimación por mínimos cuadrados de los espectros de los componentes puros utilizando la pseudoinversa derecha de $C$ : $$S*[C^\top*(C*C^\top)^{-1}]=P*C*[C^\top*(C*C^\top)^{-1}]$$ $$S*C^\top*(C*C^\top)^{-1}=P*\begin{bmatrix} 1&0&\cdots0\\ 0&1&\cdots0\\ \vdots&\vdots&\ddots0\\ 0&0&\cdots1\\ \end{bmatrix}^{p\times p}=P $$ A su vez, podríamos aplicar esta "calibración" a un espectro de una mezcla desconocida, $U^{m\times 1}$ para estimar su composición, $\Gamma^{p\times 1}$ : $$(P^\top P)^{-1}*P^\top*U = \Gamma$$

La gran pregunta

Consideremos un escenario en el que no sabemos $P$ y no tenemos toda la información sobre $C$ : Tenemos una mezcla madre con cantidades desconocidas de dos componentes. Pudimos pinchar esa mezcla madre con cantidades conocidas de uno de los componentes para generar nuevas mezclas de las que recogimos espectros (es decir, el método de las adiciones estándar). Por desgracia, nos olvidamos de medir el espectro del componente puro y nos quedamos sin él. (Hmmm. Este escenario es vergonzosamente específico...) No obstante, a partir de este conjunto de datos ¿Podemos estimar la composición de la mezcla de acciones? $\mu$ y obtener los dos espectros de componentes puros $P^{m \times 2}$ ?

Podemos considerar que la matriz de concentración $[C]$ puede representarse como una matriz de expresiones algebraicas que contienen lo que sabemos sobre las composiciones de las muestras de las que generamos y medimos los espectros. Introducimos una variable $\mu$ que es la fracción desconocida del componente pinchado en la mezcla madre. También introducimos $\sigma_n$ la concentración del componente puro añadido a la mezcla madre para generar una muestra determinada y, por último $\tau_n$ la concentración total de ambos componentes en una muestra determinada. La concentración del componente pinchado en una muestra dada es la suma del pico $\sigma_n$ y la contribución de las acciones, $\mu*(\tau_n-\sigma_n)$ . La concentración del segundo componente es simplemente $\tau_n$ menos la concentración del primer componente, lo que da lugar a la serie de expresiones algebraicas no convencionales anteriores.

A dónde vamos con esto

Habiendo descompuesto $C$ en el producto de matrices de incógnitas, $A(\mu)^{2\times q}$ , separados de los conocidos, $B_{\sigma, \tau}\,^{q \times n}$ , utilizaremos de nuevo la pseudoinversión a la derecha para trasladar lo que sabemos al lado izquierdo de la ecuación matricial: $$S*B^+=P*A$$ Sospecho que hacerlo nos permitirá obtener las estimaciones por mínimos cuadrados de los espectros de los componentes puros y de la composición de la mezcla madre.

Muchas gracias a @Rodrigodeazevedo, que fue el primero en responder a esta pregunta y colaboró pacientemente conmigo para aclarar la notación

2voto

Dejemos que ${\rm a} := \begin{bmatrix} 1 \\ -1\end{bmatrix}$ y ${\rm b} := \begin{bmatrix} 0 \\ 1\end{bmatrix}$ . Por lo tanto,

$$\rm C (\mu) := a \sigma^\top + b \tau^\top + \mu a (\tau - \sigma)^\top = \begin{bmatrix} | & | & |\\ \mathrm a & \mathrm b & \mathrm a\\ | & | & |\end{bmatrix} \begin{bmatrix} 1 & & \\ & 1 & \\ & & \mu\end{bmatrix} \begin{bmatrix} | & | & |\\ \sigma & \tau & \tau - \sigma\\ | & | & |\end{bmatrix}^\top$$


>>> from sympy import *
>>> sigma1, sigma2, sigma3 = symbols('sigma1, sigma2, sigma3')
>>> tau1, tau2, tau3 = symbols('tau1, tau2, tau3')
>>> mu = symbols('mu')
>>> a = Matrix([1,-1])
>>> b = Matrix([0,1])
>>> latex( a * Matrix([sigma1, sigma2, sigma3]).T + b * Matrix([tau1, tau2, tau3]).T + mu * a * Matrix([tau1 - sigma1, tau2 - sigma2, tau3 - sigma3]).T )

produce

$$\left[\begin{matrix}\mu \left(- \sigma_{1} + \tau_{1}\right) + \sigma_{1} & \mu \left(- \sigma_{2} + \tau_{2}\right) + \sigma_{2} & \mu \left(- \sigma_{3} + \tau_{3}\right) + \sigma_{3}\\- \mu \left(- \sigma_{1} + \tau_{1}\right) - \sigma_{1} + \tau_{1} & - \mu \left(- \sigma_{2} + \tau_{2}\right) - \sigma_{2} + \tau_{2} & - \mu \left(- \sigma_{3} + \tau_{3}\right) - \sigma_{3} + \tau_{3}\end{matrix}\right]$$

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X