# Changing the Coefficient Field

The standard constructions described in section 31.5 for $R$-modules may be applied to vector spaces. In addition, we may extend or restrict the field of scalars, using the functions described here.

## `ExtendField(V, L): ModTupFld, Fld -> ModTupFld, MapHom`

Given a $K$-vector space $V$, with $K$ a field and $L$ an extension of $K$, construct the $L$-vector space $U = V \otimes_K L$. The function returns

**(a)**
the vector space $U$; and

**(b)**
the inclusion homomorphism $\phi\ : V \rightarrow U$.

## `RestrictField(V, L): ModTupFld, Fld -> ModTupFld, MapHom`

Given a $K$-vector space $V$, with $K$ a field and $L$ a subfield of $K$, construct the $L$-vector space $U$ consisting of those vectors of $V$ having all of their components lying in the subfield $L$. The function returns

**(a)**
the vector space $U$; and

**(b)**
the restriction homomorphism $\phi\ : V \rightarrow U$.

## `VectorSpace(V, F): ModTupFld, Fld -> ModTupFld, Map`

## `KSpace(V, F): ModTupFld, Fld -> ModTupFld, Map`

## `KMatrixSpace(V, F): ModTupFld, Fld -> ModTupFld, Map`

## `KModule(V, F): ModTupFld, Fld -> ModTupFld, Map`

Given an $n$-dimensional $K$-vector space $V$, and a subfield $F$ of a finite field or cyclotomic field $K$ such that $K$ has degree $m$ over $F$, construct a vector space $U$ of dimension $mn$ over the field $F$. The function returns

**(a)**
the vector space $U$; and

**(b)**
a mapping $\phi\ : V \rightarrow U$ such that a vector $(v_1, \ldots, v_i, \ldots, v_n)$ of $V$ is mapped into the vector

$$
(u_{11},\ldots, u_{1n}, \ldots, u_{i1}, \ldots, u_{in}, \ldots, u_{n1}, \ldots u_{nn} ),
$$

where $(u_{i1}, \ldots, u_{in})$ is the field element $v_i$ written as a vector over the subfield $F$.
