Skip to content

Commit f9ac41f

Browse files
authored
Merge pull request #89 from e3nn/so3
Minor fixes for SO3Signal
2 parents acd916d + 398d835 commit f9ac41f

File tree

2 files changed

+6
-4
lines changed

2 files changed

+6
-4
lines changed

e3nn_jax/_src/so3grid.py

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -127,15 +127,18 @@ def __truediv__(self, other: float) -> "SO3Signal":
127127
def integrate_over_angles(self) -> SphericalSignal:
128128
"""Integrate the signal over the angles in the axis-angle parametrization."""
129129
# Account for angle-dependency in Haar measure.
130-
grid_values = self.s2_signals.grid_values * (1 - jnp.cos(self.grid_theta))[..., None, None]
130+
grid_values = (
131+
self.s2_signals.grid_values
132+
* (1 - jnp.cos(self.grid_theta))[..., None, None]
133+
)
131134

132135
# Trapezoidal rule for integration.
133136
delta_theta = self.grid_theta[1] - self.grid_theta[0]
134137
return self.s2_signals.replace_values(
135138
grid_values=jnp.sum(grid_values, axis=-3) * delta_theta
136139
)
137140

138-
def integrate(self) -> SphericalSignal:
141+
def integrate(self) -> float:
139142
"""Numerically integrate the signal over SO(3)."""
140143
# Integrate over angles.
141144
s2_signal_integrated = self.integrate_over_angles()
@@ -153,7 +156,7 @@ def integrate(self) -> SphericalSignal:
153156
integral = integral / (8 * jnp.pi**2)
154157
return integral
155158

156-
def sample(self, rng: jax.random.PRNGKey):
159+
def sample(self, rng: jax.random.PRNGKey) -> jnp.ndarray:
157160
"""Sample a random rotation from SO(3) using the given probability distribution."""
158161
# Integrate over angles.
159162
s2_signal_integrated = self.integrate_over_angles()

tests/_src/so3grid_test.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -96,4 +96,3 @@ def test_division_scalar():
9696
sig2 = sig1 / 2.7
9797
integral2 = sig2.integrate()
9898
assert jnp.isclose(integral2, integral1 / 2.7)
99-

0 commit comments

Comments
 (0)