diff --git a/Project.toml b/Project.toml index 564cf5d92e..21fb9881b9 100644 --- a/Project.toml +++ b/Project.toml @@ -1,7 +1,7 @@ name = "Manifolds" uuid = "1cead3c2-87b3-11e9-0ccd-23c62b72b94e" authors = ["Seth Axen ", "Mateusz Baran ", "Ronny Bergmann ", "Antoine Levitt "] -version = "0.8.64" +version = "0.8.65" [deps] Distributions = "31c24e10-a181-5473-b8eb-7969acd0382f" diff --git a/src/groups/group.jl b/src/groups/group.jl index 760ec68fdf..735bc2b3ae 100644 --- a/src/groups/group.jl +++ b/src/groups/group.jl @@ -346,8 +346,9 @@ function is_vector( kwargs..., ) if cbp - ie = is_point(G, e; kwargs...) - (!te) && return ie + # pass te down so this throws an error if te=true + # if !te and is_point was false -> return false, otherwise continue + (!te && !is_point(G, e, te; kwargs...)) && return false end return is_vector(next_trait(t), G, identity_element(G), X, te, false; kwargs...) end diff --git a/test/groups/special_orthogonal.jl b/test/groups/special_orthogonal.jl index 3eaab69920..d81aa89ec8 100644 --- a/test/groups/special_orthogonal.jl +++ b/test/groups/special_orthogonal.jl @@ -62,12 +62,10 @@ include("group_utils.jl") @test isapprox(p, exp_lie(G, log_lie(G, p))) end end - @testset "Decorator forwards to group" begin DM = NotImplementedGroupDecorator(G) test_group(DM, pts, Xpts, Xpts; test_diff=true) end - @testset "Group forwards to decorated" begin retraction_methods = [ Manifolds.PolarRetraction(), @@ -134,7 +132,6 @@ include("group_utils.jl") project!(G, z2, z) @test isapprox(M, z2, project(M, z)) end - @testset "vee/hat" begin X = Xpts[1] pe = Identity(G) @@ -178,5 +175,10 @@ include("group_utils.jl") e2 = Identity(G) @test mul!(e2, e, e) === e2 end + @testset "Identity and point/vector check" begin + # see https://github.com/JuliaManifolds/Manifolds.jl/issues/613 + @test !is_vector(G, gI, ones(n, n)) #not skew + @test !is_vector(G, gI, ones(n)) # wrong size + end end end