You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I used GAPS to generate a solver for an eight-variable problem. The problem has a quotient ring basis (degree = 80), and the template size is [1145, 1345]. While the generated solver can solve the problem, the results are not 100% accurate. I set the parameters to be solved as [0.5; 0.5; 100], but the closest solution returned is [0.49998; 0.49998; 100.0002]. As the amount of input data increases, the solution deviates further from the true values.
Here is a part of my code:
[C0, C1] = setup_elimination_template(H);
b_ind = [1102, 2248, 3394, 4540, 5686, 6832, 7978, 9124, 10270, 11416, 12562, 13708, 14854, 16000, 17146, 18292, 19438, 20584, 21730, 22876, 24022, 25168, 26314, 27460, 28606, 29752, 30898, 32044, 33190, 34336, 35482, 36628, 37774, 38920, 40066, 41212, 42358, 43504, 44650, 45796, 46942, 48088, 49234, 50380];
b = zeros(1145, 44);
b(b_ind) = -1;
alpha = C0' \ b;
At this line alpha = C0' \ b;, MATLAB indicates that the matrix C0 is ill-conditioned with a large condition number. This makes the solution numerically unstable.
Question:
What can I do to improve the accuracy of the solution, given the ill-conditioned nature of C0? Is there a way to mitigate the problem and make the solver more reliable as the data grows?
The text was updated successfully, but these errors were encountered:
I used GAPS to generate a solver for an eight-variable problem. The problem has a quotient ring basis (degree = 80), and the template size is [1145, 1345]. While the generated solver can solve the problem, the results are not 100% accurate. I set the parameters to be solved as [0.5; 0.5; 100], but the closest solution returned is [0.49998; 0.49998; 100.0002]. As the amount of input data increases, the solution deviates further from the true values.
Here is a part of my code:
[C0, C1] = setup_elimination_template(H);
b_ind = [1102, 2248, 3394, 4540, 5686, 6832, 7978, 9124, 10270, 11416, 12562, 13708, 14854, 16000, 17146, 18292, 19438, 20584, 21730, 22876, 24022, 25168, 26314, 27460, 28606, 29752, 30898, 32044, 33190, 34336, 35482, 36628, 37774, 38920, 40066, 41212, 42358, 43504, 44650, 45796, 46942, 48088, 49234, 50380];
b = zeros(1145, 44);
b(b_ind) = -1;
alpha = C0' \ b;
At this line alpha = C0' \ b;, MATLAB indicates that the matrix C0 is ill-conditioned with a large condition number. This makes the solution numerically unstable.
Question:
What can I do to improve the accuracy of the solution, given the ill-conditioned nature of C0? Is there a way to mitigate the problem and make the solver more reliable as the data grows?
The text was updated successfully, but these errors were encountered: