jax_sn.operators.transport_operator.implementations.multi_angle_inversions module¶
Composed multi-angle strategies, which lift a single-angle strategy over the angle axis. Both axes
(forward and inverse sweep) get the same two lifts: vmap and lax.map.
- map_over_angles(data: TransportData, leading, fn)[source]¶
vmap closure over angle & sweep data. Closure because we don’t know a priori other arguments (i.e. batching.)
- class VmapAnglesForward(inner: SingleAngleForwardStrategy)[source]¶
Bases:
ComposedMultiAngleForwardStrategyLift the single-angle forward by
vmap-ing it over the angle axis.- forward(data: TransportData, x)[source]¶
- class ScanAnglesForward(inner: SingleAngleForwardStrategy)[source]¶
Bases:
ComposedMultiAngleForwardStrategyLift the single-angle forward by
lax.map-ing it over the angle axis.- forward(data: TransportData, x)[source]¶
- class VmapAnglesInversion(inner: SingleAngleInversionStrategy)[source]¶
Bases:
ComposedMultiAngleInversionStrategyLift the single-angle inverse sweep by
vmap-ing it over the angle axis.- invert(data: TransportData, b)[source]¶
Invert over the angle axis:
datais a batchedTransportData(angle axis leading).
- class ScanAnglesInversion(inner: SingleAngleInversionStrategy)[source]¶
Bases:
ComposedMultiAngleInversionStrategyLift the single-angle inverse sweep by
lax.map-ing it over the angle axis.- invert(data: TransportData, b)[source]¶
Invert over the angle axis:
datais a batchedTransportData(angle axis leading).