I have a system of $m$ linear equations on $n$ variables, which I'm representing as $Ax=b$, with $A$ an $m\times n$ matrix representing the equations and $b$ an $\mathbb R^m$ vector representing the constants of the equations. I'm given that there exists a solution $s\in\mathbb R^n$ (i.e., $As=b$) and that $m<<n$.
My goal is the following:
- Find which variables are determined (i.e., for which there are no solutions with values different than the one in $s$).
- For each variable in 1., find a minimal subsystem of equations which determines that variable. By minimal, I mean the following: the subsystem determines the variable as in 1., and no proper subset of the subsystem does this. I want to find any such minimal subsystem: which one I pick is irrelevant to me.
Progress:
I've solved 1. by computing the nullspace of $A$, and looking for those variables for which none of the basis vectors of the null-space have a non-zero coefficient.
I've attempted to solve 2. by computing the pseudo-inverse of $A$ and looking at which coefficients in the row corresponding to the chosen variable are non-zero. This approach doesn't work, though, since the pseudo-inverse $P$ minimizes the Frobenius norm among all matrices $X$ such that $X\cdot b=s$. This norm is an $L_2$ norm, but what we really want is an $L_0$ norm, since we want to minimize the number of non-zero elements in the matrix. Of course, finding the matrix minimizing the $L_0$ norm is an NP problem, so that's not a valid approach for me.
Are there any other approaches I'm missing? Perhaps some heuristic methods? I'm struggling to find anything on this subject.