Skip to content

Commit

Permalink
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Improve random tangent generation on complex circle and rotation matr…
Browse files Browse the repository at this point in the history
…ices
mateuszbaran committed Nov 17, 2023
1 parent 6e0aa84 commit 9871850
Showing 4 changed files with 8 additions and 3 deletions.
6 changes: 6 additions & 0 deletions NEWS.md
Original file line number Diff line number Diff line change
@@ -5,6 +5,12 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [0.9.8] - 2023-11-17

### Fixed

- Improved distribution of random vector generation for rotation matrices and complex circle.

## [0.9.7] - 2023-11-14

### Fixed
2 changes: 1 addition & 1 deletion Project.toml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
name = "Manifolds"
uuid = "1cead3c2-87b3-11e9-0ccd-23c62b72b94e"
authors = ["Seth Axen <seth.axen@gmail.com>", "Mateusz Baran <mateuszbaran89@gmail.com>", "Ronny Bergmann <manopt@ronnybergmann.net>", "Antoine Levitt <antoine.levitt@gmail.com>"]
version = "0.9.7"
version = "0.9.8"

[deps]
Distributions = "31c24e10-a181-5473-b8eb-7969acd0382f"
2 changes: 1 addition & 1 deletion src/manifolds/Circle.jl
Original file line number Diff line number Diff line change
@@ -465,7 +465,7 @@ function Random.rand(rng::AbstractRNG, M::Circle{ℂ}; vector_at=nothing, σ::Re
return sign(randn(rng, ComplexF64))
else
# written like that to properly handle `vector_at` being a number or a one-element array
return map(p -> project(M, p, σ * rand(rng, typeof(p))), vector_at)
return map(p -> project(M, p, σ * randn(rng, complex(typeof(p)))), vector_at)
end
end

1 change: 0 additions & 1 deletion src/manifolds/Rotations.jl
Original file line number Diff line number Diff line change
@@ -330,7 +330,6 @@ function Random.rand!(
(manifold_dimension(M) == 0) && return fill!(pX, 0)
A = σ .* randn(rng, representation_size(M))
pX .= triu(A, 1) .- transpose(triu(A, 1))
normalize!(pX)
end
return pX
end

0 comments on commit 9871850

Please sign in to comment.