- New Features
- Flax support (see
using EMLP with Flax
) - Auto generated
size()
,__eq__
,__hash__
, and.T
methods for new representations - You can now use ints in place of
Scalars
for direct sum, e.g. add3+V
- Flax support (see
- Codebase improvements
- Streamlined product_sum_reps direct sum and product rules, now with plumb dispatch
- More general
Dual(Rep)
implementation that now works with any kind of Rep, not justV
- CI setup and with more tests
-
Cross Platform Support:
- You can now use EMLP in PyTorch, check out
Using EMLP with PyTorch
- You can also use EMLP with Haiku in jax, check out
Using EMLP with Haiku
- You can now use EMLP in PyTorch, check out
-
Bug Fixes
- Fixed broken constraints with Trivial group
- New features:
- Fallback autograd jvp implementation of drho to make implementing new reps easier.
- Mixed group representations (now working and tested)
- Experimental support of complex groups and representations
- Bug Fixes:
- Element ordering of mixed groups is now correctly maintained in the solution
- Fixed edge case of {func}
lazy_direct_matmat
when concatenating matrices of size 0 affecting {func}emlp.reps.Rep.equivariant_basis
but not {func}emlp.reps.Rep.equivariant_projector
- API Changes:
emlp.solver.representation
->emlp.reps
emlp.solver.groups
->emlp.groups
emlp.models.mlp
->emlp.nn
rep.symmetric_basis()
->rep.equivariant_basis()
rep.symmetric_projector()
->rep.equivariant_projector()
- Tests and experiments separated from package and api