[Next] [Prev] [Right] [Left] [Up] [Index] [Root]
Operations with Linear Transformations

Operations with Linear Transformations

Throughout this section, V is a subspace of K^((m)), W is a subspace of K^((n)) and a is a linear transformation belonging to Hom_(K)(V, W).

v * a : ModTupFldElt, ModMatFldElt -> ModTupFldElt
a(v) : ModMatFldElt, ModTupFldElt -> ModTupFldElt
Given an element v belonging to the vector space V, and an element a belonging to Hom_(K)(V, W), return the image of v under the linear transformation a as an element of the vector space W.
a * b : ModMatElt, ModMatElt -> ModMatElt
Given a matrix a belonging to K^((m x n)) and a matrix b belonging to K^((n x p)), for some integers m, n, p, form the product of a and b as an element of K^((m x p)).
Domain(a) : ModMatElt -> ModTupFld
The domain of the linear transformation a belonging to Hom_(K)(V, W), returned as a subspace of V.
Codomain(a) : ModMatElt -> ModTupFld
The codomain of the linear transformation a belonging to Hom_(K)(V, W), returned as a subspace of W.
Image(a) : ModMatElt -> ModTupFld
RowSpace(a) : ModMatElt -> ModTupFld
The image of the linear transformation a belonging to Hom_(K)(V, W), returned as a subspace of W.
Rank(a) : ModMatElt -> RngIntElt
The dimension of the image of the linear transformation a, i.e. the row rank of the matrix a.
EchelonForm(a) : ModMatElt -> ModMatElt, ModMatElt
The (row) echelon form of matrix a belonging to Hom_(K)(V, W). This function returns two values:
Kernel(a) : ModMatElt -> ModTupFld
NullSpace(a) : ModMatElt -> ModTupFld
The kernel of the linear transformation a belonging to Hom_(K)(V, W), returned as a subspace of V.
RowNullSpace(a) : ModMatElt -> ModTupFld
The row nullspace of the linear transformation a belonging to Hom_(K)(V, W), returned as a subspace of W. This is equal to the kernel of the transpose of a.
Cokernel(a) : ModMatElt -> ModTupFld
The cokernel of the linear transformation a belonging to Hom_(K)(V, W).
Transpose(a) : ModMatElt -> ModMatElt
The transpose of the matrix a.

Example KMod_LinearTrans (H41E13)

We illustrate the map operations for matrix spaces in the following example:

> Q := RationalField();
> Q2 := VectorSpace(Q, 2);
> Q3 := VectorSpace(Q, 3);
> Q4 := VectorSpace(Q, 4);
> H23 := Hom(Q2, Q3);
> H34 := Hom(Q3, Q4);
> x := Q2 ! [ -1, 2 ];
> a := H23 ! [ 1/2, 3, 0,  2/3, 4/5, -1 ];
> a;
[1/2   3   0]
[2/3 4/5  -1]
> Domain(a);
Full Vector space of degree 2 over Rational Field
> Codomain(a);
Full Vector space of degree 3 over Rational Field
> x*a;
( 5/6 -7/5   -2)
> b := H34 ! [ 2, 0, 1, -1/2,  1, 0, 3/2, 4,  4/5, 6/7, 0, -9/7];
> b;
[   2    0    1 -1/2]
[   1    0  3/2    4]
[ 4/5  6/7    0 -9/7]
> c := a*b;
> c;
[      4       0       5    47/4]
[    4/3    -6/7   28/15 436/105]
> x*c;
(     -4/3     -12/7    -19/15 -1447/420)
> Image(c);
Vector space of degree 4, dimension 2 over Rational Field
Echelonized basis:
(     1      0    5/4  47/16)
(     0      1  -7/30 -11/40)
> Kernel(c);
Vector space of degree 2, dimension 0 over Rational Field
> Rank(c);
2
> EchelonForm(c);
[     1      0    5/4  47/16]
[     0      1  -7/30 -11/40]

[Next] [Prev] [Right] [Left] [Up] [Index] [Root]