Loading [MathJax]/jax/element/mml/optable/BasicLatin.js

2 votos

Software de código abierto para el cálculo de los valores propios de la matriz simbólica

Tengo la siguiente matriz

[α0βγωm0αγωmβRrLhLr0RrLrωm0RrLhLrωmRrLr]

donde

α=Rs+RrL2hL2rLsσ+LhLrLrσ β=RrLhL2rLsσ+LhLrLrσ γ=LhLrLsσ+LhLrLrσpp

y me gustaría calcular los valores propios de eso de manera simbólica.

EDITAR:

La matriz se puede reescribir de la siguiente forma

[a0bcd0acdbef0ed0efde]

He estado buscando algún software de código abierto utilizable para ese fin. Ya he probado el wxMaxima pero me han llegado unas expresiones demasiado complicadas que contienen las raíces cuadradas y que no soy capaz de simplificar. ¿Puede alguien recomendarme algún software de código abierto que ofrezca buenos resultados para el cálculo de valores propios de forma simbólica?

4voto

Yves Daoust Puntos 30126

Tenemos programas informáticos para los cálculos simbólicos, pero ninguno para los milagros.

Los valores propios de a 4×4 son las raíces de una ecuación cuártica, que tienen una expresión notoriamente compleja.

3voto

Jukka Dahlbom Puntos 1219

Resulta que podemos encontrar una expresión simbólica para los valores propios como sigue:

La matriz se puede escribir de la forma A=(abefe)I2+(0cd0d)(0110), donde denota un producto de Kronecker. En otras palabras: a través de la representación estándar de los números complejos sobre R2 es el análogo real de la matriz compleja M=(abefe)+i(0cd0d)=(abicdefe+id). En otras palabras, esta matriz M tiene la siguiente propiedad: para cualquier número real x1,x2,x3,x4 tenemos M(x1+ix2x3+ix4)=(y1+iy2y3+iy4)A(x1x2x3x4)=(y1y2y3y4). En consecuencia, los valores propios/vectores propios de A se puede encontrar utilizando los valores y vectores propios de M . Si λ=a+biC,xR4 son tales que M(x1+ix2x3+ix4)=λ(x1+ix2x3+ix4), entonces se deduce que a±bi son valores propios de A con A(x1+ix2x2ix1x3+ix4x4ix3)=(a+bi)(x1+ix2x2ix1x3+ix4x4ix3),A(x1ix2x2+ix1x3ix4x4+ix3)=(abi)(x1ix2x2+ix1x3ix4x4+ix3).

Los valores propios de esta matriz compleja serán simplemente las soluciones de la ecuación característica λ2k1λ+k2=0, con k1=tr(M)=ae+id y k2=det . Se deduce que los valores propios de M vienen dadas por \lambda_\pm = \frac{k_1 \pm \sqrt{k^2 - 4k_2}}{2}, donde observamos que esta raíz cuadrada es la raíz cuadrada de un número complejo.

De ahí deducimos que la matriz original tiene valores propios \lambda_+, \bar \lambda_+, \lambda_-, \bar \lambda_-, donde \bar z denota el complejo conjugado de z .


Un enfoque equivalente: considerar la matriz similar \frac 12 \pmatrix{-i & 1\\ 1 & -i \\ &&-i & 1\\ &&1 & -i} \pmatrix{-a & 0 & b & c\cdot d \\ 0 & -a & -c\cdot d & b \\ e\cdot f & 0 & -e & -d \\ 0 & e\cdot f & d & -e } \pmatrix{-i & 1\\ 1 & -i \\ &&-i & 1\\ &&1 & -i} = \\ \pmatrix{-a & 0 & b - icd & 0\\ 0 & -a & 0 & b + icd\\ ef & 0 & -e + id & 0\\ 0 & ef & 0 & -e - id}. Con la matriz de conmutación K_2 tenemos K_2^T\pmatrix{-a & 0 & b - icd & 0\\ 0 & -a & 0 & b + icd\\ ef & 0 & -e + id & 0\\ 0 & ef & 0 & -e - id}K_2 = \pmatrix{-a & b - icd\\ef & -e + id\\ &&-a & b + icd\\&&ef & -e - id}

1voto

Dietrich Burde Puntos 28541

El polinomio característico de su matriz viene dado por \begin{align} \chi(t) &= t^4 + 2t^3(a + e) +t^2(a^2 + 4ae - 2bef + d^2 + e^2) + {}\\ &\qquad+2t(a^2e - abef + ad^2 + ae^2 - be^2f - cd^2ef) +{}\\ &\qquad+ a^2d^2 + a^2e^2 - 2abe^2f - 2acd^2ef + b^2e^2f^2 + c^2d^2e^2f^2 \end{align} Los valores propios son los ceros de la misma sobre el campo dado. Existen fórmulas explícitas para las soluciones, véase aquí . Sin embargo, son muy complicados.

0voto

user2661923 Puntos 87

Esta respuesta es (quizás) apenas apropiada como respuesta y no como comentario. Sin embargo, es posible que sea lo mejor que puede hacer el PO.

En primer lugar, considere la posibilidad de intentar identificar mediante programación las raíces generales de una ecuación cuártica. Aunque la fórmula general es Algo así como de la raíz, escribir un programa de ordenador (por ejemplo, usando java, c, python, ...) para calcular las raíces debería ser muy directamente.

Del mismo modo, escribir un programa de ordenador para calcular los valores propios de una matriz de 4x4 también debería ser sencillo. Teniendo en cuenta las demás respuestas a este mensaje, diría (como programador profesional jubilado) que lo mejor es que el candidato se rinda a la necesidad de escribir su propio software.

Editar
Se me acaba de ocurrir que tratar con raíces como (1 + \sqrt{2}) o [1 + \sin(23^{\circ})] puede ser problemático si el PO necesita exactitud en lugar de (por ejemplo) las respuestas correctas con 10 decimales.

Si exactitud es necesario, entonces la OP tiene que anticipar (de alguna manera) todas las diversas formas en que la solución puede venir y desarrollar métodos especiales para manejarlos. Por ejemplo, calcular
(1 + \sqrt{2}) \times (3 - \sqrt{2}) \;=\; [1 + 2\sqrt{2}] probablemente requeriría un código especial.

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