dada uma matriz simétrica , e uma matriz arbitrária X ∈ R n × n , e um vetor v ∈ R n × 1 , é possível calcular a seguinte expressão no tempo O ( n 2 ) ?
onde retorna um n × n matriz com os seus principais elementos diagonais iguais aos dos X e elementos fora da diagonal igual a 0, e X T é a transposta de X .
3
Observação rápida: é inútil: a questão é equivalente a "é possível calcular diag ( X T Y X ) em O ( n 2 ) ?". Não sei a resposta, mas acho que não .
—
Federico Poloni
Eu acho que pode ter algum papel na redução do custo, porque se considerarmos o cálculo de ( X T Y X ) v , é possível ser calculado com O ( n 2 ) da seguinte maneira: X T ( Y ( X v ) ) . Mas quando d i a g é usado, eu aprecio que alguém possa me dar uma mão.
—
John Smith
Para a diagonal , o produto D v pode ser calculado em O ( n ) tempo. Suponho que seja possível que a estrutura do produto vetorial possa ser explorada, mas duvido. Se você pudesse calcular uma matriz Z no tempo O ( n 2 ) tal que d i a g ( X T Y X ) = X T Y X - Z , certamente esse produto vetorial seria útil.
—
precisa saber é o seguinte
Parece difícil encontrar esse em O ( n 2 ) .
—
John Smith
Eu insisto: é inútil. Se você tiver um procedimento que calcule diag ( X T Y X ) v no tempo O ( n 2 ) , também poderá calcular diag ( X T Y X ) no tempo O ( n 2 ) : basta escolher v como o vetor de todos. A redução oposta também é clara.
—
Federico Poloni