Después de tanto luchar ya dimos con la solución de esta impedimento que ciertos los lectores de nuestro sitio han tenido. Si deseas compartir algún detalle puedes compartir tu conocimiento.
Solución:
Parece que está combinando el producto punto $acdot b$ de dos vectores de columna con el producto matricial $a^Tb$, que calcula el mismo valor. El producto punto es simétrico, pero la multiplicación de matrices en general no es conmutativa. De hecho, a menos que $A$ y $B$ sean matrices cuadradas del mismo tamaño, $AB$ y $BA$ ni siquiera tienen la misma forma.
En la derivación que cita, los vectores $a$ y $b$ se tratan como matrices de $ntimes1$, por lo que $a^T$ es una matriz de $1times n$. Según las reglas de la multiplicación de matrices, $a^Ta$ y $a^Tb$ dan como resultado una matriz de $1times1$, que es equivalente a un escalar, mientras que $aa^T$ produce una matriz de $ntimes n$: $$ a^Tb = beginbmatrixa_1&a_2&cdots&a_nendbmatrixbeginbmatrixb_1\b_2\ vdots\b_nendbmatrix = beginbmatrixa_1b_1+a_2b_2+ cdots+a_n b_nendbmatrix \ a^Ta = beginbmatrixa_1&a_2&cdots&a_nendbmatrixbeginbmatrixa_1\a_2\ vdots\a_nendbmatrix = beginbmatrixa_1^2+a_2^2+cdots+a_n^2endbmatrix $$ entonces $a^Tb$ es equivalente a $acdot b$, mientras que $$aa^T = beginbmatrixa_1\a_2\ vdots\a_nendbmatrixbeginbmatrixa_1&a_2&cdots&a_nendbmatrix = beginbmatrixa_1^2&a_1a_2&cdots&a_1a_n \ a_2a_1&a_2^2& cdots&a_2a_n \ vdots&vdots&ddots&vdots \ a_na_1&a_na_2&cdots&a_n^2endbmatrix.$$ Tenga en cuenta en particular que $bcdot a=b^Ta$, no $ba^T$, como el última es también una matriz $ntimes n$.
La derivación de la proyección puede ser más fácil de entender si la escribes de forma ligeramente diferente. Comience con los productos escalares: $$p=acdot bover acdot aa=1over acdot aa(acdot b)$$ luego reemplace los productos escalares con productos matriciales equivalentes : $$p=1sobre a^Taa(a^Tb).$$ Esta expresión es un producto del escalar $1sobre a^Ta$ con tres matrices. Dado que la multiplicación de matrices es asociativa, podemos reagrupar esto como $$1over a^Ta(aa^T)b.$$ Esto es un escalar por una matriz $ntimes n$ por $ntimes1$ matriz, es decir, un vector.
Apéndice:
El factor escalar se puede absorber en la matriz $ntimes n$ $aa^T$; la matriz resultante $pi_a$ representa la proyección ortogonal sobre (el tramo de) $a$. Que es una proyección es fácil de comprobar: $$pi_a^2 = left(aa^Tover a^Taright)^2 = (aa^T)(aa^T)over ( a^Ta)(a^Ta) = a(a^Ta)a^Tover(a^Ta)(a^Ta) = (a^Ta)(aa^T)over(a ^Ta)(a^Ta) = aa^Tover a^Ta = pi_a,$$ nuevamente usando la asociatividad de la multiplicación de matrices y el hecho de que $a^Ta$ es un escalar, por lo que conmuta con matrices. Además, $$pi_aa = aa^Tover a^Taa = a^Taover a^Taa = a,$$ como se esperaba.
En la derivación anterior de la proyección sobre $a$, $b$ era un vector arbitrario, por lo que para todo $b$, $pi_ab$ es un múltiplo escalar de $a$. En otras palabras, la imagen (espacio de columna) de $pi_a$ está dividida por $a$, es la línea que pasa por $a$, por lo que el rango de $pi_a$ es uno. Esto también se puede ver examinando $aa^T$ directamente: cada columna es un múltiplo de $a$.
Como nota final, la derivación anterior requiere que los vectores y las matrices se expresen en relación con una base ortonormal con respecto al producto escalar. Es posible eliminar esta restricción, pero la expresión de la matriz de proyección será más compleja.
Si $a = beginbmatriz x\y\z endbmatriz$ y
$b = beginbmatrix u\v\w endbmatrix$después
$a^Tb = [xu + yv + zw] = [xu+yv+zw] ps y $langle a,b rangle = xu + yv + zw$
La diferencia entre el vector uno por uno ps[xu+yv+zw]ps y el escalar
$xu+yv+zw$ es tan trivial que se ignora.
Tenga en cuenta también que $ab^T = beginbmatriz xu & xv & xw\ yu & yv & yw\ zu & zv & zw \ endbmatriz$.