Ich brauche nur die Diagonalelemente aus einer Matrix-Multiplikation:berechnet nur Diagonalen der Matrix-Multiplikation in R
,
in R. Da Z ist riesig ich die volle out Multiplikation vermeiden will ...
.Z <- matrix(c(1,1,1,2,3,4), ncol = 2)
Z
# [,1] [,2]
#[1,] 1 2
#[2,] 1 3
#[3,] 1 4
X <- matrix(c(10,-5,-5,20), ncol = 2)
X
# [,1] [,2]
#[1,] 10 -5
#[2,] -5 20
Z %*% D %*% t(Z)
# [,1] [,2] [,3]
#[1,] 70 105 140
#[2,] 105 160 215
#[3,] 140 215 290
diag(Z %*% D %*% t(Z))
#[1] 70 160 290
X ist immer eine kleine quadratische Matrix (2x2, 3x3 oder 4x4), wobei Z die Anzahl der Spalten gleich die Dimension von X. gibt es eine Funktion zur Verfügung, dies zu tun hat?
+1 Wirklich nette Vorgehensweise. –
@Marcinthebox, danke. Bis Sie upvoted ich fragte mich, ob jemand es bemerken würde! – BrodieG
Ich musste meine eigenen Trial and Error-Erkundungen für eine Weile ausprobieren, bevor ich realisierte, was du lange entdeckt hast. Requisiten –