I apologize if this is a naive question. I'm trying to create some boostrap data for a system of linear, ordinary differential equations at steady state.
Since the equations represent the concentration of chemical species, X has to be positive. Further, I'm trying to find the sparsest possible matrix of A, for the sake of keeping the dependency graph of the equations as small as possible.
Using the cvx toolbox in MATLAB, I put the problem like this:
clear % the threshold value below which we consider an element to be zero delta = 1e-8; % problem dimensions (m inequalities in n-dimensional space) n = 25; X = rand(n, 1) b = zeros(n, 1); c = zeros(n, n) + delta^2 alpha = 0.1 % l1-norm heuristic for finding a sparse solution fprintf(1, 'Finding a sparse feasible point using l1-norm heuristic ...') cvx_begin variable A(n,n) %minimize(nnz(A)) minimize(alpha * nnz( A ) + (1-alpha) * norm(A*X - b, 2) ) cvx_end % number of nonzero elements in the solution (its cardinality or diversity) nonzero = length(find( abs(A) > delta )); fprintf(1,['\nFound a feasible A in R^%d that has %d nonzeros ' ... 'using the l1-norm heuristic.\n'],n,nonzero);
This tends to find matrix of A which are filled with incredibly small near zero values. Does anyone have suggestions for heuristic approaches to find a combination of X and A which satisfy the constraints I described above? They don't need to be particularly fast or memory efficient, I'm working with relatively small matrix.
To be clear - I'm not trying to solve for a particular A or X. I'm trying to find a combination of A and X that satisfy the constraints I described.