Para extender la Factura de la respuesta: como ya he mencionado aquí, uno puede usar el Jordán descomposición en lugar de la eigendecomposition cuando se calcula el seno de una matriz (o un coseno, o cualquier matriz de función, la verdad). Por tanto, se necesita un método para calcular el seno de escalares y Jordania bloques; para el bloque de Jordan
$$\mathbf J=\begin{pmatrix}\lambda&1&&\\&\lambda&\ddots&\\&&\ddots&1\\&&&\lambda\end{pmatrix}$$
con (algebraica) de la multiplicidad $k$ (es decir, $\mathbf J$ $k\times k$ de la matriz), la fórmula aplicable es
$$f(\mathbf J)=\begin{pmatrix}f(\lambda)&f^\prime(\lambda)&\cdots&\frac{f^{(k-1)}(\lambda)}{(k-1)!}\\&f(\lambda)&\ddots&\vdots\\&&\ddots&f^\prime(\lambda)\\&&&f(\lambda)\end{pmatrix}$$
(véase aquí para una prueba). Ya tenemos la ordenada de la cadena de derivados
$$\sin^{(p)}(x)=\begin{cases}\sin\,x&\text{if }p\bmod 4=0\\\cos\,x&\text{if }p\bmod 4=1\\-\sin\,x&\text{if }p\bmod 4=2\\-\cos\,x&\text{if }p\bmod 4=3\end{cases}$$
o, más sencillamente, $\sin^{(p)}(x)=\sin\left(x+p\frac{\pi}{2}\right)$, es muy fácil calcular el seno de un bloque de Jordan.
En la inexactitud de la aritmética, el Jordán, la descomposición es muy difícil de calcular de forma estable. Uno tiene que emplear diferentes métodos en este caso. Es una manera de reemplazar la descomposición de Jordan con una descomposición de Schur; no es un método debido a Beresford Parlett para calcular la matriz de funciones generales triangular matrices, pero no voy a discutir más, y en lugar de concentrarse en un diferente método de evaluación. La clave es que el seno y coseno de satisfacer una casa de la duplicación de la fórmula:
$$\begin{align*}\sin\,2x&=2\sin\,x\cos\,x\\\cos\,2x&=2\cos^2 x-1\end{align*}$$
Por lo tanto, al igual que en el escalares caso, uno puede emplear el argumento de la reducción: reducir a la mitad la matriz de un número suficiente de veces, hasta que su norma es pequeña (y recordar el número de veces $m$ esta mitad fue realizado), evaluar algunos buena aproximación para el seno y coseno en la que transforma la matriz (truncar la serie de Maclaurin o Padé hace muy bien, con una ligera ventaja para Padé approximants), y, finalmente, aplicar las dos duplicación de fórmulas en tándem $m$ los tiempos para llegar al seno y coseno de la partida matriz. Este tiene más detalles.
Nick Higham discute mucho sobre estos métodos en su libro; véase el capítulo he ligado y las referencias allí contenidas.