Álgebra Linear Computacional – Matriz de Posto 1

Definição

Dados os vetores $$v_{m\times 1}$$ e $$w_{n\times 1}$$, define-se a matriz a seguir, a partir do produto exterior:

\[C=vw^{T}\].

Propriedades de $$C$$

  1. As colunas de $$C$$ são combinações lineares de $$v$$, com os escalares iguais às entradas de $$w$$.
  2. As linhas de $$C$$ são combinações lineares de $$w$$ com os escalares iguais às entradas de $$v$$.
  3. O posto de $$C$$ é igual a 1.

De fato, $$C_{ij}=v_{i}w_{j}$$. A linha (i) da matriz é dada pela expressão $$C^{i}=(v_{i}w_{1},…,v_{i}w_{n}) = v_{i}(w_{1},…,w_{n})=v_{i}\cdot w^{T}$$.

Observamos também que a coluna (j) tem a expressão $$C_{j}= (v_{1}w_{j},…,v_{m}w_{j})=w_{j}\cdot (v_{1},…,v_{m})=w_{j}v$$.

O conjunto gerado pelas combinações lineares das colunas de $$C$$ é idêntico ao conjunto gerado pelos múltiplos escalares do vetor $$v$$. Com efeito, seja $$u=a_{1}C_{1}+..a_{n}C_{n}=a_{1}w_{1}v+…a_{n}w_{n}v=(a_{1}w_{1}+…+a_{n}w_{n})v$$. Deste modo, $$span\{C_{1},..,C_{n}\}= span \{v\}$$

Por hipótese, a dimensão de $$span\{v\}$$ é igual a 1, portanto $$span\{C_{1},..,C_{n}\}$$ tem dimensão igual a 1.

 

 

Produto matriz por vetor

Dado um vetor $$b_{m\times 1}$$, o produto entre a matriz $$C$$ e o vetor $$b$$ pode ser realizado por colunas, de modo que o novo vetor será a combinação linear das colunas de $$C$$, com os escalares de $$b$$.

\[Cb=[C_{1}|…|C_{n}]\cdot (b_{1},..,b_{n})= b_{1}C_{1}+…+b_{n}C_{n}=b_{1}w_{1}v+…b_{n}w_{n}v= <w,b>\cdot v\].

Algoritmo computacional

//operação produto interno <w,b>=soma
soma = 0;
for k=1:n
    soma = soma + b(k)*w(k);
    
end

// operação z = <w,b>v
for k=1:m
    z(j)=soma*v(j);
end

Produto $$z=(I-C)\cdot b$$, com $$I_{n\times n}$$ e $$C_{n\times n}$$.

Aplicamos a esta expressão o fato de que $$Cb=<b,w>v$$. Deste modo, temos:

\[(I-C)\cdot b=Ib-Cb=b-<b;w>v\].

O algoritmo será implementado, adicionando cada coordenada de $$b$$ à expressão obtida no algoritmo anterior.

Algoritmo computacional

//operação produto interno <w,b>=soma
soma = 0;
for k=1:n
    soma = soma + b(k)*w(k);
    
end

// operação z = <w,b>v
for k=1:m
    z(j)=b(j)-soma*v(j);
end