Left Nullspace of AConsider A=Transpose[Transpose[A]]. If M is the GJSF of A, then M=D.A Partition D by rows into D=Transpose[D11 D21], where D11 corresponds to the nonzero rows of M and D21 corresponds to the zero rows of M. The columns of Transpose[D21] form the standard basis for the Left Nullspace of A.
a={{1,2,1,2},{2,1,2,1},{3,2,3,2},{3,3,3,3},{5,3,5,3}};
MatrixForm[a]
aI=AppendRows[a,IdentityMatrix[5]]; MatrixForm[aI]
GJSFofaI=RowReduce[aI]; MatrixForm[GJSFofaI]
Because this is large, let's get the last five columns; that will be D. Notice the TakeColumns command. The -5 means the last four columns.
Clear[d] d=TakeColumns[GJSFofaI,-5]; MatrixForm[d]
The last three rows correspond to the nonzero rows of M. The standard basis for the Left Nullspace of A is
{Transpose[1 0 0 -7/6 1/2], Transpose[0 1 0 1/6 -1/2],
Transpose[0 0 1 -1/6 -1/2]}.