# Error using NMinimize/NMaximize : The initial region specified may not contain any feasible points

An example of 18 non linear inequations with 4 variables is given in the image. But I have a set of 32 non linear inequations with 9 variables (I could not put this set as image, because it had many terms). In this set of inequalities I need to find a feasible point in a bounded region maybe a[i]'s belong to [-10,10], satisfying all inequalities. This was tried to implement using NMinimize.

In the code NMinimize is not able to do the needful. Error Prompt : The initial region specified may not contain any feasible points. At the end, the derived results are found not to be feasible.

Changing the initial region or specifying explicit initial points may provide a better solution. The code which gives error is as follows :

expr2 = (15 (arb[3] (8 arb[4] + 8 arb[5] + 677 (arb[7] + arb[8])) +
arb[2] (16 arb[4] - 8 arb[6] + 677 (2 arb[7] - arb[9])) -
arb[1] (16 arb[5] + 8 arb[6] + 677 (2 arb[8] + arb[9])) +
574 (-arb[6] (arb[7] + arb[8]) +
arb[5] (-2 arb[7] + arb[9]) +
arb[4] (2 arb[8] + arb[9]))))/(75088 (arb[
3] (arb[5] arb[7] - arb[4] arb[8]) +
arb[2] (-arb[6] arb[7] + arb[4] arb[9]) +
arb[1] (arb[6] arb[8] - arb[5] arb[9]))) >=
0 && (3 (arb[
3] (1636 arb[4] + 1636 arb[5] + 3461 (arb[7] + arb[8])) +
arb[2] (3272 arb[4] - 1636 arb[6] +
3461 (2 arb[7] - arb[9])) -
arb[1] (3272 arb[5] + 1636 arb[6] +
3461 (2 arb[8] + arb[9])) +
3022 (-arb[6] (arb[7] + arb[8]) +
arb[5] (-2 arb[7] + arb[9]) +
arb[4] (2 arb[8] + arb[9]))))/(75088 (arb[
3] (arb[5] arb[7] - arb[4] arb[8]) +
arb[2] (-arb[6] arb[7] + arb[4] arb[9]) +
arb[1] (arb[6] arb[8] - arb[5] arb[9]))) >=
0 && (3 (-2 (2 arb[5] + arb[6]) (16 arb[1] + 27 arb[7]) -
2 (67 arb[1] + 27 (-2 arb[4] + arb[6])) arb[8] +
arb[3] (32 arb[4] + 32 arb[5] + 67 (arb[7] + arb[8])) +
arb[2] (64 arb[4] - 32 arb[6] + 134 arb[7] -
67 arb[9]) + (-67 arb[1] + 54 (arb[4] + arb[5])) arb[
9]))/(5776 (arb[3] (arb[5] arb[7] - arb[4] arb[8]) +
arb[2] (-arb[6] arb[7] + arb[4] arb[9]) +
arb[1] (arb[6] arb[8] - arb[5] arb[9]))) >=
0 && (3 (-3 arb[
3] (88 arb[4] + 88 arb[5] - 457 (arb[7] + arb[8])) +
3 arb[2] (-176 arb[4] + 88 arb[6] + 914 arb[7] -
457 arb[9]) +
3 arb[1] (176 arb[5] + 88 arb[6] -
457 (2 arb[8] + arb[9])) +
1312 (-arb[6] (arb[7] + arb[8]) +
arb[5] (-2 arb[7] + arb[9]) +
arb[4] (2 arb[8] + arb[9]))))/(37544 (arb[
3] (arb[5] arb[7] - arb[4] arb[8]) +
arb[2] (-arb[6] arb[7] + arb[4] arb[9]) +
arb[1] (arb[6] arb[8] - arb[5] arb[9]))) >=
0 && (arb[
3] (56 arb[4] - 248 arb[5] + 677 (7 arb[7] - 31 arb[8])) +
arb[2] (112 arb[4] + 248 arb[6] +
677 (14 arb[7] + 31 arb[9])) -
7 (arb[1] (16 arb[5] + 8 arb[6] + 677 (2 arb[8] + arb[9])) +

82 (arb[6] (7 arb[7] - 31 arb[8]) -
7 arb[4] (2 arb[8] + arb[9]) +
arb[5] (14 arb[7] + 31 arb[9]))))/(arb[
3] (arb[5] arb[7] - arb[4] arb[8]) +
arb[2] (-arb[6] arb[7] + arb[4] arb[9]) +
arb[1] (arb[6] arb[8] - arb[5] arb[9])) >=
0 && (arb[
3] (11452 arb[4] - 50716 arb[5] +
3461 (7 arb[7] - 31 arb[8])) -
7 arb[1] (3272 arb[5] + 1636 arb[6] +
3461 (2 arb[8] + arb[9])) +
arb[2] (22904 arb[4] + 50716 arb[6] +
3461 (14 arb[7] + 31 arb[9])) +
3022 (arb[6] (-7 arb[7] + 31 arb[8]) +
7 arb[4] (2 arb[8] + arb[9]) -
arb[5] (14 arb[7] + 31 arb[9])))/(187720 (arb[
3] (arb[5] arb[7] - arb[4] arb[8]) +
arb[2] (-arb[6] arb[7] + arb[4] arb[9]) +
arb[1] (arb[6] arb[8] - arb[5] arb[9]))) >=
0 && (-14 (2 arb[5] + arb[6]) (16 arb[1] + 27 arb[7]) +
arb[3] (224 arb[4] - 992 arb[5] + 67 (7 arb[7] - 31 arb[8])) +
2 (-469 arb[1] + 378 arb[4] + 837 arb[6]) arb[
8] + (-469 arb[1] + 54 (7 arb[4] - 31 arb[5])) arb[9] +
arb[
2] (448 arb[4] + 992 arb[6] + 938 arb[7] +
2077 arb[9]))/(14440 (arb[
3] (arb[5] arb[7] - arb[4] arb[8]) +
arb[2] (-arb[6] arb[7] + arb[4] arb[9]) +
arb[1] (arb[6] arb[8] - arb[5] arb[9]))) >=
0 && (arb[
3] (-1848 arb[4] + 8184 arb[5] +
1371 (7 arb[7] - 31 arb[8])) +
21 arb[1] (176 arb[5] + 88 arb[6] - 457 (2 arb[8] + arb[9])) +
arb[2] (-3696 arb[4] - 8184 arb[6] +
1371 (14 arb[7] + 31 arb[9])) +
1312 (arb[6] (-7 arb[7] + 31 arb[8]) +
7 arb[4] (2 arb[8] + arb[9]) -
arb[5] (14 arb[7] + 31 arb[9])))/(93860 (arb[
3] (arb[5] arb[7] - arb[4] arb[8]) +
arb[2] (-arb[6] arb[7] + arb[4] arb[9]) +
arb[1] (arb[6] arb[8] - arb[5] arb[9]))) >=
0 && (arb[
3] (24 arb[4] - 584 arb[5] + 677 (3 arb[7] - 73 arb[8])) +
arb[1] (1168 arb[5] - 24 arb[6] +
677 (146 arb[8] - 3 arb[9])) -
73 arb[2] (16 arb[4] - 8 arb[6] + 677 (2 arb[7] - arb[9])) +
574 (arb[6] (-3 arb[7] + 73 arb[8]) +
73 arb[5] (2 arb[7] - arb[9]) +

arb[4] (-146 arb[8] + 3 arb[9])))/(75088 (arb[
3] (arb[5] arb[7] - arb[4] arb[8]) +
arb[2] (-arb[6] arb[7] + arb[4] arb[9]) +
arb[1] (arb[6] arb[8] - arb[5] arb[9]))) >=
0 && (arb[
3] (4908 arb[4] - 119428 arb[5] +
3461 (3 arb[7] - 73 arb[8])) +
arb[1] (238856 arb[5] - 4908 arb[6] +
3461 (146 arb[8] - 3 arb[9])) -
73 arb[2] (3272 arb[4] - 1636 arb[6] +
3461 (2 arb[7] - arb[9])) +
3022 (arb[6] (-3 arb[7] + 73 arb[8]) +
73 arb[5] (2 arb[7] - arb[9]) +
arb[4] (-146 arb[8] + 3 arb[9])))/(375440 (arb[
3] (arb[5] arb[7] - arb[4] arb[8]) +
arb[2] (-arb[6] arb[7] + arb[4] arb[9]) +
arb[1] (arb[6] arb[8] - arb[5] arb[9]))) >=
0 && (2 (146 arb[5] - 3 arb[6]) (16 arb[1] + 27 arb[7]) +
arb[3] (96 arb[4] - 2336 arb[5] + 67 (3 arb[7] - 73 arb[8])) +
146 (67 arb[1] + 27 (-2 arb[4] + arb[6])) arb[8] -
73 arb[2] (64 arb[4] - 32 arb[6] + 134 arb[7] - 67 arb[9]) -
3 (67 arb[1] - 54 arb[4] + 1314 arb[5]) arb[
9])/(28880 (arb[3] (arb[5] arb[7] - arb[4] arb[8]) +
arb[2] (-arb[6] arb[7] + arb[4] arb[9]) +
arb[1] (arb[6] arb[8] - arb[5] arb[9]))) >=
0 && (3 arb[
3] (-264 arb[4] + 6424 arb[5] +
457 (3 arb[7] - 73 arb[8])) +
3 arb[1] (-12848 arb[5] + 264 arb[6] +
457 (146 arb[8] - 3 arb[9])) +
219 arb[2] (176 arb[4] - 88 arb[6] +
457 (-2 arb[7] + arb[9])) +
1312 (arb[6] (-3 arb[7] + 73 arb[8]) +
73 arb[5] (2 arb[7] - arb[9]) +
arb[4] (-146 arb[8] + 3 arb[9])))/(187720 (arb[
3] (arb[5] arb[7] - arb[4] arb[8]) +
arb[2] (-arb[6] arb[7] + arb[4] arb[9]) +
arb[1] (arb[6] arb[8] - arb[5] arb[9]))) >=
0 && (2 (102 arb[5] + 13 arb[6]) (4 arb[1] + 287 arb[7]) +
2 (34527 arb[1] - 29274 arb[4] + 3731 arb[6]) arb[8] -
13 arb[3] (8 arb[4] + 8 arb[5] + 677 (arb[7] + arb[8])) +
13 (677 arb[1] - 574 (arb[4] + arb[5])) arb[9] +
arb[2] (-816 arb[4] + 104 arb[6] - 69054 arb[7] +
8801 arb[9]))/(75088 (arb[
3] (arb[5] arb[7] - arb[4] arb[8]) +
arb[2] (-arb[6] arb[7] + arb[4] arb[9]) +
arb[1] (arb[6] arb[8] - arb[5] arb[9]))) >=
0 && (2 (102 arb[5] + 13 arb[6]) (818 arb[1] + 1511 arb[7]) +
2 (176511 arb[1] + 1511 (-102 arb[4] + 13 arb[6])) arb[8] -
13 arb[3] (1636 arb[4] + 1636 arb[5] +
3461 (arb[7] + arb[8])) +
13 (3461 arb[1] - 3022 (arb[4] + arb[5])) arb[9] +
arb[2] (-166872 arb[4] + 21268 arb[6] +
3461 (-102 arb[7] + 13 arb[9])))/(375440 (arb[
3] (arb[5] arb[7] - arb[4] arb[8]) +
arb[2] (-arb[6] arb[7] + arb[4] arb[9]) +
arb[1] (arb[6] arb[8] - arb[5] arb[9]))) >=
0 && (-13 arb[3] (32 arb[4] + 32 arb[5] + 67 (arb[7] + arb[8])) +
arb[2] (-3264 arb[4] + 416 arb[6] - 6834 arb[7] + 871 arb[9]) +
arb[1] (3264 arb[5] + 416 arb[6] + 6834 arb[8] +
871 arb[9]) +
54 (102 arb[5] arb[7] + 13 arb[6] arb[7] - 102 arb[4] arb[8] +
13 arb[6] arb[8] -
13 (arb[4] + arb[5]) arb[9]))/(28880 (arb[
3] (arb[5] arb[7] - arb[4] arb[8]) +
arb[2] (-arb[6] arb[7] + arb[4] arb[9]) +
arb[1] (arb[6] arb[8] - arb[5] arb[9]))) >=
0 && (-8 (102 arb[5] + 13 arb[6]) (33 arb[1] - 164 arb[7]) +
2 (69921 arb[1] - 66912 arb[4] + 8528 arb[6]) arb[8] +
39 arb[3] (88 arb[4] + 88 arb[5] - 457 (arb[7] + arb[8])) +
13 (1371 arb[1] - 1312 (arb[4] + arb[5])) arb[9] +
3 arb[2] (8976 arb[4] - 1144 arb[6] - 46614 arb[7] +
5941 arb[9]))/(187720 (arb[
3] (arb[5] arb[7] - arb[4] arb[8]) +
arb[2] (-arb[6] arb[7] + arb[4] arb[9]) +
arb[1] (arb[6] arb[8] - arb[5] arb[9]))) >=
0 && (arb[
6] ((-15 + 61 arb[2]) arb[7] - (15 + 61 arb[1]) arb[8]) +
arb[5] (-(30 + 61 arb[3]) arb[7] + (15 + 61 arb[1]) arb[9]) +
arb[4] ((30 + 61 arb[3]) arb[8] + (15 - 61 arb[2]) arb[
9]))/(arb[3] (-arb[5] arb[7] + arb[4] arb[8]) +
arb[2] (arb[6] arb[7] - arb[4] arb[9]) +
arb[1] (-arb[6] arb[8] + arb[5] arb[9])) >=
0 && (arb[3] (arb[7] + arb[5] arb[7] + arb[8] - arb[4] arb[8]) -
arb[2] ((-2 + arb[6]) arb[7] - (-1 + arb[4]) arb[9]) +
arb[1] ((-2 + arb[6]) arb[8] - (1 + arb[5]) arb[9]))/(arb[
3] (-arb[5] arb[7] + arb[4] arb[8]) +
arb[2] (arb[6] arb[7] - arb[4] arb[9]) +
arb[1] (-arb[6] arb[8] + arb[5] arb[9])) >= 0 &&
15/76 (1 + (-arb[3] (arb[4] + arb[5]) +
arb[2] (-2 arb[4] + arb[6]) +
arb[1] (2 arb[5] + arb[6]))/(arb[
3] (-arb[5] arb[7] + arb[4] arb[8]) +
arb[2] (arb[6] arb[7] - arb[4] arb[9]) +
arb[1] (-arb[6] arb[8] + arb[5] arb[9]))) >=
0 && (15 (30 arb[5] arb[7] + 15 arb[6] arb[7] -
30 arb[4] arb[8] + 15 arb[6] arb[8] -
26 arb[1] arb[6] arb[8] +
arb[1] (73 (2 arb[5] + arb[6]) + 28 arb[8]) +
arb[3] (-arb[5] (73 + 26 arb[7]) - 14 (arb[7] + arb[8]) +
arb[4] (-73 + 26 arb[8])) + (-15 (arb[4] + arb[5]) +
2 arb[1] (7 + 13 arb[5])) arb[9] +
arb[2] (arb[6] (73 + 26 arb[7]) + 14 (-2 arb[7] + arb[9]) -
2 arb[4] (73 + 13 arb[9]))))/(988 (arb[
3] (arb[5] arb[7] - arb[4] arb[8]) +
arb[2] (-arb[6] arb[7] + arb[4] arb[9]) +
arb[1] (arb[6] arb[8] - arb[5] arb[9]))) >=
0 && (arb[6] (-7 (1 + arb[2]) arb[7] + (31 + 7 arb[1]) arb[8]) +
arb[5] (7 (-2 + arb[3]) arb[7] - (31 + 7 arb[1]) arb[9]) +
7 arb[4] (-(-2 + arb[3]) arb[8] + (1 + arb[2]) arb[9]))/(arb[
3] (-arb[5] arb[7] + arb[4] arb[8]) +
arb[2] (arb[6] arb[7] - arb[4] arb[9]) +
arb[1] (-arb[6] arb[8] + arb[5] arb[9])) >=
0 && (arb[3] ((7 - 31 arb[5]) arb[7] + 31 (-1 + arb[4]) arb[8]) +
arb[2] ((14 + 31 arb[6]) arb[7] - 31 (-1 + arb[4]) arb[9]) -
arb[1] ((14 + 31 arb[6]) arb[8] + (7 - 31 arb[5]) arb[
9]))/(arb[3] (-arb[5] arb[7] + arb[4] arb[8]) +
arb[2] (arb[6] arb[7] - arb[4] arb[9]) +
arb[1] (-arb[6] arb[8] + arb[5] arb[9])) >= 0 &&
1/38 (7 + (arb[3] (-7 arb[4] + 31 arb[5]) +
7 arb[1] (2 arb[5] + arb[6]) -
arb[2] (14 arb[4] + 31 arb[6]))/(arb[
3] (-arb[5] arb[7] + arb[4] arb[8]) +
arb[2] (arb[6] arb[7] - arb[4] arb[9]) +
arb[1] (-arb[6] arb[8] + arb[5] arb[9]))) >=
0 && (210 arb[5] arb[7] + 105 arb[6] arb[7] - 210 arb[4] arb[8] -
465 arb[6] arb[8] - 182 arb[1] arb[6] arb[8] +
7 arb[1] (73 (2 arb[5] + arb[6]) + 28 arb[8]) +
arb[3] (arb[5] (2263 - 182 arb[7]) - 98 arb[7] + 434 arb[8] +
7 arb[4] (-73 + 26 arb[8])) + (-105 arb[4] + 465 arb[5] +
14 arb[1] (7 + 13 arb[5])) arb[9] -
arb[2] (arb[6] (2263 - 182 arb[7]) + 196 arb[7] + 434 arb[9] +
14 arb[4] (73 + 13 arb[9])))/(494 (arb[
3] (arb[5] arb[7] - arb[4] arb[8]) +
arb[2] (-arb[6] arb[7] + arb[4] arb[9]) +
arb[1] (arb[6] arb[8] - arb[5] arb[9]))) >=
0 && (arb[
6] ((-3 + 73 arb[2]) arb[7] - 73 (-1 + arb[1]) arb[8]) -
73 arb[5] ((-2 + arb[3]) arb[7] - (-1 + arb[1]) arb[9]) +
arb[4] (73 (-2 + arb[3]) arb[8] + (3 - 73 arb[2]) arb[
9]))/(arb[3] (-arb[5] arb[7] + arb[4] arb[8]) +
arb[2] (arb[6] arb[7] - arb[4] arb[9]) +
arb[1] (-arb[6] arb[8] + arb[5] arb[9])) >=
0 && (arb[3] ((3 - 73 arb[5]) arb[7] + 73 (-1 + arb[4]) arb[8]) +
73 arb[2] ((-2 + arb[6]) arb[7] - (-1 + arb[4]) arb[9]) +
arb[1] (-73 (-2 + arb[6]) arb[8] + (-3 + 73 arb[5]) arb[
9]))/(arb[3] (-arb[5] arb[7] + arb[4] arb[8]) +
arb[2] (arb[6] arb[7] - arb[4] arb[9]) +
arb[1] (-arb[6] arb[8] + arb[5] arb[9])) >= 0 &&
1/76 (3 + (arb[3] (-3 arb[4] + 73 arb[5]) +
73 arb[2] (2 arb[4] - arb[6]) +
arb[1] (-146 arb[5] + 3 arb[6]))/(arb[
3] (-arb[5] arb[7] + arb[4] arb[8]) +
arb[2] (arb[6] arb[7] - arb[4] arb[9]) +
arb[1] (-arb[6] arb[8] + arb[5] arb[9]))) >=
0 && (-2190 arb[5] arb[7] + 45 arb[6] arb[7] +
2190 arb[4] arb[8] - 1095 arb[6] arb[8] +
1898 arb[1] arb[6] arb[8] -
73 arb[1] (146 arb[5] - 3 arb[6] + 28 arb[8]) +
arb[3] (-42 arb[7] + 73 arb[5] (73 + 26 arb[7]) +
1022 arb[8] - 73 arb[4] (3 + 26 arb[8])) + (-45 arb[4] +
arb[1] (42 - 1898 arb[5]) + 1095 arb[5]) arb[9] +
73 arb[2] (28 arb[7] - arb[6] (73 + 26 arb[7]) - 14 arb[9] +
2 arb[4] (73 + 13 arb[9])))/(988 (arb[
3] (arb[5] arb[7] - arb[4] arb[8]) +
arb[2] (-arb[6] arb[7] + arb[4] arb[9]) +
arb[1] (arb[6] arb[8] - arb[5] arb[9]))) >=
0 && (13 arb[
6] (arb[7] + arb[2] arb[7] + arb[8] - arb[1] arb[8]) +
arb[5] ((102 - 13 arb[3]) arb[7] + 13 (-1 + arb[1]) arb[9]) +
arb[4] ((-102 + 13 arb[3]) arb[8] -
13 (1 + arb[2]) arb[9]))/(arb[
3] (-arb[5] arb[7] + arb[4] arb[8]) +
arb[2] (arb[6] arb[7] - arb[4] arb[9]) +
arb[1] (-arb[6] arb[8] + arb[5] arb[9])) >=
0 && (13 arb[
3] (arb[7] + arb[5] arb[7] + arb[8] - arb[4] arb[8]) +
arb[2] ((102 - 13 arb[6]) arb[7] + 13 (-1 + arb[4]) arb[9]) +
arb[1] ((-102 + 13 arb[6]) arb[8] -
13 (1 + arb[5]) arb[9]))/(arb[
3] (arb[5] arb[7] - arb[4] arb[8]) +
arb[2] (-arb[6] arb[7] + arb[4] arb[9]) +
arb[1] (arb[6] arb[8] - arb[5] arb[9])) >= 0 &&
1/76 (-13 + (102 arb[2] arb[4] + 13 arb[3] arb[4] -
102 arb[1] arb[5] + 13 arb[3] arb[5] -
13 (arb[1] + arb[2]) arb[6])/(arb[
3] (-arb[5] arb[7] + arb[4] arb[8]) +
arb[2] (arb[6] arb[7] - arb[4] arb[9]) +
arb[1] (-arb[6] arb[8] + arb[5] arb[9]))) >=
0 && (-15 (102 arb[5] + 13 arb[6]) arb[7] +
3 (510 arb[4] + 13 (-5 + 34 arb[1]) arb[6]) arb[8] -
arb[1] (7446 arb[5] + 949 arb[6] + 1428 arb[8]) +
13 arb[3] (arb[5] (73 + 102 arb[7]) +
arb[4] (73 - 102 arb[8]) + 14 (arb[7] + arb[8])) +
13 (15 (arb[4] + arb[5]) - 2 arb[1] (7 + 51 arb[5])) arb[9] +
arb[2] (1428 arb[7] - 13 arb[6] (73 + 102 arb[7]) -
182 arb[9] +
102 arb[4] (73 + 13 arb[9])))/(988 (arb[
3] (arb[5] arb[7] - arb[4] arb[8]) +
arb[2] (-arb[6] arb[7] + arb[4] arb[9]) +
arb[1] (arb[6] arb[8] - arb[5] arb[9]))) >= 0 >= 0;

vars2 = arb /@ Range[9];
cons2 = And @@ Thread[-10 <= vars2 <= 10];
(soln3 = NMinimize[{Total[List @@ expr2[[All, 1]]], expr2 && cons2},
vars2, Reals]) // Quiet // AbsoluteTiming
expr2 && cons2 /. soln3[[2]]
(soln4 = NMaximize[{Total[List @@ expr2[[All, 1]]], expr2 && cons2},
vars2, Reals]) // Quiet // AbsoluteTiming
expr2 && cons2 /. soln4[[2]]


I can generate (or find) a trivial solution for a[i]'s which is practically not useful to me, so is it possible that I feed this initial condition to NMinimize to get another feasible point?

Trivial solution : {0, 0, 15/13, 1, 0, 14/13, 0, 1, -(73/13)}

trivsoln = Thread[vars2 -> {0, 0, 15/13, 1, 0, 14/13, 0, 1, -(73/13)}]
expr2 && cons2 /. trivsoln (* Returns true *)

• You tried to implement it by making it a constraint and NMinimize warns it has not found points satisfying the constraint. No surprises there since it is not obvious that such points even exist. – Daniel Lichtblau Oct 18 '17 at 0:34
• If you ignore the inequalities and pull the determinant in the denominator out as its own separate expression in expr2, the problem can be restated in a more intuitive fashion. You have 33 polynomial expressions in 9 variables. All of these expressions are 0 at the origin, and you are searching for some point in which all 33 of these expressions have the same non-zero sign. It's entirely possible that there is no solution. – eyorble Oct 18 '17 at 2:36
• Sir, what if I know one feasible point, can that be given to NMinimize, so that I get an another feasible point. I can generate (or find) a trivial solution for a[i]'s which is practically not useful to me, so is it possible that I feed this initial condition to NMinimize to get another feasible point? – Pushpendu Ghosh Oct 18 '17 at 8:19
• Sir I actually didn't save the matrix which gave the earlier conditions. So I simulated conditions for another matrix, and updated the conditions. Given the matrix which generated these 32 conditions , I can always find a solution very easily which gives first 16 conditions positive and rest qual to zero. Why is this solution not important to me? because this solution gives me the same matrix from where I started, but I want a different matrix, so I need feasible solutions of vars2 which differs from this trivial solution. Maybe I can quantify it as : max { | vars2[i] - trivsoln[i] | } > 1 – Pushpendu Ghosh Oct 19 '17 at 9:37
• What is my main aim? Given any singular matrix A, st groupInverse(A) is non negative.I need to find a matrix U (called Proper splitting of A) st. 1. Range(A) = Range(U) and 2. NullSpace(A)=NullSpace(U). Here 1. and 2. give linear relations between the elements of U, solving it I get some independent variables which here, in this code is vars2. Hence if I know numerical values of vars2, I get a U which is a proper splitting of A. Now out of these 32 conditions - top 16 are : groupInverse(U) is non negative (n^2 elements) and bottom 16 are : groupInverse(U).(U-A) is non negative (n^2 elements). – Pushpendu Ghosh Oct 19 '17 at 9:46