Итак, этот вектор остатка R имеет форму
[th1, ds1, sa1, th2, ds2, sa2, .... thn, dsn, san, ue1, ue2 ..... uen]
И матрица имеет структуру ниже (показана только часть)

здесь красный и зеленый — нули, красный раздел соответствует остаткам [th, ds, sa ....], а зеленый соответствует остаткам [ue].
увеличено для большей наглядности

< /p>
до этого момента все ясно.
Но теперь в дело вступает spsolve
Код: Выделить всё
dV = -sparse.linalg.spsolve(red_green_Matrix, R)
Код: Выделить всё
np.reshape(dV[0:4*Nsys],(4,Nsys),order='F')
[img]https:/ /i.sstatic.net/6HPs9lEB.png[/img]
Почему этот массив dV преобразуется в
[[th1, ds1, sa1, ue1],
[th2, ds2, sa2, ue2],
....
[thn, ds2, san, uen] ] автоматически?
Насколько я понимаю, красная и зеленая секции должны быть изменены по-разному и сложены позже, чтобы получить правильный результат, но изменение формы выше уже работает. Мой вопрос: как это происходит
Подробнее здесь: https://stackoverflow.com/questions/791 ... lg-spsolve