【其他数学】结式 resultant

news/2024/7/23 9:47:56 标签: 线性代数, 矩阵, 西尔韦斯特矩阵, 结式

结式 resultant

2023年11月30日
#analysis


文章目录

  • 结式 resultant
    • 介绍
    • Sylvester矩阵
    • 应用
        • 在消元中的应用
        • 传递函数的化简
    • 下链


介绍

结式用来计算曲线的交点、消元、找参数化曲线的隐含方程。
为了引出定义,思考如下问题:
f ( x ) = x 2 − 5 x + 6 g ( x ) = x 3 − x + 6 \begin{align*} f(x)=&x^2-5x+6 \\ \\ g(x)=&x^3-x+6 \end{align*} f(x)=g(x)=x25x+6x3x+6
这两个多项式在复平面上是否有相同的零点?我们该如何知道它们是否有相同的根?直接计算是不太可能的,因为没有具体的公式去计算高次方程的零点。所以需要其他的方法,比如将根看成是方程的因子。
f ( x ) g ( x ) x − α = f ( x ) x − α g ( x ) f(x) \frac{g(x)}{x- \alpha }= \frac{f(x)}{x- \alpha }g(x) f(x)xαg(x)=xαf(x)g(x)
多项式 f , g {f,g} f,g 有相同的零点,当且仅当存在不等于 0 {0} 0 的多项式 r , s {r,s} r,s ,使得
f ( x ) r ( x ) = s ( x ) g ( x ) f(x)r(x)=s(x)g(x) f(x)r(x)=s(x)g(x)
deg ⁡ r < deg ⁡ g    ,    deg ⁡ s < deg ⁡ f \deg r<\deg g \,\,,\,\, \deg s< \deg f degr<degg,degs<degf
仍以上面两个多项式为例, r {r} r 的次数最大为 2 {2} 2 ,设
r ( x ) f ( x ) = ( a 2 x 2 + a 1 x + a 0 ) ( 1 x 2 − 5 x + 6 ) = a 2 ⋅ 1 x 4 + a 2 ⋅ ( − 5 ) x 3 + a 2 ⋅ 6 x 2 + a 1 ⋅ 1 x 3 + a 1 ⋅ ( − 5 ) x 2 + a 1 ⋅ 6 x + a 0 ⋅ 1 x 2 + a 0 ⋅ ( − 5 ) x + a 0 ⋅ 6 = [ a 2     a 1     a 0 ] [ 1 − 5 6 0 0 0 1 − 5 6 0 0 0 1 − 5 6 ] [ x 4 x 3 x 2 x 1 x 0 ] \begin{align*} r(x)f(x)=&(a_2x^2+a_1x+a_0)(1x^2-5x+6) \\ \\ =&a_2 \cdot 1x^4+a_2 \cdot (-5)x^3+a_2 \cdot 6x^2 \\ \\ &+a_1 \cdot 1x^3+a_1 \cdot (-5)x^2+a_1 \cdot 6x \\ \\ &+a_0 \cdot 1x^2+a_0 \cdot (-5)x+a_0 \cdot 6 \\ \\ =&[a_2 \,\,\, a_1 \,\,\, a_0] \begin{bmatrix} 1&-5&6&0&0\\0&1&-5&6&0\\0&0&1&-5&6 \end{bmatrix} \begin{bmatrix} x^4\\x^3\\x^2\\x^1\\x^0 \end{bmatrix} \end{align*} r(x)f(x)===(a2x2+a1x+a0)(1x25x+6)a21x4+a2(5)x3+a26x2+a11x3+a1(5)x2+a16x+a01x2+a0(5)x+a06[a2a1a0] 100510651065006 x4x3x2x1x0
同理, s {s} s 的最大次数为 1 {1} 1 ,设
s ( x ) g ( x ) = ( b 1 x + b 0 ) ( 1 x 2 − 1 x + 6 ) = b 1 ⋅ 1 x 4 + 0 x 3 + b 1 ⋅ ( − 1 ) x 2 + b 1 ⋅ 6 x + b 0 ⋅ 1 x 3 + 0 x 2 + b 0 ⋅ ( − 1 ) x + b 0 ⋅ 6 = [ b 1     b 0 ] [ 1 0 − 1 6 0 0 1 0 − 1 6 ] [ x 4 x 3 x 2 x 1 x 0 ] \begin{align*} s(x)g(x)=&(b_1x+b_0)(1x^2-1x+6) \\ \\ =&b_1 \cdot 1x^4+ 0x^3+ b_1 \cdot (-1)x^2+b_1 \cdot 6x \\ \\ &+b_0 \cdot 1x^3+0x^2+ b_0 \cdot (-1)x + b_0 \cdot 6 \\ \\ =&[b_1 \,\,\, b_0] \begin{bmatrix} 1&0&-1&6&0\\0&1&0&-1&6 \end{bmatrix} \begin{bmatrix} x^4\\x^3\\x^2\\x^1\\x^0 \end{bmatrix} \end{align*} s(x)g(x)===(b1x+b0)(1x21x+6)b11x4+0x3+b1(1)x2+b16x+b01x3+0x2+b0(1)x+b06[b1b0][1001106106] x4x3x2x1x0
写到一起,有
[ a 2     a 1     a 0 ∣     − b 1     − b 0 ] [ 1 − 5 6 0 0 0 1 − 5 6 0 0 0 1 − 5 6 1 0 − 1 6 0 0 1 0 − 1 6 ] [a_2 \,\,\, a_1 \,\,\, a_0 | \,\,\, -b_1 \,\,\, -b_0] \begin{bmatrix} 1&-5&6&0&0\\0&1&-5&6&0\\0&0&1&-5&6\\1&0&-1&6&0\\0&1&0&-1&6 \end{bmatrix} [a2a1a0b1b0] 1001051001651100656100606
实际上, r , s {r,s} r,s 就是 f , g {f,g} f,g 消去了相同零点因式后的多项式, a i , b i {a_i,b_i} ai,bi 就是消去了相同零点因式后的多项式的系数。

Sylvester矩阵

f ( x ) = α m x m + α m − 1 x m − 1 + ⋯ + α 0 g ( x ) = β n x n + β n − 1 x n − 1 + ⋯ + β 0 \begin{align*} f(x)=& \alpha_mx^m+ \alpha_{m-1}x^{m-1}+ \cdots + \alpha_0 \\ \\ g(x)=& \beta_nx^n+ \beta_{n-1}x^{n-1}+ \cdots + \beta_0 \end{align*} f(x)=g(x)=αmxm+αm1xm1++α0βnxn+βn1xn1++β0
西尔韦斯特矩阵为:
S ( f , g , x ) = [ α m α m − 1 ⋯ α 0 α m α m − 1 ⋯ α 0 ⋯ − − − − − − β n β n − 1 ⋯ β 0 β n β n − 1 ⋯ β 0 ⋯ ] ( m + n ) × ( m + n ) S(f,g,x)= \begin{bmatrix} \alpha_m & \alpha_{m-1} &\cdots &\alpha_0&&\\ & \alpha_m& \alpha_{m-1}& \cdots & \alpha_0&\\ && \cdots \\ -&-&-&-&-&-\\ \beta_n& \beta_{n-1}& \cdots & \beta_0&&\\ & \beta_n& \beta_{n-1}& \cdots & \beta_0&&\\ && \cdots \end{bmatrix}_{(m+n) \times (m+n)} S(f,g,x)= αmβnαm1αmβn1βnαm1βn1α0β0α0β0 (m+n)×(m+n)
西尔韦斯特结式定义为西尔韦斯特矩阵的行列式,记作:
Res ( f , g , x ) : = det ⁡ ( S ( f , g , x ) ) \text{Res}(f,g,x):=\det(S(f,g,x)) Res(f,g,x):=det(S(f,g,x))
f , g {f,g} f,g 有相同的零点,等价于
Res ( f , g , x ) = 0 \text{Res}(f,g,x)=0 Res(f,g,x)=0

应用

在消元中的应用

设有参数方程 C {C} C
x = t 2 y = t 2 ( t + 1 ) \begin{align*} x=&t^2 \\ \\ y=& t^2(t+1) \end{align*} x=y=t2t2(t+1)
( x 0 , y 0 ) ∈ C    ⟺    ∃ t 0     s . t .     { x 0 = t 0 2 y 0 = t 0 2 ( t 0 + 1 ) (x_0,y_0)\in C \iff \exists t_0 \,\,\, s.t. \,\,\, \begin{cases} x_0=t_0^2\\ y_0=t_0^2(t_0+1) \end{cases} (x0,y0)Ct0s.t.{x0=t02y0=t02(t0+1)
方程组存在相同零点
   ⟺    Res ( t 2 − x 0 , t 3 + t 2 − y 0 , t ) = 0 \iff \text{Res}(t^2-x_0,t^3+t^2-y_0,t)=0 Res(t2x0,t3+t2y0,t)=0
f ( t ) = t 2 + 0 t − x g ( t ) = t 3 + t 2 + 0 t − y \begin{align*} f(t)=&t^2+0t-x \\ \\ g(t)=&t^3+t^2+0t-y \end{align*} f(t)=g(t)=t2+0txt3+t2+0ty
Res ( f , g , t ) = det ⁡ ( [ 1 0 − x 1 0 − x 1 0 − x 1 1 0 − y 1 1 0 − y ] ) = − x 3 + y 2 − 2 x y + x 2 \begin{align*} \text{Res}(f,g,t)=& \det( \begin{bmatrix} 1&0&-x \\ &1&0&-x \\ &&1&0&-x\\ 1&1&0&-y\\ &1&1&0&-y \end{bmatrix}) \\ \\ =&-x^3+y^2-2xy+x^2 \end{align*} Res(f,g,t)==det( 110111x0101x0y0xy )x3+y22xy+x2

传递函数的化简

设传递函数分子为 N ( s ) {N(s)} N(s) ,分母为 D ( s ) {D(s)} D(s) ,化简后的传递函数分子为 N ‾ ( s ) {\overline{ N}(s)} N(s) ,分母为 D ‾ ( s ) { \overline{D} (s)} D(s)
N ( s ) = α m s m + α m − 1 s m − 1 + ⋯ + α 0 D ( s ) = β n s n + β n − 1 s n − 1 + ⋯ + β 0 \begin{align*} N(s)=& \alpha_ms^m+ \alpha_{m-1}s^{m-1}+ \cdots + \alpha_0 \\ \\ D(s)=& \beta_ns^n+ \beta_{n-1}s^{n-1}+ \cdots + \beta_0 \end{align*} N(s)=D(s)=αmsm+αm1sm1++α0βnsn+βn1sn1++β0
N ‾ ( s ) = a k s k + a k − 1 s k − 1 + ⋯ + a 0 D ‾ ( s ) = b l s l + b l − 1 s l − 1 + ⋯ + b 0 \begin{align*} \overline{N} (s)=& a_ks^k+ a_{k-1}s^{k-1}+ \cdots +a_0 \\ \\ \overline{D}(s)=& b_ls^l+ b_{l-1}s^{l-1}+ \cdots + b_0 \end{align*} N(s)=D(s)=aksk+ak1sk1++a0blsl+bl1sl1++b0
由前面的分析,可知
[ a k ⋯ a 0 ∣ b l ⋯ b 0 ] S ( N , D , s ) = 0 [a_k \cdots a_0|b_l \cdots b_0]S(N,D,s)=0 [aka0blb0]S(N,D,s)=0
∴ S ( N , D , s ) T [ a k ⋮ a 0 b l ⋮ b 0 ] = 0 \therefore S(N,D,s)^ \mathrm T \begin{bmatrix} a_k \\ \vdots \\ a_0 \\ b_l \\ \vdots \\b_0 \end{bmatrix}=0 S(N,D,s)T aka0blb0 =0
所以求西尔韦斯特矩阵转置矩阵的零空间就能得到简化传递函数的系数。


下链



http://www.niftyadmin.cn/n/5253079.html

相关文章

CPU设计——Triumphcore——MP_work版本

该版本用作系统寄存器的实现&#xff0c;M/S/U状态的实现与切换&#xff0c;以及load/store的虚实地址转换 设计指标 2023.12.8 2023.12.9 不实现mideleg和medeleg&#xff0c;因此一旦出现异常&#xff0c;直接切换至M态&#xff0c; 调试记录 到存储区中取PTE要额外至少…

EtherCAT主站SOEM -- 9 -- SOEM之基于QT搭建自己的EtherCAT主站

EtherCAT主站SOEM -- 9 -- SOEM之基于QT搭建自己的EtherCAT主站 0 QT-SOEM视频预览:一 准备Ubuntu系统和QT软件及SOEM:二 Soem搭建大概步骤:三 获取网口信息函数实现:3.1 实现流程:3.2 函数实现过程:3.2 ## 4.1 实现流程::四 在Qt中编写SOEM-EtherCAT主站程序4.1 实现流…

SpringBootAdmin设置邮件通知

如果你想要在Spring Boot Admin中配置邮件通知&#xff0c;可以按照以下步骤进行操作&#xff1a; 添加邮件通知的依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-mail</artifactId> </dep…

[算法每日一练]-双指针 (保姆级教程篇 1) #A-B数对 #求和 #元音字母 #最短连续子数组 #无重复字符的最长子串 #最小子串覆盖 #方块桶

目录 A-B数对 解法一&#xff1a;双指针 解法二&#xff1a;STL二分查找 解法三&#xff1a;map 求和 元音字母 最短连续子数组 无重复字符的最长子串 最小子串覆盖 方块桶 双指针特点&#xff1a;双指针绝不回头 A-B数对 解法一&#xff1a;双指针 先把数列排列成…

【已解决】解决UbuntuKali无法进行SSH远程连接

目录 Ubuntu20.04配置SSH远程连接Kali Linux配置SSH远程连接 Ubuntu20.04配置SSH远程连接 首先更新安装包 sudo apt-get update 下载SSH服务 sudo apt install openssh-server 查看SSH服务 service ssh status 打开 /etc/ssh/sshd_config文件修改配置文件 将PermitRootLog…

forceUpdate

forceUpdate 方法的原理是&#xff0c;它会导致组件的 $forceUpdate 函数被调用。当 $forceUpdate 被调用时&#xff0c;Vue 会重新运行该组件的 render 函数&#xff0c;并强制更新组件的虚拟 DOM。这样就会导致组件的子组件也重新渲染&#xff0c;从而达到强制更新的效果。 在…

为什么不建议所有类型都用ref

很多人在vue3的代码开发过程&#xff0c;习惯于直接把所有类型的响应式数据都用ref包裹创建。 1. ref: 适用类型: ref 主要适用于处理基本类型数据&#xff0c;如数字、字符串等。 内部实现: ref 创建一个包装过的响应式数据&#xff0c;通过 .value 属性访问和修改其值。这是…

C++模板的局限性,提供特殊的类型具体化模板

为了解决自定义数据无法调用常规模板&#xff0c;提供模板的重载&#xff08;具体化模板&#xff09;&#xff0c;可以位这些特定的类型提供具体化的模板 总结&#xff1a; 利用具体化的模板&#xff0c;可以解决自定义类型的通用化学习模板并不是为了写模板&#xff0c;而是…