290 DEMO FS

Prof. Robert Beezer
Copyright 2012 All Rights Reserved

February 24, 2012
{{{ }}}

FS - Four Subspaces

{{{ A = matrix(QQ, [[194, -41, -899, -396, 49, 112, 874, -355, 1139, -1221], [269, -57, -1247, -549, 68, 155, 1212, -492, 1579, -1693], [16, -3, -73, -33, 4, 10, 72, -30, 95, -101], [115, -24, -532, -235, 29, 67, 518, -211, 676, -724], [10, 1, -37, -23, 2, 12, 44, -24, 67, -65], [-59, 13, 275, 120, -15, -33, -266, 107, -345, 371], [36, -7, -165, -74, 9, 22, 162, -67, 213, -227], [-20, 4, 92, 41, -5, -12, -90, 37, -118, 126]]) A }}} {{{ N = A.extended_echelon_form(subdivide=True) N }}}

Grab the four pieces of N.

{{{ C = N.subdivision(0,0) Z = N.subdivision(1,0) K = N.subdivision(0,1) L = N.subdivision(1,1) }}}

And build two bigger pieces.

{{{ B = C.stack(Z) J = K.stack(L) }}} {{{ B }}} {{{ J }}}

Some properties of the pieces, as given in Theorem PEEF.

J is nonsingular.

{{{ J.inverse() }}}

A, B and J are related. Effectively, J consolidates the net effect of all of the row operations that convert A into B.

{{{ J*A == B }}}

Any linear combinations of the columns of L that create a zero column will create a consistent system when used as the vector of constants with A as coefficient matrix. This is another way of saying the null space of L is the column space of A.

{{{ NL = L.right_kernel(basis='pivot') NL }}}

We create an element of the null space of L.

{{{ NLbasis = NL.basis() }}} {{{ b = 3*NLbasis[0] + (-2)*NLbasis[1] + 5*NLbasis[2] b }}}

b will create a consistent system with A as coefficient matrix.

{{{ P = A.augment(b, subdivide=True) P.rref() }}}

The column space of A is equal to the null space of L. This is part of Theorem FS.

{{{ CA = A.column_space() CA }}} {{{ NL.echelonized_basis() }}} {{{ CA == NL }}}