Module docstring
{"# The RestrictScalars type alias
See the documentation attached to the RestrictScalars definition for advice on how and when to
use this type alias. As described there, it is often a better choice to use the IsScalarTower
typeclass instead.
Main definitions
RestrictScalars R S M: theS-moduleMviewed as anRmodule whenSis anR-algebra. Note that by default we do not have aModule S (RestrictScalars R S M)instance for the original action. This is available as a defRestrictScalars.moduleOrigif really needed.RestrictScalars.addEquiv : RestrictScalars R S M ≃+ M: the additive equivalence between the restricted and original space (in fact, they are definitionally equal, but sometimes it is helpful to avoid using this fact, to keep instances from leaking).RestrictScalars.ringEquiv : RestrictScalars R S A ≃+* A: the ring equivalence between the restricted and original space when the module is an algebra.
See also
There are many similarly-named definitions elsewhere which do not refer to this type alias. These
refer to restricting the scalar type in a bundled type, such as from A →ₗ[R] B to A →ₗ[S] B:
LinearMap.restrictScalarsLinearEquiv.restrictScalarsAlgHom.restrictScalarsAlgEquiv.restrictScalarsSubmodule.restrictScalarsSubalgebra.restrictScalars"}