Có cải tiến phương pháp tính toán biểu thức sau đây không?


8

đã cho một ma trận đối xứng và một ma trận tùy ý và một vectơ , có thể tính biểu thức sau trong thời gian không? X R n × n v R n × 1 O ( n 2 )YRn×nXRn×nvRn×1O(n2)

diag(XTYX)v

nơi trả về một ma trận với các yếu tố đường chéo chính của nó tương đương với những người của và off-đường chéo yếu tố bằng 0, và là chuyển vị của .n × n X X T Xdiag(X)n×nXXTX


3
Nhận xét nhanh: là vô ích: câu hỏi tương đương với "có thể tính trong không?". Tôi không biết câu trả lời, nhưng tôi đoán là không . diag ( X T Y X ) O ( n 2 )vdiag(XTYX)O(n2)
Federico Poloni

2
Tôi nghĩ rằng có thể đóng vai trò nào đó trong việc giảm chi phí vì nếu chúng ta xem xét tính toán của , có thể tính toán với như sau: . Nhưng khi được sử dụng, tôi đánh giá cao ai đó có thể giúp tôi một tay. ( X T Y X ) v O ( n 2 ) X T ( Y ( X v ) ) d i a gv(XTYX)vO(n2)XT(Y(Xv))diag
John Smith

1
Đối với đường chéo , sản phẩm có thể được tính trong thời gian . Tôi cho rằng có thể cấu trúc sản phẩm vector có thể bị khai thác, nhưng tôi nghi ngờ điều đó. Nếu bạn có thể tính ma trận trong thời gian sao cho , thì chắc chắn, sản phẩm vectơ đó sẽ hữu ích. D v O ( n ) Z O ( n 2 ) d i a g ( X T Y X ) = X T Y X - ZDDvO(n)ZO(n2)diag(XTYX)=XTYXZ
Geoff Oxberry

Có vẻ khó tìm như vậy trong . O ( n 2 )ZO(n2)
John Smith

4
Tôi nhấn mạnh: là vô dụng. Nếu bạn có một quy trình tính diag ( X T Y X ) v trong thời gian O ( n 2 ) , thì bạn cũng có thể tính diag ( X T Y X ) trong thời gian O ( n 2 ) : chỉ cần chọn v là vectơ của tất cả những người. Việc giảm ngược lại cũng rõ ràng. vdiag(XTYX)vO(n2)diag(XTYX)O(n2)v
Federico Poloni

Câu trả lời:


2

Hãy để tôi cố gắng giúp đỡ, nhưng xin vui lòng sửa chữa cho tôi nếu tôi sai bởi vì tôi chỉ lấy nó từ mũ của tôi:

Tôi sẽ chỉ mở rộng tính toán để giúp xem những gì đang xảy ra.

Hãy để chúng tôi viết A=(XTY)

vì vậy bạn muốn tính cho mọi ikaikxkiνii

aik=lxliylk

wich làO(n3).(diag(XTYX)v)i=klxliylkxkiνiO(n3)

Bây giờ chúng ta hãy đưa ra giả thuyết: Vì là đối xứng nên y l k = y k l . Trong tổng số, chỉ có sản phẩm x l i x k i cũng đối xứng với kl .Yylk=yklxlixkikl

Vì vậy, (diag(XTYX)v)i=2×kl>kxliylkxkiνi+kxkiykkxkiνi

Đó là lần n ( n + 1 )n tính toán. Vì vậy, bạn có thể chia tính toán cho gần2nhưng không phảin.n(n+1)22n

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.