Releases: e3nn/e3nn-jax
Releases · e3nn/e3nn-jax
2022-09-29
Fixed
- fix
IrrepsArray.zeros().at[...].add
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.sume3nn.normforIrrepsArraye3nn.tensor_producte3nn.normal- Better support of
+ - * /operators forIrrepsArray - Add new operator
e3nn.grad: it takes anIrrepsArray -> IrrepsArrayfunction and returns aIrrepsArray -> IrrepsArrayfunction - Add support of operator
IrrepsArray ** scalar - Add support of
x[..., 3:6]forIrrepsArray - Add
e3nn.reduced_tensor_product_basis - Add
e3nn.stack
Removed
IrrepsArray.catis now deprecated and replaced bye3nn.concatenatee3nn.full_tensor_productis now deprecated and replaced bye3nn.tensor_producte3nn.FullyConnectedTensorProductis now deprecated in favor ofe3nn.tensor_productande3nn.Linear- breaking change remove
IrrepsArray.from_any - breaking change remove option
optimize_einsums, (it is now alwaysTrue)
Changed
- breaking change rewrite the
equivariance_errorandassert_equivariantfunctions
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
Linearsimplify theirreps_outwhich might cause reshape of the parameters. index_addsupportsIrrepArray
Added
- broadcast for
Linear - argument
channel_outtoLinearfor convenience Irrepscan be created from aMulIrrep"0e" + Irreps("1e")is now supported"0e" + Irrep("1e")is now supportedmap_backargument toindex_addIrrepsArray.split(list of irreps)poly_envelopefunction
2022-08-03
Changed
- breaking change rename
IrrepsDataintoIrrepsArray - breaking change
IrrepsArray.shapeis now equal tocontiguous.shape(instead ofcontiguous.shape[:-1]) - breaking change
IrrepsArray * arrayrequiresarray.shape[-1]to be 1 orarrayto be a scalar - breaking change
IrrepsArray.contiguousis renamed inIrrepsArray.array - breaking change
IrrepsArray.newis renamed inIrrepsArray.from_any spherical_harmonicsnormalization is now set tocomponentlike everything else.
Removed
- breaking change
IrrepsArray.from_contiguousis removed. UseIrrepsArray(irreps, array)instead.
Added
- add
e3nn.configto set global defaults parameters __getindex__toIrrepsDatagradient_normalizationargument that can beelementorpathpath_normalizationcan be a number between 0 and 1- add nearest interpolation for
zoom, default is linear - implement
custom_jvpfor spherical harmonics
2022-06-29
Added
- Docker image
2022-06-29
Added
- add the
shfunction that does not useIrrepsDataas input/output legendrealgorithm to compute spherical harmonics- add flag
algorithmto specify the algorithm to use for computing spherical harmonics, uselegendrefor large L. experimental.voxel_convolution: add optional dynamic steps (not static for jit)
2022-06-09
Changed
- fix a bug in
experimental.voxel_convolutionconstructor
2022-06-09
Added
- Function
matrixtoFunctionalLinear experimental.voxel_convolution:paddingand add self-connection into the convolution kernelexperimental.voxel_pooling: addoutput_sizeargument to thezoomfunctionIrrepsData:listattribute is now lazily initializedexperimental.voxel_convolution: add possibility to have different radial functions depenfing on the spherical harmonic degree
Changed
- Behavior of
epsinBatchNorm. Nowinput / sqrt((1 - eps) * norm^2 + eps)instead ofinput / sqrt(norm^2 + eps) - Optimized
spherical_harmonicsby 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_harmonicsby using dense matrix multiplication instead of sparse matrix multiplication.
2022-05-24
Added
- add
loopargument toradius_graph
Changed
- use
dataclasses.dataclassinstead of customdataclass - Get Clebsch-Gordan coefficients from qutip and a change of basis
- Add
start_zeroandend_zeroarguments to functionsoft_one_hot_linspace