Skip to content

Commit ecfd5ab

Browse files
committed
Make left polar newton more GPU friendly
1 parent 9825144 commit ecfd5ab

File tree

1 file changed

+4
-4
lines changed

1 file changed

+4
-4
lines changed

src/implementations/polar.jl

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -107,19 +107,19 @@ function _left_polarnewton!(A::AbstractMatrix, W, P = similar(A, (0, 0)); tol =
107107
if m > n # initial QR
108108
Q, R = qr_compact!(A)
109109
Rc = view(A, 1:n, 1:n)
110-
copy!(Rc, R)
110+
Rc .= R
111111
Rᴴinv = ldiv!(UpperTriangular(Rc)', one!(Rᴴinv))
112112
else # m == n
113113
R = A
114114
Rc = view(W, 1:n, 1:n)
115-
copy!(Rc, R)
115+
Rc .= R
116116
Rᴴinv = ldiv!(lu!(Rc)', one!(Rᴴinv))
117117
end
118118
γ = sqrt(norm(Rᴴinv) / norm(R)) # scaling factor
119119
rmul!(R, γ)
120120
rmul!(Rᴴinv, 1 / γ)
121121
R, Rᴴinv = _avgdiff!(R, Rᴴinv)
122-
copy!(Rc, R)
122+
Rc .= R
123123
i = 1
124124
conv = norm(Rᴴinv, Inf)
125125
while i < maxiter && conv > tol
@@ -128,7 +128,7 @@ function _left_polarnewton!(A::AbstractMatrix, W, P = similar(A, (0, 0)); tol =
128128
rmul!(R, γ)
129129
rmul!(Rᴴinv, 1 / γ)
130130
R, Rᴴinv = _avgdiff!(R, Rᴴinv)
131-
copy!(Rc, R)
131+
Rc .= R
132132
conv = norm(Rᴴinv, Inf)
133133
i += 1
134134
end

0 commit comments

Comments
 (0)