主要内容

smithform.

史密斯的矩阵形式

描述

例子

S.= smithform(一种返回史密斯正常形式方形可逆矩阵一种。元素一种必须在变量中为整数或多项式Symvar(A,1)。史密斯的形式S.是一个对角线矩阵。

例子

[V.S.] = smithform(一种返回史密斯正常形式的一种和单模转化矩阵V.,这样s = u * a * v

例子

___= smithform(一种var.假设元素一种在指定变量中是单变量多项式var.。如果一种包含其他变量,smithform.将这些变量视为符号参数。

您可以使用输入参数var.在任何先前的语法中。

如果一种不含var., 然后smithform(a)smithform(a,var)退回不同的结果。

例子

史密斯的整数矩阵形式

找到史密斯形式的反向希尔伯特矩阵。

a = sym(invhilb(5))s = smithform(a)
A = [25,-300,1050,-1400,630] [-300,4800] [1050,-18900,79380,-117600,56700] [-1400,26880,-117600,179200,-88200] [630,-12600,56700,-88200,44100] s = [5,0,0,0,0] [0,60,0,0,0] [0,0,420,0,0] [0,0,0,840,0] [0,0,0,0,2520]

单变量多项式矩阵的史密斯形式

创建一个2×2矩阵,其中的元素是变量中的多项式X

syms x a = [x ^ 2 + 3,(2 * x-1)^ 2;(x + 2)^ 2,3 * x ^ 2 + 5]
a = [x ^ 2 + 3,(2 * x-1)^ 2] [(x + 2)^ 2,3 * x ^ 2 + 5]

找到这个矩阵的史密斯形式。

s = smithform(a)
s = [1,0] [0,x ^ 4 + 12 * x ^ 3  -  13 * x ^ 2  -  12 * x  -  11]

多变量多项式矩阵的史密斯形式

创建包含两个变量的2×2矩阵:Xy

Syms x y a = [2 / x + y,x ^ 2  -  y ^ 2;3 * sin(x)+ y,x]
a = [y + 2 / x,x ^ 2  -  y ^ 2] [y + 3 * sin(x),x]

找到这个矩阵的史密斯形式。如果您未指定多项式变量,smithform.用途Symvar(A,1)因此决定了多项式变量是X。因为3 * sin(x)+ y不是多项式Xsmithform.抛出错误。

s = smithform(a)
使用mupadengine / feval(第163行)错误无法将矩阵条目转换为整数或单变量多项式。

找到史密斯的形式一种指定所有元素一种是变量中的多项式y

s = smithform(a,y)
s = [1,0] [0,3 * y ^ 2 * sin(x) -  3 * x ^ 2 * sin(x)+ y ^ 3 + y *( -  x ^ 2 + x)+ 2]

史密斯形式和转化矩阵

查找史密斯形式和变换矩阵,用于逆希尔伯特矩阵。

a = sym(invhilb(3));[u,v,s] = smithform(a)
U = [1,1,1] [-4,-1,0] [10,5,3] V = [1,-2,0] [0,1,5] [0,1,4] s= [3,0,0] [0,12,0] [0,0,60]

验证s = u * a * v

Isalways(S == U * A * V)
ANS = 3×3逻辑阵列1 1 1 1 1 1 1 1 1

找到多项式矩阵的史密斯形式和转换矩阵。

syms x y a = [2 *(x  -  y),3 *(x ^ 2  -  y ^ 2);4 *(x ^ 3  -  y ^ 3),5 *(x ^ 4  -  y ^ 4)];[u,v,s] = smithform(a,x)
U = [0,1] [1, -  x /(10 * y ^ 3) -  3 /(5 * y ^ 2)] v = [-x /(4 * y ^ 3), - (5 * x* y ^ 2)/ 2  - (5 * x ^ 2 * y)/ 2  - (5 * x ^ 3)/ 2  - (5 * y ^ 3)/ 2] [1 /(5 * y ^ 3)那2*x^2 + 2*x*y + 2*y^2] S = [ x - y, 0] [ 0, x^4 + 6*x^3*y - 6*x*y^3 - y^4]

验证s = u * a * v

Isalways(S == U * A * V)
ANS = 2×2逻辑阵列1 1 1 1 1

如果为整数矩阵指定变量

如果矩阵不包含特定变量,并且您调用smithform.将该变量指定为第二个参数,那么结果会与您获得的内容不同,而无需指定该变量。例如,创建不包含任何变量的矩阵。

a = [9 -36 30;-36 192 -180;30 -180 180]
a = 9 -36 30 -36 192 -180 30 -180 180

称呼smithform.指定变量X作为第二个论点。在这种情况下,smithform.假设元素一种是单变量的多项式X

syms x smithform(a,x)
ANS = 1 0 0 0 1 0 0 0 1

称呼smithform.没有指定变量。在这种情况下,smithform.对待一种作为整数的矩阵。

smithform(a)
ANS = 3 0 0 0 12 0 0 0 60

输入参数

全部收缩

输入矩阵,指定为正方形可逆符号矩阵,其元素是整数或单变量多项式。如果是元素一种包含多个变量,使用var.参数指定多项式变量,并将所有其他变量视为符号参数。如果一种是多变量的,你没有指定var., 然后smithform.用途Symvar(A,1)确定多项式变量。

多项式变量,指定为符号变量。

输出参数

全部收缩

史密斯正常形式的输入矩阵,作为符号对角线矩阵返回。第一对角线元件划分第二,第二个划分第三,等等。

转换矩阵,作为单模符号矩阵返回。如果是元素一种是整数,然后是元素也是整数,还有整数det(u)= 1或者DET(U)= -1。如果是元素一种是多项式,然后是元素是单变量多项式,和DET(U)是一个常数。

转换矩阵,作为单模符号矩阵返回。如果是元素一种是整数,然后是元素V.也是整数,还有整数det(v)= 1或者DET(v)= -1。如果是元素一种是多项式,然后是元素V.是单变量多项式,和DET(v)是一个常数。

更多关于

全部收缩

史密斯正常形式

史密斯正常形式的一个N-经过-N矩阵一种是一个N-经过-N对角线矩阵S.,这样 S. 一世 一世 划分 S. 一世 + 1 一世 + 1 对所有人一世<N

也可以看看

|

在R2015B中介绍