33 puts(
"############ Solve Linear Algebra Module ############");
35 puts(
"******* Determined system *******");
49 puts(
"Moore Penrose: ");
51 error_no =
solve(m, n, copy_A1, b1, x, algo);
60 puts(
"Householder: ");
63 error_no =
solve(m, n, copy_A1, b1, x, algo);
75 error_no =
solve(m, n, copy_A1, b1, x, algo);
87 error_no =
solve(m, n, copy_A1, b1, x, algo);
96 puts(
"******* Overdetermined system *******");
104 matrix_t b2[4] = { 106.8, 177.2, 232.6, 279.2 };
108 puts(
"Moore Penrose: ");
111 error_no =
solve(m, n, copy_A2, b2, x, algo);
119 puts(
"Householder: ");
122 error_no =
solve(m, n, copy_A2, b2, x, algo);
133 error_no =
solve(m, n, copy_A2, b2, x, algo);
141 puts(
"******* Underdetermined system *******");
144 matrix_t A3[3][4] = { { 2, -4, 2, -14 },
152 puts(
"Moore Penrose: ");
155 error_no =
solve(m, n, A3, b3, x, algo);
163 puts(
"Householder: ");
166 error_no =
solve(m, n, copy_A3, b3, x, algo);
177 error_no =
solve(m, n, copy_A3, b3, x, algo);
185 puts(
"*** Test: Solve with LU decomposition ***");
188 { 0.1712, 0.0971, 0.0344, 0.1869, 0.7547 },
189 { 0.7060, 0.8235, 0.4387, 0.4898, 0.2760 },
190 { 0.0318, 0.6948, 0.3816, 0.4456, 0.6797 },
191 { 0.2769, 0.3171, 0.7655, 0.6463, 0.6551 },
192 { 0.0462, 0.9502, 0.7952, 0.7094, 0.1626 }
195 matrix_t b4[5] = { 0.1190, 0.4984, 0.9597, 0.3404, 0.5853 };
201 error_no =
solve(m, n, copy_A4, b4, x4, algo);
218 matrix_t A[10][5] = { { 0.8147, 0.1576, 0.6557, 0.7060, 0.4387 },
219 { 0.9058, 0.9706, 0.0357, 0.0318, 0.3816 },
220 { 0.1270, 0.9572, 0.8491, 0.2769, 0.7655 },
221 { 0.9134, 0.4854, 0.9340, 0.0462, 0.7952 },
222 { 0.6324, 0.8003, 0.6787, 0.0971, 0.1869 },
223 { 0.0975, 0.1419, 0.7577, 0.8235, 0.4898 },
224 { 0.2785, 0.4218, 0.7431, 0.6948, 0.4456 },
225 { 0.5469, 0.9157, 0.3922, 0.3171, 0.6463 },
226 { 0.9575, 0.7922, 0.6555, 0.9502, 0.7094 },
227 { 0.9649, 0.9595, 0.1712, 0.0344, 0.7547 } };
228 uint8_t m = 10, n = 5;
232 matrix_t b[10] = { 1.2902, 0.8819, 0.9721, 1.2347, 0.9185, 0.9844, 1.0627,
233 1.0280, 1.7283, 1.0618 };
239 puts(
"Moore Penrose: ");
242 error_no =
solve(m, n, copy_A, b, x, algo);
251 puts(
"Householder: ");
254 error_no =
solve(m, n, copy_A, b, x, algo);
266 error_no =
solve(m, n, copy_A, b, x, algo);