Skip to content

Tring GAPS on an eight variables problem, generated solver is inaccurate, and shows C0 ill-condtional with large contion number #6

@Chastj

Description

@Chastj

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?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions