je l'équation:Résoudre matrice récursif linéaire
S = C (BSQ) + (1-C) I dans laquelle S, B, Q sont des matrices carrées de faible nXn, C est une constante et I est matrice d'identité.S est initialisé à la matrice d'identité Je veux résoudre l'équation pour trouver S.Can je fais ceci sans prendre l'inverse des deux côtés et puis simplifier et ainsi de suite? (Je travaille avec de grands ensembles de données en prenant l'inverse pourrait être très lent) En utilisant simplement l'équation ci-dessus j'ai obtenu quelques résultats, mais je ne suis pas sûr si c'est correct car vous ne pouvez pas faire trois multiplications matricielles simultanément. Que puis-je faire pour résoudre pour S?
the answer I am getting after plugging in all the matrices with values
Puisque vous ne nous dites pas quelles sont les valeurs de 'C',' B' et 'Q', même dans votre graphique, comment pourrions-nous répondre à votre question? Et que voulez-vous dire par "vous ne pouvez pas faire trois multiplications matricielles simultanément"? Il suffit de multiplier les deux premiers puis le troisième. Et l'inversion matricielle est au pire O (n ** 3) avec des algorithmes simples, ce qui est le temps polynomial, alors qu'est-ce qui ne va pas? Vos exemples spécifiques peuvent avoir des fonctionnalités qui accéléreraient encore plus le temps. S'il vous plaît nous montrer votre exemple complet, dans le texte, afin que nous puissions vérifier l'exactitude de votre réponse. –
En outre, si la vitesse est importante, vous devriez probablement utiliser un tableau numpy plutôt qu'une liste de listes Python de base. –
Je ne peux pas multiplier les deux premières matrices, puis la troisième parce que les deux premières sont B et S et les multiplier va changer la valeur de S.Ce sera un problème car S est présent des deux côtés de l'équation se tromper. –