Я не думаю, что матрица должна иметь ранг> = n-1. Если для всех a и b задать значение 1, матрица будет
[1 1 ... 1]
[1 1 ... 1]
...
[1 1 ... 1]
, что равно [1 1 ... 1] * [1 1 ... 1] ᵀ. Следовательно, это матрица ранга 1. Она может быть разложена как произведение двух векторов.
Я думаю, вам нужно наложить больше ограничений на А, чтобы получить матрицу ранга n-1.