Questão 05: Considere que você necessite avaliar
onde
são matrizes conformáveis com os vetores
. Considere as seguintes alternativas e determine o número de operações de ponto flutuante de cada uma, indicando qual é a mais econômica ao final. Considere que
é
e que
são vetores
dimensionais.
a) Primeiro somar
, então somar
, e depois aplicar a soma
na soma
.
Solução: O total de elementos em cada matriz é igual a mn. Assim, a soma
tem o custo
. Para os vetores, a soma
tem o custo
. Esta primeira etapa tem um custo total da ordem de
.
segunda operação
, envolve a mutiplicação de uma matriz
por um vetor coluna
, ou seja, temos o cálculo de
produtos escalares de vetores
dimensionais e
somas de
termos, resultando em um custo de
operações. O custo total é de
.
b) Distribuir, avaliar cada termo e então somar:
.
Solução: Cada termo (mutliplicação de matriz por vetor) possui o custo computacional de
operações. A soma entre os quatro vetores resultantes é realizada com
operações. Custo total é de
(
1)
.
a) Primeiro somar
Solução: O total de elementos em cada matriz é igual a mn. Assim, a soma
b) Distribuir, avaliar cada termo e então somar:
Passo 1
O problema pede para calcular z = (A+B)(x+y) de duas formas e comparar o número de operações de ponto flutuante. O conteúdo envolvido é a contagem de custos em soma de matrizes, soma de vetores e multiplicação de matriz por vetor. Vamos usar que: a soma de duas matrizes m×n custa mn adições; a soma de dois vetores n-dimensionais custa n adições; e a multiplicação de uma matriz m×n por um vetor n-dimensional custa m·n multiplicações e m·(n−1) adições.
Passo 2
Na alternativa (a) fazemos primeiro A+B, depois x+y, e por fim C·v com C = A+B e v = x+y. O custo de cada etapa é:
Somando tudo:
$$
mn + n + (2mn - m) = 3mn + n - m
$$
Passo 3
Na alternativa (b) expandimos z = Ax + Ay + Bx + By. Cada multiplicação de matriz por vetor custa m·n multiplicações + m·(n−1) adições, ou seja, 2mn - m operações. Como há quatro termos, totalizamos 4·(2mn - m) = 8mn - 4m operações para os produtos. Depois somamos quatro vetores resultantes com 3m adições. Assim:
Passo 4
Comparando os custos temos 3mn + n - m versus 8mn - m. Como n é positivo, concluímos que 3mn + n - m < 8mn - m.
Resposta
A opção (a) é mais econômica, com custo de
operações de ponto-flutuante, em comparação a
da opção (b).