$Post:=If[MatrixQ[#],TableForm[#],#]& Exercise 2.5.1 A=Array[Random[Integer,{-100,100}]&,{5,7}] RowReduce[A]//TableForm RowReduce[Transpose[A]] By inspection, one sees that the row rank above is equal to the column rank (and therefore the dimensions of row space and column space are the same). Exercise 2.5.2 f[i_,j_]:=i+j a) A=Array[f,{5,13}] NullSpace[A] RowReduce[A] RowSpaceBasis={%[[1]],%[[2]]} RowReduce[Transpose[A]] ColumnSpaceBasis={%[[1]],%[[2]]} b) A=Array[f,{11,7}] NullSpace[A] RowReduce[A] RowSpaceBasis={%[[1]],%[[2]]} RowReduce[Transpose[A]] ColumnSpaceBasis={%[[1]],%[[2]]} c) A=Array[f,{16,8}] NullSpace[A] RowReduce[A] RowSpaceBasis={%[[1]],%[[2]]} RowReduce[Transpose[A]] ColumnSpaceBasis={%[[1]],%[[2]]} Exercise 2.5.3 Yes, it generalizes to the fact that the rank of the matrix ( = dimension of the column space = dimension of the row space) and the dimension of the null space sum up to the number of columns. Reason being that each column will either - be linearly independent of the preceding, and therefore able to be part of a basis for the column space, or - be a linear combination of the preceding, in which case the corresponding x[i] it multiplies in Ax=0 is arbitrary, therefore it generates one more dimension for the null space. Exercise 2.5.4 h[i_,j_]:=1/(i+j-1) a) A=Array[h,{13,15}] NullSpace[A] RowSpaceBasis=RowReduce[A] RowReduce[Transpose[A]] ColumnSpaceBasis=Array[%[[#]]&,13] b) A=Array[h,{14,3}] NullSpace[A] RowSpaceBasis=Array[RowReduce[A][[#]]&,3] ColumnSpaceBasis=RowReduce[Transpose[A]] c) A=Array[h,{27,5}] NullSpace[A] RowSpaceBasis=Array[RowReduce[A][[#]]&,5] ColumnSpaceBasis=RowReduce[Transpose[A]]