求解具有多个变量的多项式方程组

计算科学 优化 约束优化
2021-12-01 06:00:26

我有一个方程组的形式: 其中是一个未知的旋转矩阵。 是已知向量。

liTljmiTmjmiTRljliRTmj=0
RR3×3li,lj,mi,mjR3

方程也可以改写为: 其中 是以向量形式写成的旋转矩阵,是已知的对称矩阵rTQr=0rR9QR9×9

我的目标是尽可能以一般形式找到,否则以数字形式找到。R

由于是一个旋转,只需要找到 3 个变量,因此前一种形式的 3 个方程就足够了。您认为任何软件(Mathematica、Maple、Sage、Sympy ......)都可以以一般形式解决这个系统吗?R

我已经尝试过使用 Sympy 和 Sage,这给了我记忆错误。那么,如果找不到通解,您认为找到该系统数值解的最佳优化技术是什么?

2个回答

任何旋转矩阵都可以分解为围绕轴旋转某个角度、围绕轴旋转某个角度以及围绕轴旋转某个角度的乘积。这些主旋转矩阵是其旋转角度的三角函数,因此我不确定如何将这些角度作为输入向量的函数象征性地获得。xαyβzγ

不过,理论上,您可以在非线性方程求解器中使用该分解来找到假设您的方程组是适定的,牛顿法(或其变体)可能会很好地工作。α,β,γ[0,2π)

您也可以选择使用旋转矩阵的轴角表示。然后,不是求解主旋转角,而是必须求解角度和轴使得将约束添加到您的方程组并求解α,β,γθ[0,2π)uux2+uy2+uz2=1uθ; 即使您要求解四个变量,单位范数约束的存在也意味着您实际上拥有三个自由度。这种表示还涉及三角函数,所以我不知道你将如何象征性地获得这些角度,但在数字上,它可能会工作得很好,再次假设你的方程组是适定的。

考虑形式中的方程xtAx=0, 和A对称的。自从 A是对称的,我们可以写A=VDVt, 在哪里V是正交的,并且 D是其特征值的实对角矩阵λi. 随着变量的变化y=Vtx, 我们有方程

iλiyi2=0.

这给出了解决方案的完整特征。按照 zi=yi2, (以便yi=±zix=Vy) 原问题的所有解与

iλizi=0,subject to zi0.
所有解决方案的集合z是凸的;至少有一个时它是非空的λi为零或至少有两个非零λi 有不同的迹象。您还可以通过将索引分为具有正数、负数和零的索引来参数化解决方案集 λi,这使得处理约束变得容易。

通常,您将无法找到特征值的封闭形式表达式λi就原始矩阵而言A, 但这可以很容易地使用标准软件对任何给定的矩阵进行数值计算。