diff --git a/src/manifolds/Stiefel.jl b/src/manifolds/Stiefel.jl index ec3f374855..7309e44faf 100644 --- a/src/manifolds/Stiefel.jl +++ b/src/manifolds/Stiefel.jl @@ -235,9 +235,7 @@ project(::Stiefel, ::Any, ::Any) function project!(M::Stiefel, q, p) s = svd(p) - e = eigen(s.U' * s.U) - qsinv = e.vectors * Diagonal(1 ./ sqrt.(e.values)) - q .= s.U * qsinv * e.vectors' * s.V' + mul!(q, s.U, s.Vt) return q end