Dado um conjunto arbitrário de matrizes complexas quadradas (numéricas) , estou interessado em calcular a álgebra de Lie de matriz real gerada por , chame-a . Ou seja, eu gostaria de uma base para onde é definido recursivamente como e para .A G A G A = s p uma N R { B : B ∈ ∪ ∞ k = 1 C k } C K C 1 = A C k + 1 = { [ X , Y ] : X , Y ∈ ∪
k≥1
Esse cálculo surge na teoria de controle (quântico).
No momento, estou usando um método encontrado aqui, que pesquisa somente entre colchetes repetidos de Lie (ou seja, no formato )) e é garantido que será encerrado. No entanto, estou interessado em saber se existem outros métodos (mais rápidos). Talvez usando bases de P. Hall? Talvez um algoritmo recursivo? Meu idioma padrão no momento é Matlab.
linear-algebra
matlab
basis-set
Ian Hincks
fonte
fonte
Respostas:
Este link descreve como fazer isso usando bases de P. Hall.
Em uma nota apenas um pouco relacionada, se eu estivesse implementando isso, me preocuparia com a instabilidade numérica de testar a dependência linear. Certifique-se de usar um método para testar a independência de novas matrizes que permita imprecisão numérica - talvez comparando a norma de com a norma de , onde é a projeção no espaço das matrizes que você encontrou antes .A pA−p(A) A p
fonte