Cvičení 7

Řešení druhé části cvičení pomocí QR rozkladu

%
% Function which solves Ax = b system of equations using QR decomposition
%
% Author: Martin Vejmelka <[email protected]>
%
 
function [ x ] = get_solution( A, b )
 
    % determining solution size
    asize = size(A);
    result_vector_size = asize(2);
 
    % QR decomposition
    [Q1, R] = qr(A, 0);
 
    % vector being counted
    x = zeros(result_vector_size, 1);
 
    % right side
    b2 = Q1' * b;
 
    % iterating through values in x and counting x
    for i = result_vector_size:-1:1
        x(i) = (b2(i) - (R(i,:) * x)) / R(i, i);
    end
 
end

Bonusovky

Tomáš Řehořek 2009/11/26 20:31

Hodnota min(F(x)) pokud rank(A) = rank (A|b)

Otázka: Čemu se rovná minimum funkce F(x) pokud platí hodnost(A) = hodnost([A b])? Vaši odpověď zdůvodněte.

Odpověď: Podle Frobeniovy věty má soustava v takovém případě (alespoň jedno) přesné řešení. Tzn., že lze nalézt řešení, kdy je mezi vektory Ax a b nulová vzdálenost. Pak bude platit F(x) = ||Axb||² = ||0||² = 0. Optimálnější řešení nalezneme jen s nepřekonatelnými obtížemi.

Platnost ||Q^T * z||² = ||z||² pokud Q je ortonormální

Otázka: Dokažte, že platí ||Q^T * z||² = ||z||², ∀z ∈ ℜ^m, pokud Q ∈ ℜ^m×m je ortonormální matice.

Odpověď: Nejprve přepíšeme normu ||Q^T * z||² na součin: (Q^T * z)^T * (Q^T * z). Pak provedeme transpozici první závorky: (Q^T * z)^T * (Q^T * z) = (z^T * (Q^T)^T) * (Q^T * z) = (z^T * Q) * (Q^T * z). Nyní využijeme asociativity maticového násobení a součin přepíšeme na z^T * (Q * Q^T) * z. Z ortonormality matice Q vyplývá, že Q * Q^T = E, tedy dostáváme z^T * E * z. Jednotková matice je vzhledem k násobení neutrální, takže máme z^T * z. To ale není nic jiného, než norma ||z||², což jsme chtěli dokázat. Pan Olšák by měl v tuto chvíli radost.

courses/a4b33opt/cviceni7.txt · Poslední úprava: 2025/01/03 18:28 (upraveno mimo DokuWiki)
Nahoru
chimeric.de = chi`s home Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0