# New Spaces and Newforms

The functions described here are very similar to those for Hilbert modular forms (see Chapter [Hilbert Modular Forms](../HilbertModularForms/index-hilbert-modular-forms.md#modfrmhil)). Some further related intrinsics described there, such as `HeckeEigenvalue`, can also be applied to Bianchi modular forms.

In these computations it is typically very important to switch on the caching feature (see Section [Caching Spaces of Modular Forms](../HilbertModularForms/hmf-caching.md#hmf-caching)). This is because spaces of lower levels tend to be used repeatedly.

## `NewSubspace(M): ModFrmBianchi -> ModFrmBianchi`

This computes the new subspace of a given space of Bianchi modular forms. The algorithm identifies the old spaces in $M$ by comparing the Hecke action on $M$ and spaces of lower levels. The algorithm assumes that the dimensions of old spaces are as expected. This has been extensively tested.

## `NewformDecomposition(M): ModFrmBianchi -> List`

This returns a list of the Hecke-irreducible newform spaces in $M$, which is required to be a new space. The algorithm is the same as for Hilbert modular forms.

## `Eigenform(M): ModFrmBianchi -> ModFrmBianchiElt`

This constructs the newform associated to a Hecke-irreducible space $M$ obtained from `NewformDecomposition`.
