From d6ebea0091566250e113e04585f3103219fd2641 Mon Sep 17 00:00:00 2001 From: Mateusz Baran Date: Fri, 28 Apr 2023 10:10:46 +0200 Subject: [PATCH] increase accuracy, remove unnecessary checks --- src/groups/rotation_action.jl | 5 +---- .../SymmetricPositiveDefiniteGeneralizedBuresWasserstein.jl | 2 ++ 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/src/groups/rotation_action.jl b/src/groups/rotation_action.jl index f0c79dc589..4de69b3a87 100644 --- a/src/groups/rotation_action.jl +++ b/src/groups/rotation_action.jl @@ -97,10 +97,7 @@ function inverse_apply_diff(A::RotationActionOnVector{N,F,LeftAction}, a, p, X) end inverse_apply_diff(A::RotationActionOnVector{N,F,RightAction}, a, p, X) where {N,F} = a * X -function optimal_alignment(A::RotationActionOnVector{N,T,LeftAction}, p, q) where {N,T} - is_point(A.manifold, p, true) - is_point(A.manifold, q, true) - +function optimal_alignment(::RotationActionOnVector{N,T,LeftAction}, p, q) where {N,T} Xmul = p * transpose(q) F = svd(Xmul) L = size(Xmul)[2] diff --git a/src/manifolds/SymmetricPositiveDefiniteGeneralizedBuresWasserstein.jl b/src/manifolds/SymmetricPositiveDefiniteGeneralizedBuresWasserstein.jl index b6d954966c..46fd24e117 100644 --- a/src/manifolds/SymmetricPositiveDefiniteGeneralizedBuresWasserstein.jl +++ b/src/manifolds/SymmetricPositiveDefiniteGeneralizedBuresWasserstein.jl @@ -94,6 +94,8 @@ function exp!( m = M.metric.M Y = lyapc(p, m, -X) #lyap solves qpM + Mpq - X =0 q .= p .+ X .+ m * Y * p * Y * m + # symmetrizing for better accuracy + copyto!(q, (q .+ q') ./ 2) return q end