解决A*X = X*B的两种可疑方法,第1部分
最近,我收到了一位意大利学生的电子邮件。
我正在做一个手眼校准的项目。我找到了A,从相机到世界的转换,和B,从抓手到基地的转换。我想找出从夹持器到相机的转换。这是方程AX = XB的解。你能给我一些解这个方程的建议吗?
后来,我的记者自己找到了解决办法;他的矩阵只有4乘4,有一个解析解使用四元数。
但这个问题一直困扰着我。你如何解决A* x = x * b?这个方程是不适定的。在第2部分中,我将介绍两种求解方法。这两种方法都有严重的缺陷。首先,一些背景知识。
内容
非齐次Sylvester方程
标准的,非齐次的,西尔维斯特方程三个非零矩阵,一个,B,C.
A* x + x * b = c
这个方程是控制理论和函数的基础西尔维斯特(A, B, C)已经成为MATLAB的一部分很多年了。的帮助条目西尔维斯特没有提到任何条件,除了兼容的尺寸,在一个,B,C.在文档的末尾西尔维斯特就是这句话:
当a和-B的特征值不同时方程有唯一解。
如果我们故意违反这个条件B是——“,我们发现计算出的解爆炸了。让我们看看这个矩阵
A =画廊(3)
一个=
-149 -50 -154 537 180 546 -27 -9 -25
它不是很明显,但是这个矩阵的构造使得它的特征值是1 2和3。
e = eig(A)
e =
1.0000 2.0000 3.0000
现在来解希尔维斯特方程,故意违反这个条件一个而且- b没有任何相同的特征值。
X = sylvester(A,-A',眼睛(3))
解是无穷大的,但舍入给了我们1 /每股收益.
X =
1.0 e + 15 *
-0.8519 1.1016 0.4883 1.1016 -1.4822 -0.6330 0.4883 -0.6330 -0.2726
我将利用这种行为的方法之一。
齐次Sylvester方程
如果我取C等于0,然后翻转符号B,则西尔维斯特方程为
(1) a * x = x * b
这是我们的均匀西尔维斯特方程,我已经标记好了(1).事实证明(1)有非零解的当且仅当一个而且B至少有一个共同的特征值。没有任何要求排名解决方案X,但很明显,这个秩不能超过特征值的数量一个而且B有共同之处。
方程(1)是一个线性方程。如果X而且Y是解决方金宝搏官方网站案吗*X + *Y对于任何标量α而且β.
为了有兼容的尺寸,一个而且B必须是方形的,但大小不必相同。如果一个是m×m而且B是n×n,然后X是m×n的.
硅藻土的法律
我的科学计算基本法则是:
- 世界上最难计算的东西是不存在的东西。
- 第二难的是那些不是唯一的东西。
没有唯一解的问题是金宝搏官方网站不适定的.即使存在解,它们对扰金宝搏官方网站动也极其敏感。
方程(1)是姿势不当的典型代表。没有限制一个而且B时,唯一解为零。另一方面,如果一个而且B共享至少一个特征值,至少有一个解,但它不是唯一的,因为它可以重新规格化。线性无关解的数目取决于难以捉摸的代数和几何的多重性。金宝搏官方网站
B = 0
让我们来看看一些特殊版本的(1).如果我们要编写一些通用软件,它将不得不处理所有这些情况。
如果B是零,(1)就变成了A* x = 0的零空间中的任意向量一个是一个解。求一个矩阵的零空间的最好方法是使用它的SVD。
B是对角线
如果B标量元素是对角线吗d,然后(1)就变成了A*x = d*x.有以下解决方案金宝搏官方网站d是特征值,但它们不是唯一的。
B = a '
任何矩阵和它的转置有相同的特征值,所以方程变成
(2) a * x = x * a '
这是齐次Sylvester方程最常见的形式。如果解是满秩的,那么X\ a *X = a '我们问什么时候是一个矩阵类似的对它的转置。
如果一个有一个完整的线性无关的特征向量集合,那么呢一个“.如果U \ A *= d =V \“* VD是对角线X = v / u是一个解决方案(2).
如果A = j是任意特征值的乔丹块,令X = fliplr(眼(n)).然后X是一个解决方案(2).
一个是对称的
如果A = A',(2)有很多解,包括单位金宝搏官方网站矩阵,还有其他多项式吗一个,甚至功能像exp (t *).
第二部分预览
这就足够了。在第二部分中,我将研究两种方法,一种使用Kronecker积,另一种使用逆迭代。下载188bet金宝搏这里是克罗内克产品的预览。下载188bet金宝搏
进一步的阅读
尼克·海厄姆写的一篇关于西尔维斯特方程灵敏度的文章。链接.
Olga Taussky和Hans Zassenhuas的一篇论文是关于X\ a *X = a '是对称的。链接.
一篇论文和Fortran软件由Alan Laub,我,和我们的三个学生A* x * b ' + c * x * d ' = e.链接,链接.
评论
如欲留言,请点击在这里登录您的MathWorks帐户或创建一个新帐户。