Releases: e3nn/e3nn-jax
Releases · e3nn/e3nn-jax
2022-09-27
Added
e3nn.reduced_symmetric_tensor_product_basis(irreps: Irreps, order: int)
e3nn.IrrepsArray.filtered(keep: List[Irrep])
e3nn.reduced_tensor_product_basis(formula_or_irreps_list: Union[str, List[e3nn.Irreps]], ...)
IrrepsArray.at[i].set(v)
andIrrepsArray.at[i].add(v)
- add
Irreps.is_scalar
Full Changelog: 0.9.0...0.9.1
2022-09-04
Added
- Simple irreps indexing of
IrrepsArray
: likex[..., "10x0e"]
but notx[..., "0e + 1e"]
e3nn.concatenate, e3nn.mean, e3nn.sum
e3nn.norm
forIrrepsArray
e3nn.tensor_product
e3nn.normal
- Better support of
+ - * /
operators forIrrepsArray
- Add new operator
e3nn.grad
: it takes anIrrepsArray -> IrrepsArray
function and returns aIrrepsArray -> IrrepsArray
function - Add support of operator
IrrepsArray ** scalar
- Add support of
x[..., 3:6]
forIrrepsArray
- Add
e3nn.reduced_tensor_product_basis
- Add
e3nn.stack
Removed
IrrepsArray.cat
is now deprecated and replaced bye3nn.concatenate
e3nn.full_tensor_product
is now deprecated and replaced bye3nn.tensor_product
e3nn.FullyConnectedTensorProduct
is now deprecated in favor ofe3nn.tensor_product
ande3nn.Linear
- breaking change remove
IrrepsArray.from_any
- breaking change remove option
optimize_einsums
, (it is now alwaysTrue
)
Changed
- breaking change rewrite the
equivariance_error
andassert_equivariant
functions
Full Changelog: 0.8.0...0.9.0
2022-08-11
Changed
- breaking change change the ordering of
Irrep
. Now it matches withIrrep.iterator
. - breaking change
Irrep("1e") == "1e"
andIrreps("1e + 2e") == "1e + 2e"
are nowTrue
. - breaking change
Linear
simplify theirreps_out
which might cause reshape of the parameters. index_add
supportsIrrepArray
Added
- broadcast for
Linear
- argument
channel_out
toLinear
for convenience Irreps
can be created from aMulIrrep
"0e" + Irreps("1e")
is now supported"0e" + Irrep("1e")
is now supportedmap_back
argument toindex_add
IrrepsArray.split(list of irreps)
poly_envelope
function
2022-08-03
Changed
- breaking change rename
IrrepsData
intoIrrepsArray
- breaking change
IrrepsArray.shape
is now equal tocontiguous.shape
(instead ofcontiguous.shape[:-1]
) - breaking change
IrrepsArray * array
requiresarray.shape[-1]
to be 1 orarray
to be a scalar - breaking change
IrrepsArray.contiguous
is renamed inIrrepsArray.array
- breaking change
IrrepsArray.new
is renamed inIrrepsArray.from_any
spherical_harmonics
normalization is now set tocomponent
like everything else.
Removed
- breaking change
IrrepsArray.from_contiguous
is removed. UseIrrepsArray(irreps, array)
instead.
Added
- add
e3nn.config
to set global defaults parameters __getindex__
toIrrepsData
gradient_normalization
argument that can beelement
orpath
path_normalization
can be a number between 0 and 1- add nearest interpolation for
zoom
, default is linear - implement
custom_jvp
for spherical harmonics
2022-06-29
Added
- Docker image
2022-06-29
Added
- add the
sh
function that does not useIrrepsData
as input/output legendre
algorithm to compute spherical harmonics- add flag
algorithm
to specify the algorithm to use for computing spherical harmonics, uselegendre
for large L. experimental.voxel_convolution
: add optional dynamic steps (not static for jit)
2022-06-09
Changed
- fix a bug in
experimental.voxel_convolution
constructor
2022-06-09
Added
- Function
matrix
toFunctionalLinear
experimental.voxel_convolution
:padding
and add self-connection into the convolution kernelexperimental.voxel_pooling
: addoutput_size
argument to thezoom
functionIrrepsData
:list
attribute is now lazily initializedexperimental.voxel_convolution
: add possibility to have different radial functions depenfing on the spherical harmonic degree
Changed
- Behavior of
eps
inBatchNorm
. Nowinput / sqrt((1 - eps) * norm^2 + eps)
instead ofinput / sqrt(norm^2 + eps)
- Optimized
spherical_harmonics
by decomposing the order in powers of 2. It is supposed to improve stability because less operations are performed for high orders. It improves the performance when computing a single order. - Optimized
spherical_harmonics
by using dense matrix multiplication instead of sparse matrix multiplication.
2022-05-24
Added
- add
loop
argument toradius_graph
Changed
- use
dataclasses.dataclass
instead of customdataclass
- Get Clebsch-Gordan coefficients from qutip and a change of basis
- Add
start_zero
andend_zero
arguments to functionsoft_one_hot_linspace
2022-03-26
Added
IrrepsData
can be given as argument ofspherical_harmonics
- added broadcasting of
IrrepsData
,elementwise_tensor_product
,FullyConnectedTensorProduct
,full_tensor_product
Changed
BatchNorm
supports NoneBatchNorm
supports change default value ofeps
from1e-5
to1e-4
gate
change default odd activation to (1 - exp(x^2)) * x
Full Changelog: 0.4.2...0.4.3