非线性求解器无法处理 NaN 值

Nonlinear solvers cant deal with NaN values

我有一个使用线性和非线性求解器(输入参数大小固定)运行得很好的问题。然后我修改了它,使输入参数的大小也可以是一个变量。我通过定义向量可以采用的最大大小并将所有未使用的条目设置为 float('nan') 来做到这一点。这在线性求解器中仍然运行良好,并产生与固定输入大小的情况相同的结果。但是,所有非线性求解器都会将此输入参数的值重置为 1。然后求解器收敛到由这些初始值设置的平凡情况。 我认为这可能是一个错误,因为线性求解器可以很好地解决我的新问题。 有任何想法吗?谢谢。

您是否尝试过使用零而不是 NaN?我不确定通过一般非线性求解器传播 NaN 的安全性如何。