The problem here can arise because of numerical underflow which appears for sufficiently large dimension of the problem.
Some numerically very small number multiplies the parameter "a" and therefore "a" does not appear in the "solution".
Consider a simple example
Define the matrix m (fill it with random numbers, here exponentially distributed)
In[263]:= n = 10;
m = Table[-Log[Random[]], {i, 1, n}, {j, 1, n}];
Now replace one element by the parameter "a":
In[265]:= m[[1, 1]] = a
Out[265]= a
Check the determinant
In[266]:= Det[m] // Distribute
Out[266]= -364.727 + 119.62 a
Similarly define the right hand side
In[267]:= y = Array[-Log[Random[]] &, n]
Out[267]= {0.335897, 0.0365035, 1.09626, 0.0109352, 2.37241, 0.364962, 0.682719, \
1.67369, 1.05203, 1.07763}
Solve the equation
In[269]:= ls = FullSimplify[LinearSolve[m, y]]
Out[269]= {2.85656*10^-15 - 5.42695*10^-169/(6.28005*10^-169 - 2.05968*10^-169 a),
1.47799 + 2.29225*10^-169/(6.28005*10^-169 - 2.05968*10^-169 a), -1.48418 +
2.10951*10^-169/(6.28005*10^-169 - 2.05968*10^-169 a),
0.00418502 + 3.91494*10^-169/(
6.28005*10^-169 - 2.05968*10^-169 a), -3.52696 + 5.26631*10^-169/(
6.28005*10^-169 - 2.05968*10^-169 a), -0.0479913 - 3.29329*10^-169/(
6.28005*10^-169 - 2.05968*10^-169 a), -1.58069 + 2.58972*10^-169/(
6.28005*10^-169 - 2.05968*10^-169 a),
0.0154976 + 3.84753*10^-169/(6.28005*10^-169 - 2.05968*10^-169 a),
1.00619 - 3.66389*10^-169/(6.28005*10^-169 - 2.05968*10^-169 a),
1.8942 - 5.07079*10^-169/(6.28005*10^-169 - 2.05968*10^-169 a)}
A typical term in which "a" appears is
5.42695*10^-169/(6.28005*10^-169 - 2.05968*10^-169 a)
We can see that there appears a very small factor 2.05968*10^-169 before "a".
But this is of course spurious because it can be reduced by dividing by the numerator.
Let's do this using a pure function
f = 1/Distribute[Denominator[#]/Numerator[#]] &
Which gives something looking innocently:
In[270]:= f[5.426948941128063`*^-169/(
6.280047143587323`*^-169 - 2.059678646225578`*^-169 a)]
Out[270]= 1/(1.1572 - 0.379528 a)
We can extend this to the whole list ls:
In[271]:= ls1 = Plus @@ (f /@ List @@ #) & /@ ls
Out[271]= {2.85656*10^-15 + 1/(-1.1572 + 0.379528 a),
1.47799 + 1/(2.73969 - 0.898542 a), -1.48418 + 1/(2.97702 - 0.976379 a),
0.00418502 + 1/(1.60413 - 0.526108 a), -3.52696 + 1/(
1.1925 - 0.391105 a), -0.0479913 + 1/(-1.90692 + 0.625417 a), -1.58069 + 1/(
2.42499 - 0.795328 a), 0.0154976 + 1/(1.63223 - 0.535325 a),
1.00619 + 1/(-1.71404 + 0.562157 a), 1.8942 + 1/(-1.23847 + 0.406185 a)}
Ok, done. Now you can put in specific values vor "a":
In[222]:= ls1 /. a -> 10
Out[222]= {-0.114464, 0.335937, -0.13769, -0.0448387, 0.133666, 0.207523, 0.05006, \
-0.427603, 0.0156447, 0.198275, -0.0961547, -0.057508, 0.191488, 0.336546, \
-0.359727, 0.301349}
In[153]:= ls /. a -> 1.
Out[153]= {16.4706, 1.92368, -5.40107, 0.527357, 3.18836, 1.39021, 0.36902, 1.17988, \
-3.67465, -0.996117, -5.23853, -2.44246, -1.243, -0.426711, -0.939764, 0.}
In[154]:= ls /. a -> -1
Out[154]= {16.4706, 1.92368, -5.40107, 0.527357, 3.18836, 1.39021, 0.36902, 1.17988, \
-3.67465, -0.996117, -5.23853, -2.44246, -1.243, -0.426711, -0.939764, 0.}
I suggest playing around with this model, varying the dimension. You will notice that from n~=15 on there will be no parameter "a" any more in the solution because of numerical underflow.
Best regards,
Wolfgang
NullSpace
ofL
is. See e.g. closely related post: All possible solutions to the Matrix Equation (free variables appearing). $\endgroup$