Currying and uncurrying continuous multilinear maps #
We associate to a continuous multilinear map in n+1
variables (i.e., based on Fin n.succ
) two
curried functions, named f.curryLeft
(which is a continuous linear map on E 0
taking values
in continuous multilinear maps in n
variables) and f.curryRight
(which is a continuous
multilinear map in n
variables taking values in continuous linear maps on E (last n)
).
The inverse operations are called uncurryLeft
and uncurryRight
.
We also register continuous linear equiv versions of these correspondences, in
continuousMultilinearCurryLeftEquiv
and continuousMultilinearCurryRightEquiv
.
Main results #
Type variables #
We use the following type variables in this file:
π
: aNontriviallyNormedField
;ΞΉ
,ΞΉ'
: finite index types with decidable equality;E
,Eβ
: families of normed vector spaces overπ
indexed byi : ΞΉ
;E'
: a family of normed vector spaces overπ
indexed byi' : ΞΉ'
;Ei
: a family of normed vector spaces overπ
indexed byi : Fin (Nat.succ n)
;G
,G'
: normed vector spaces overπ
.
Left currying #
Given a continuous linear map f
from E 0
to continuous multilinear maps on n
variables,
construct the corresponding continuous multilinear map on n+1
variables obtained by concatenating
the variables, given by m β¦ f (m 0) (tail m)
Equations
- ContinuousLinearMap.uncurryLeft f = MultilinearMap.mkContinuous (LinearMap.uncurryLeft (LinearMap.comp ContinuousMultilinearMap.toMultilinearMapLinear βf)) βfβ β―
Instances For
Given a continuous multilinear map f
in n+1
variables, split the first variable to obtain
a continuous linear map into continuous multilinear maps in n
variables, given by
x β¦ (m β¦ f (cons x m))
.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The space of continuous multilinear maps on Ξ (i : Fin (n+1)), E i
is canonically isomorphic to
the space of continuous linear maps from E 0
to the space of continuous multilinear maps on
Ξ (i : Fin n), E i.succ
, by separating the first variable. We register this isomorphism in
continuousMultilinearCurryLeftEquiv π E Eβ
. The algebraic version (without topology) is given
in multilinearCurryLeftEquiv π E Eβ
.
The direct and inverse maps are given by f.uncurryLeft
and f.curryLeft
. Use these
unless you need the full framework of linear isometric equivs.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Right currying #
Given a continuous linear map f
from continuous multilinear maps on n
variables to
continuous linear maps on E 0
, construct the corresponding continuous multilinear map on n+1
variables obtained by concatenating the variables, given by m β¦ f (init m) (m (last n))
.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Given a continuous multilinear map f
in n+1
variables, split the last variable to obtain
a continuous multilinear map in n
variables into continuous linear maps, given by
m β¦ (x β¦ f (snoc m x))
.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The space of continuous multilinear maps on Ξ (i : Fin (n+1)), Ei i
is canonically isomorphic to
the space of continuous multilinear maps on Ξ (i : Fin n), Ei <| castSucc i
with values in the
space of continuous linear maps on Ei (last n)
, by separating the last variable. We register this
isomorphism as a continuous linear equiv in continuousMultilinearCurryRightEquiv π Ei G
.
The algebraic version (without topology) is given in multilinearCurryRightEquiv π Ei G
.
The direct and inverse maps are given by f.uncurryRight
and f.curryRight
. Use these
unless you need the full framework of linear isometric equivs.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The space of continuous multilinear maps on Ξ (i : Fin (n+1)), G
is canonically isomorphic to
the space of continuous multilinear maps on Ξ (i : Fin n), G
with values in the space
of continuous linear maps on G
, by separating the last variable. We register this
isomorphism as a continuous linear equiv in continuousMultilinearCurryRightEquiv' π n G G'
.
For a version allowing dependent types, see continuousMultilinearCurryRightEquiv
. When there
are no dependent types, use the primed version as it helps Lean a lot for unification.
The direct and inverse maps are given by f.uncurryRight
and f.curryRight
. Use these
unless you need the full framework of linear isometric equivs.
Equations
- continuousMultilinearCurryRightEquiv' π n G G' = continuousMultilinearCurryRightEquiv π (fun (x : Fin (Nat.succ n)) => G) G'
Instances For
Currying with 0
variables #
The space of multilinear maps with 0
variables is trivial: such a multilinear map is just an
arbitrary constant (note that multilinear maps in 0
variables need not map 0
to 0
!).
Therefore, the space of continuous multilinear maps on (Fin 0) β G
with values in Eβ
is
isomorphic (and even isometric) to Eβ
. As this is the zeroth step in the construction of iterated
derivatives, we register this isomorphism.
Associating to a continuous multilinear map in 0
variables the unique value it takes.
Equations
Instances For
Associating to an element x
of a vector space Eβ
the continuous multilinear map in 0
variables taking the (unique) value x
Equations
- ContinuousMultilinearMap.curry0 π G x = ContinuousMultilinearMap.constOfIsEmpty π (fun (i : Fin 0) => G) x
Instances For
The continuous linear isomorphism between elements of a normed space, and continuous multilinear
maps in 0
variables with values in this normed space.
The direct and inverse maps are uncurry0
and curry0
. Use these unless you need the full
framework of linear isometric equivs.
Equations
- One or more equations did not get rendered due to their size.
Instances For
With 1 variable #
Continuous multilinear maps from G^1
to G'
are isomorphic with continuous linear maps from
G
to G'
.
Equations
- One or more equations did not get rendered due to their size.
Instances For
An equivalence of the index set defines a linear isometric equivalence between the spaces of multilinear maps.
Equations
- One or more equations did not get rendered due to their size.
Instances For
A continuous multilinear map with variables indexed by ΞΉ β ΞΉ'
defines a continuous
multilinear map with variables indexed by ΞΉ
taking values in the space of continuous multilinear
maps with variables indexed by ΞΉ'
.
Equations
- ContinuousMultilinearMap.currySum f = MultilinearMap.mkContinuousMultilinear (MultilinearMap.currySum f.toMultilinearMap) βfβ β―
Instances For
A continuous multilinear map with variables indexed by ΞΉ
taking values in the space of
continuous multilinear maps with variables indexed by ΞΉ'
defines a continuous multilinear map with
variables indexed by ΞΉ β ΞΉ'
.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Linear isometric equivalence between the space of continuous multilinear maps with variables
indexed by ΞΉ β ΞΉ'
and the space of continuous multilinear maps with variables indexed by ΞΉ
taking values in the space of continuous multilinear maps with variables indexed by ΞΉ'
.
The forward and inverse functions are ContinuousMultilinearMap.currySum
and ContinuousMultilinearMap.uncurrySum
. Use this definition only if you need
some properties of LinearIsometryEquiv
.
Equations
- One or more equations did not get rendered due to their size.
Instances For
If s : Finset (Fin n)
is a finite set of cardinality k
and its complement has cardinality
l
, then the space of continuous multilinear maps G [Γn]βL[π] G'
of n
variables is isomorphic
to the space of continuous multilinear maps G [Γk]βL[π] G [Γl]βL[π] G'
of k
variables taking
values in the space of continuous multilinear maps of l
variables.
Equations
- One or more equations did not get rendered due to their size.