Skip to content

Commit

Permalink
docs update
Browse files Browse the repository at this point in the history
  • Loading branch information
mfinzi committed Mar 16, 2021
1 parent 7978423 commit e43d5d7
Show file tree
Hide file tree
Showing 4 changed files with 10 additions and 8 deletions.
10 changes: 6 additions & 4 deletions docs/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,9 @@ Remember to align the itemized text with the first line of an item within a list

## EMLP 0.8.0 (Unreleased)

<!-- * New features:
* {func}`jax.scipy.stats.chi2` is now available as a distribution with logpdf and pdf methods.
* {func}`jax.scipy.stats.betabinom` is now available as a distribution with logpmf and pmf methods.
* -->
* 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 soln
2 changes: 1 addition & 1 deletion docs/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -22,8 +22,8 @@ A type system for the automated construction of equivariant layers.
:maxdepth: 1
:caption: Advanced Features

notebooks/mixed_tensors.md
notebooks/new_representations.md
notebooks/mixed_tensors.md
notebooks/multilinear_maps.md

.. toctree::
Expand Down
2 changes: 1 addition & 1 deletion docs/notebooks/new_representations.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"As our solver treats objects very generally, implementing new representations is surprisingly easy. To implement a new [`Representation`](https://emlp.readthedocs.io/en/latest/package/emlp.solver.representation.html#emlp.models.solver.representation.Rep) you need to implement `size()` which is the dimension of the representation, `rho(M)` which is a mapping from the group elements to the representation matrix, as well `__eq__` and `__hash__` to distinguish different representations. It's also a good idea to implement a `__str__` function to improve readability. All representations implemented this way should have the `.G` attribute specifying the symmetry group.\n",
"As our solver treats objects very generally, implementing new representations is surprisingly easy. To implement a new [Representation](https://emlp.readthedocs.io/en/latest/package/emlp.solver.representation.html#emlp.models.solver.representation.Rep) you need to implement `size()` which is the dimension of the representation, `rho(M)` which is a mapping from the group elements to the representation matrix, as well `__eq__` and `__hash__` to distinguish different representations. It's also a good idea to implement a `__str__` function to improve readability. All representations implemented this way should have the `.G` attribute specifying the symmetry group.\n",
"\n",
"The implementation also requires you to specify whether the representation is regular (whether `rho(M)` outputs a permutaiton matrix) with the `is_regular` attribute, and also the `.T` property that returns the dual of the representation. We plan on removing these two requirements in a later release."
]
Expand Down
4 changes: 2 additions & 2 deletions docs/notebooks/quickstart.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -731,7 +731,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"Representations that have many copies or multiplicity of a given representation type, such as for the many channels in a neural network, are simply examples of the $\\oplus$ operator (`+` in python). The `rep.symmetric_basis()` and `rep.symmetric_projector()` can return lazy matrices $Q$ and $P=QQ^T$ when the representations are composite (or when the representation is specified lazily). [implementation change is making this much slower than normal, using smaller values]"
"Representations that have many copies or multiplicity of a given representation type, such as for the many channels in a neural network, are simply examples of the $\\oplus$ operator (`+` in python). The `rep.symmetric_basis()` and `rep.symmetric_projector()` can return lazy matrices $Q$ and $P=QQ^T$ when the representations are composite (or when the representation is specified lazily). These Lazy matrices are modeled after [scipy LinearOperators](https://docs.scipy.org/doc/scipy/reference/generated/scipy.sparse.linalg.LinearOperator.html). By exploiting structure in the matrices via fast matrix vector multiplies (MVMs), it can be possible to work with extremely large matrices."
]
},
{
Expand Down Expand Up @@ -770,7 +770,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"These Lazy matrices are modeled after [scipy LinearOperators](https://docs.scipy.org/doc/scipy/reference/generated/scipy.sparse.linalg.LinearOperator.html). Unfortunately the larger matrices are harder to visualize as for the matrix above we need 84000 different colors! We are happy to field suggestions for visualizing very large bases."
"Unfortunately the larger matrices are harder to visualize as for the matrix above we need 84000 different colors! We are happy to field suggestions for visualizing very large bases."
]
},
{
Expand Down

0 comments on commit e43d5d7

Please sign in to comment.