QR factorization with column pivoting: a computer scientist’s perspective
Edward Hutter December 13, 2017
Edward Hutter December 13, 2017 1 / 21
QR factorization with column pivoting: a computer scientists - - PowerPoint PPT Presentation
QR factorization with column pivoting: a computer scientists perspective Edward Hutter December 13, 2017 Edward Hutter December 13, 2017 1 / 21 Citations Summary from recent work on randomized QR factorization with column pivoting 1 , 2 ,
Edward Hutter December 13, 2017 1 / 21
1Duersch, Gu; 2017; ”Randomized QR with Column Pivoting” 2Martinsson, et al; 2017; ”Householder QR factorization with randomization for
3Martinsson; 2015; ”Blocked rank-revealing QR factorization: How randomized
Edward Hutter December 13, 2017 2 / 21
1
2
i
v T
i vi · ai = kaik · ei
3
i
v T
i vi
Edward Hutter December 13, 2017 3 / 21
Edward Hutter December 13, 2017 4 / 21
1Duersch, Gu; 2017; ”Randomized QR with Column Pivoting” Edward Hutter December 13, 2017 5 / 21
I THQR(m, n) = Pn−1
i=0 2(m i) + 2(m i)(n i) ⇡ 2mn2 2/3n3
I THQRCP(m, n) = mn + Pn−1
i=0 (n i) + 2(m i)(n i) ⇡ 2mn2 2/3n3
I THQRCP(m, n, k) = mn + Pk−1
i=0 (n i) + 4(m i)(n i) ⇡ 2mnk
I HQR: Reflection of ai+1 via Qiai+1 I HQRCP: Updating all trailing columns aj>i and norms, then swapping
Edward Hutter December 13, 2017 6 / 21
Edward Hutter December 13, 2017 7 / 21
I Fast memory of size ˆ
I Slow memory of size M
i vi Edward Hutter December 13, 2017 8 / 21
I reflector vi read from M to ˆ
I trailing column aj>=i read from M to ˆ
Edward Hutter December 13, 2017 9 / 21
I reflector vi read from M to ˆ
I trailing A read from M to ˆ
Edward Hutter December 13, 2017 10 / 21
I Non-pivoted HQR can delay updates every b iterations, for a total of
I In addition, the reflectors are no longer vectors, so we can perform
F Block reflectors allow usage of BLAS Level 3, with O(b) useful work
I Can HQRCP do the same kind of delaying? Remember the dependency
Edward Hutter December 13, 2017 11 / 21
Edward Hutter December 13, 2017 12 / 21
Edward Hutter December 13, 2017 13 / 21
1Duersch, Gu; 2017; ”Randomized QR with Column Pivoting” Edward Hutter December 13, 2017 14 / 21
I BLAS-3 variant didn’t help: entire A had to be read from slow to fast
I Ωl×n has unit-variance Gaussian independent identically distributed
I preserves linear dependencies among columns
Edward Hutter December 13, 2017 15 / 21
I Don’t want to reform Bl×n = Ωl×mAm×n at each block iteration I Don’t want a trailing matrix update I Want to exploit BLAS level-3 reflector blocking
Edward Hutter December 13, 2017 16 / 21
I Find b pivot indices via QRCP(B) I Swap b pivots into current b columns of A I Permute current elements in completed rows of R, Y I Accumulate blocked reflector updates to current b pivot columns I Attain blocked reflectors via QR on b current columns I Aggregate reflectors to collection of existing reflectors I Accumulate blocked reflector updates to curent b rows I Downsample B 1Duersch, Gu; 2017; ”Randomized QR with Column Pivoting” Edward Hutter December 13, 2017 17 / 21
I E(kbjk2
2) = l · kajk2 2
I Var(kbjk2
2) = 2l · kajk4 2
I Post-hoc selection I Compression matrix no longer GIID after multiple orthogonal
1Duersch, Gu; 2017; ”Randomized QR with Column Pivoting” Edward Hutter December 13, 2017 18 / 21
Edward Hutter December 13, 2017 19 / 21
1Duersch, Gu; 2017; ”Randomized QR with Column Pivoting” Edward Hutter December 13, 2017 20 / 21
Edward Hutter December 13, 2017 21 / 21