Schnellere Berechnungen des projizierten Normstils (quadratische Form, metrische Matrix…)
Ich muss viele Auswertungen des Formulars durchführen
X(:,i)' * A * X(:,i) i = 1...n
wobei X (:, i) ein Vektor und A eine symmetrische Matrix ist. Angeblich kann ich das entweder in einer Schleife machen
for i=1:n
z(i) = X(:,i)' * A * X(:,i)
end
was langsam ist, oder vektorisiere es als
z = diag(X' * A * X)
Welche RAM inakzeptabel verschwendet, wenn X viele Spalten hat. Derzeit mache ich Kompromisse bei
Y = A * X
for i=1:n
z(i) = Y(:,i)' * X(:,i)
end
was ist ein bisschen schneller / leichter aber scheint immer noch unbefriedigend.
Ich hatte gehofft, es gäbe ein Matlab / Scilab-Idiom oder einen Trick, um dieses Ergebnis effizienter zu erzielen?