Finding the Kernel of a Linear Transformation in Maxima

144 Views Asked by At

I am just starting to explore STACK (https://stack-assessment.org/) which is based on Maxima, to develop math questions that can be automatically evaluated. I was working on a linear transformation problem that asks for the kernel of $T: \mathbb{R}^4 \rightarrow \mathbb{R}^3: (x_1, x_2, x_3, x_4) \mapsto(2x_1+4x_2+6x_3+5x_4, -x_1-2x_2+2x_3, 8x_3+4x_4)$. The manually calculated solution I found is $\textrm{ker}(T) = \textrm{span}\{(-2,1,0,0), (-1,0,-\frac{1}{2},1)\}$. It is also confirmed with several online nullspace calculators I tried.

However, when I tried to use Maxima (5.41 and 5.46) with the following code:

(%i1)   A: matrix([2,4,6,5],[-1,-2,2,0],[0,0,8,4]);
(%o1)   matrix(
            [2, 4,  6,  5],
            [-1,    -2, 2,  0],
            [0, 0,  8,  4]
        )
(%i2)   nullspace(A);
0 errors, 0 warnings
(%o2)   span(matrix(
        [-20],
        [10],
        [0],
        [0]
    ),matrix(
        [0],
        [10],
        [10],
        [-20]
    ))

While I tried it on Mathematica

A = {{2,4,6,5},{-1,-2,2,0},{0,0,8,4}}

NullSpace[A]
{{-2,0,-1,2},{-2,1,0,0}} 

Did I miss something on my Maxima code so it returned a different span set? Can Maxima evaluate whether a vector belongs to a span set?