Cramer`s Rule 克莱姆法则(克拉默法则)

1.什么是Cramer`s Rule

下面引用百度百科和维基百科的介绍

百度百科:
克莱姆法则,又译克拉默法则(Cramer’s Rule)是线性代数中一个关于求解线性方程组的定理。它适用于变量和方程数目相等的线性方程组,是瑞士数学家克莱姆(1704-1752)于1750年,在他的《线性代数分析导言》中发表的。其实莱布尼兹〔1693〕,以及马克劳林〔1748〕亦知道这个法则,但他们的记法不如克莱姆。
对于多于两个或三个方程的系统,克莱姆的规则在计算上非常低效;与具有多项式时间复杂度的消除方法相比,其渐近的复杂度为O(n·n!)。即使对于2×2系统,克拉默的规则在数值上也是不稳定的

维基百科:
克莱姆法则(英语:Cramer’s rule),又称为克莱姆公式,是一个线性代数中的定理,用行列式来计算出线性等式组中的所有解。这个定理因加百列·克莱姆(1704年 - 1752年)的卓越使用而命名。在计算上,并非最有效率之法,因而在很多条等式的情况中没有广泛应用。不过,这一定理在理论性方面十分有效

上面的介绍,说了几个重点:

  1. 是线性代数中的一个定理,关于求解线性方程组的,用行列式来计算出线性等式组中的所有解,适用于变量和方程数目相等的线性方程组。
  2. 在计算上,并非最有效率之法;相较于消除法(高斯消元法),具有更高的复杂度。
  3. 但是这一定理在理论性方面十分有效 。

这是对克莱姆法则的总体评价。

2.Cramer`s Rule的具体内容

n元非齐次线性方程组中:
{ a 11 x 1 + a 12 x 2 + ⋯ + a 1 n x n = b 1 a 21 x 1 + a 22 x 2 + ⋯ + a 2 n x n = b 2 ⋮      ⋯      ⋮        ⋯      ⋮    ⋯    ⋮      ⋯        ⋮ a n 1 x 1 + a n 2 x 2 + ⋯ + a n n x n = b n \left\{\begin{matrix} a_{11}x_{1}+a_{12}x_{2}+\cdots +a_{1n}x_{n}=b_{1} & & & & \\ a_{21}x_{1}+a_{22}x_{2}+\cdots +a_{2n}x_{n}=b_{2} & & & & \\ \vdots \;\;\cdots\;\;\vdots\;\;\;\cdots\;\;\vdots\;\cdots\;\vdots\;\;\cdots\;\;\;\vdots & & & & \\ a_{n1}x_{1}+a_{n2}x_{2}+\cdots +a_{nn}x_{n}=b_{n} & & & & \\ \end{matrix}\right. a11x1+a12x2++a1nxn=b1a21x1+a22x2++a2nxn=b2an1x1+an2x2++annxn=bn
系数构成的行列式称为该方程组的系数行列式D,即
D = ∣ a 11      a 12      ⋯      a 1 n a 21      a 22      ⋯      a 2 n ⋮          ⋮          ⋱          ⋮ a n 1      a n 2      ⋯      a n n ∣ D=\begin{vmatrix} a_{11}\; \;a_{12}\; \; \cdots\; \;a_{1n} \\a_{21}\; \;a_{22}\; \; \cdots\; \;a_{2n} \\\vdots\;\;\;\;\vdots\;\;\;\;\ddots\;\;\;\;\vdots \\a_{n1}\; \;a_{n2}\; \; \cdots\; \;a_{nn} \end{vmatrix} D=a11a12a1na21a22a2nan1an2ann
若线性方程组的系数矩阵可逆(非奇异),即系数行列式 D≠0,则线性方程组有唯一解,其解为
x j = D j D      ( j = 1 , 2 , ⋯   , n ) x_{j}=\frac{D_{j}}{D\;\;} (j=1,2,\cdots,n) xj=DDj(j=1,2,,n)
其中 D j D{j} Dj是把D中第j列元素对应地换成常数项而其余各列保持不变所得到的行列式。如:
D 1 = ∣ b 1      a 12      ⋯      a 1 n b 2      a 22      ⋯      a 2 n ⋮          ⋮          ⋱          ⋮ b n      a n 2      ⋯      a n n ∣ , D 2 = ∣ a 11      b 1      ⋯      a 1 n a 21      b 2      ⋯      a 2 n ⋮          ⋮          ⋱          ⋮ a n 1      b n      ⋯      a n n ∣ , ⋯ D_{1}=\begin{vmatrix} b_{1}\; \;a_{12}\; \; \cdots\; \;a_{1n} \\b_{2}\; \;a_{22}\; \; \cdots\; \;a_{2n} \\\vdots\;\;\;\;\vdots\;\;\;\;\ddots\;\;\;\;\vdots \\b_{n}\; \;a_{n2}\; \; \cdots\; \;a_{nn} \end{vmatrix} , D_{2}=\begin{vmatrix} a_{11}\; \;b_{1}\; \; \cdots\; \;a_{1n} \\a_{21}\; \;b_{2}\; \; \cdots\; \;a_{2n} \\\vdots\;\;\;\;\vdots\;\;\;\;\ddots\;\;\;\;\vdots \\a_{n1}\; \;b_{n}\; \; \cdots\; \;a_{nn} \end{vmatrix} ,\cdots D1=b1a12a1nb2a22a2nbnan2ann,D2=a11b1a1na21b2a2nan1bnann,

以上就是克莱姆法则的内容,使用时有如下前提:

  1. n元非齐次线性方程组
    • n元:未知数x的个数为n, 方程的个数为n
    • 非齐次: b 1 , b 2 , ⋯   , b n b_{1},b_{2},\cdots,b_{n} b1,b2,,bn不全为0
    • 线性:x的最高次幂为1,即多元一次
  2. 系数行列式 D ≠ 0 D≠0 D=0,保证方程解的唯一性

方程的个数和未知数个数不相等的话,系数无法构成行列式 D D D

方程组的等式右边的b值全部为0,则行列式 D i ( i = 1 , 2 , . . . , n ) D_{i}(i=1,2,...,n) Di(i=1,2,...,n)都为0

D = 0 D=0 D=0,则 x j = D j D      x_{j}=\frac{D_{j}}{D\;\;} xj=DDj没有意义

可见,克莱姆法则在使用上有很多的限制。

3.Cramer`s Rule的计算效率

n元非齐次方程组,需要计算的行列式有:

  • 系数行列式 D D D
  • 行列式 D i ( i = 1 , 2 , . . . , n ) D_{i}(i=1,2,...,n) Di(i=1,2,...,n)

即n+1个行列式,其渐近的复杂度为O(n·n!)

相较于高斯消元法,克莱姆法则是低效的,实际应用不广泛。

4.由伴随矩阵引出Cramer`s Rule

n元线性方程组可以表示为:
A x = b \mathbf{Ax} = \mathbf{b} Ax=b
A \mathbf{A} A为方程组的系数矩阵, b \mathbf{b} b为向量 ( b 1 , b 2 , ⋯   , b n ) T (b_{1},b_{2},\cdots,b_{n})^{T} (b1,b2,,bn)T,若 D ≠ 0 D≠0 D=0,则 A \mathbf{A} A可逆,由矩阵性质可得,
A − 1 A x = A − 1 b      ⇒      x = A − 1 b \mathbf{A^{-1}}\mathbf{Ax} = \mathbf{A^{-1}}\mathbf{b}\;\;\Rightarrow\;\;\mathbf{x} = \mathbf{A^{-1}}\mathbf{b} A1Ax=A1bx=A1b

则接下来的关键,就是要求出 A − 1 \mathbf{A}^{-1} A1,有两种方法:

  1. 初等变换法

  2. 伴随矩阵法

初等变换法,借助消除法(高斯消元法),简单高效

伴随矩阵法,计算起来比较复杂,但是可以借此引出克莱姆法则。

A \mathbf{A} A为n阶矩阵, ∣ A ∣ |\mathbf{A}| A为矩阵A的行列式, A ∗ \mathbf{A}^{*} A为矩阵的伴随矩阵
A = [ a 11      a 12      ⋯      a 1 n a 21      a 22      ⋯      a 2 n ⋮          ⋮          ⋱          ⋮ a n 1      a n 2      ⋯      a n n ] ,        ∣ A ∣ = ∣ a 11      a 12      ⋯      a 1 n a 21      a 22      ⋯      a 2 n ⋮          ⋮          ⋱          ⋮ a n 1      a n 2      ⋯      a n n ∣ \mathbf{A}=\begin{bmatrix} a_{11}\; \;a_{12}\; \; \cdots\; \;a_{1n} \\a_{21}\; \;a_{22}\; \; \cdots\; \;a_{2n} \\\vdots\;\;\;\;\vdots\;\;\;\;\ddots\;\;\;\;\vdots \\a_{n1}\; \;a_{n2}\; \; \cdots\; \;a_{nn} \end{bmatrix},\;\;\; |\mathbf{A}|=\begin{vmatrix} a_{11}\; \;a_{12}\; \; \cdots\; \;a_{1n} \\a_{21}\; \;a_{22}\; \; \cdots\; \;a_{2n} \\\vdots\;\;\;\;\vdots\;\;\;\;\ddots\;\;\;\;\vdots \\a_{n1}\; \;a_{n2}\; \; \cdots\; \;a_{nn} \end{vmatrix} A=a11a12a1na21a22a2nan1an2ann,A=a11a12a1na21a22a2nan1an2ann
A ∗ = ∣ A 11      A 21      ⋯      A n 1 A 12      A 22      ⋯      A n 2 ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ A 1 n      A 2 n      ⋯      A n n ∣ \mathbf{A}^{*}=\begin{vmatrix} \mathbf{A}_{11}\;\;\mathbf{A}_{21}\;\;\cdots\;\;\mathbf{A}_{n1} \\\mathbf{A}_{12}\;\;\mathbf{A}_{22}\;\;\cdots\;\;\mathbf{A}_{n2} \\\cdots\cdots\cdots\cdots\cdots\cdots \\\mathbf{A}_{1n}\;\;\mathbf{A}_{2n}\;\;\cdots\;\;\mathbf{A}_{nn} \end{vmatrix} A=A11A21An1A12A22An2A1nA2nAnn
其中 A i j ( i , j ∈ 1 , 2 , . . . , n ) \mathbf{A}_{ij}(i,j\in1,2,...,n) Aij(i,j1,2,...,n) ∣ A ∣ |\mathbf{A}| A的代数余子式。

由行列式的拉普拉斯展开,可得
∣ A ∣ = a i 1 A i 1 + a i 2 A i 2 + ⋯ + a i n A i n |\mathbf{A}|=a_{i1}A_{i1}+a_{i2}A_{i2}+\cdots+a_{in}A_{in} A=ai1Ai1+ai2Ai2++ainAin

∣ A ∣ = a 1 j A 1 j + a 2 j A 2 j + ⋯ + a n j A n j |\mathbf{A}|=a_{1j}A_{1j}+a_{2j}A_{2j}+\cdots+a_{nj}A_{nj} A=a1jA1j+a2jA2j++anjAnj
i , j ∈ ( 1 , 2 , ⋯   , n ) i,j\in(1,2,\cdots,n) i,j(1,2,,n).

代数余子式在这里有一个特点,一行(或列)的子式与另一行(或列)的代数余子式的乘积之和为零。即:

a i 1 A j 1 + a i 2 A j 2 + ⋯ + a i n A j n = 0 , ( i ≠ j ) a_{i1}A_{j1}+a_{i2}A_{j2}+\cdots+a_{in}A_{jn}=0,(i \neq j) ai1Aj1+ai2Aj2++ainAjn=0i=j
a 1 i A 1 j + a 2 i A 2 j + ⋯ + a n i A n j = 0 , ( i ≠ j ) a_{1i}A_{1j}+a_{2i}A_{2j}+\cdots+a_{ni}A_{nj}=0,(i \neq j) a1iA1j+a2iA2j++aniAnj=0i=j

故而,可推出:
A A ∗ = A ∗ A = ∣ ∣ A ∣      0      ⋯      0           0      ∣ A ∣ ⋯      0      ⋯ ⋯ ⋯ ⋯      0          0 ⋯      ∣ A ∣ ∣ = ∣ A ∣   I \mathbf{A}\mathbf{A^{*}}=\mathbf{A^{*}}\mathbf{A}=\begin{vmatrix} \mathbf{|A|}\;\;0\;\;\cdots\;\;0\;\; \\\;\;0\;\;\mathbf{|A|}\cdots\;\;0\;\; \\\cdots\cdots\cdots\cdots \\\;\;0\;\;\;\;0\cdots\;\;\mathbf{|A|} \end{vmatrix}=\mathbf{|A|}\:\mathbf{I} AA=AA=A000A000A=AI
A ∗ \mathbf{A^{*}} A巧妙的地方就在这,被构造出来的按照特定的顺序排列的代数余子式矩阵,跟矩阵 A \mathbf{A} A相乘之后,居然能够得到一个标量乘以单位矩阵   I \,\mathbf{ I} I,等式两边除以标量 ∣ A ∣ \mathbf{|A|} A,得,
A    A ∗ ∣ A ∣ =    A ∗ ∣ A ∣ A = I      ⇒      A − 1 =    A ∗ ∣ A ∣ \mathbf{A}\frac{\mathbf{\;A^{*}}}{\mathbf{|A|}}=\frac{\mathbf{\;A^{*}}}{\mathbf{|A|}}\mathbf{A}=\mathbf{I}\;\;\Rightarrow \;\; \mathbf{A^{-1}}=\frac{\mathbf{\;A^{*}}}{\mathbf{|A|}} AAA=AAA=IA1=AA

从而,
x = A − 1   b =    A ∗ ∣ A ∣   b \mathbf{x} = \mathbf{A^{-1}}\:\mathbf{b}=\frac{\mathbf{\;A^{*}}}{\mathbf{|A|}}\:\mathbf{b} x=A1b=AAb

到了这一步,克莱姆法则的推导就要呼之欲出了
对于方程组来说,系数矩阵的行列式 ∣ A ∣ = D \mathbf{|A|}=D A=D,那    A ∗   b \mathbf{\;A^{*}}\:\mathbf{b} Ab D 1 , D 2 , ⋯   , D n D_{1},D_{2},\cdots,D_{n} D1,D2,Dn又有什么关系呢?
如下:

A ∗ = ∣ A 11      A 21      ⋯      A n 1 A 12      A 22      ⋯      A n 2 ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ A 1 n      A 2 n      ⋯      A n n ∣ , b = [ b 1 b 2 ⋮ b n ] ⇒ A ∗ b = [ b 1 A 11 + b 2 A 21 + ⋯ + b n A n 1 b 1 A 12 + b 2 A 22 + ⋯ + b n A n 2 ⋯ b 1 A 1 n + b 2 A 2 n + ⋯ + b n A n n ] \mathbf{A}^{*}=\begin{vmatrix} \mathbf{A}_{11}\;\;\mathbf{A}_{21}\;\;\cdots\;\;\mathbf{A}_{n1} \\\mathbf{A}_{12}\;\;\mathbf{A}_{22}\;\;\cdots\;\;\mathbf{A}_{n2} \\\cdots\cdots\cdots\cdots\cdots\cdots \\\mathbf{A}_{1n}\;\;\mathbf{A}_{2n}\;\;\cdots\;\;\mathbf{A}_{nn} \end{vmatrix}, \mathbf{b}=\begin{bmatrix} b_{1} \\b_{2} \\\vdots \\b_{n} \end{bmatrix} \Rightarrow \mathbf{A}^{*}\mathbf{b}=\begin{bmatrix} b_{1}\mathbf{A_{11}}+b_{2}\mathbf{A_{21}}+\cdots+b_{n}\mathbf{A_{n1}} \\b_{1}\mathbf{A_{12}}+b_{2}\mathbf{A_{22}}+\cdots+b_{n}\mathbf{A_{n2}} \\\cdots \\b_{1}\mathbf{A_{1n}}+b_{2}\mathbf{A_{2n}}+\cdots+b_{n}\mathbf{A_{nn}} \end{bmatrix} A=A11A21An1A12A22An2A1nA2nAnn,b=b1b2bnAb=b1A11+b2A21++bnAn1b1A12+b2A22++bnAn2b1A1n+b2A2n++bnAnn
而,
b 1 A 11 + b 2 A 21 + ⋯ + b n A n 1 = ∣ b 1      a 12      ⋯      a 1 n b 2      a 22      ⋯      a 2 n ⋮          ⋮          ⋱          ⋮ b n      a n 2      ⋯      a n n ∣ = D 1 b_{1}\mathbf{A_{11}}+b_{2}\mathbf{A_{21}}+\cdots+b_{n}\mathbf{A_{n1}}=\begin{vmatrix} b_{1}\; \;a_{12}\; \; \cdots\; \;a_{1n} \\b_{2}\; \;a_{22}\; \; \cdots\; \;a_{2n} \\\vdots\;\;\;\;\vdots\;\;\;\;\ddots\;\;\;\;\vdots \\b_{n}\; \;a_{n2}\; \; \cdots\; \;a_{nn} \end{vmatrix}=D_{1} b1A11+b2A21++bnAn1=b1a12a1nb2a22a2nbnan2ann=D1
故,
A ∗ b = [ D 1 D 2 ⋮ D n ] \mathbf{A}^{*}\mathbf{b}=\begin{bmatrix} D_{1} \\D_{2} \\\vdots \\D_{n} \end{bmatrix} Ab=D1D2Dn
代入 x =    A ∗ ∣ A ∣   b \mathbf{x} =\frac{\mathbf{\;A^{*}}}{\mathbf{|A|}}\:\mathbf{b} x=AAb中,得,

x = [ x 1 x 2 ⋮ x n ] = 1 D [ D 1 D 2 ⋮ D n ] =    A ∗ ∣ A ∣   b \mathbf{x} =\begin{bmatrix} x_{1} \\x_{2} \\\vdots \\x_{n} \end{bmatrix}=\frac{1}{D}\begin{bmatrix} D_{1} \\D_{2} \\\vdots \\D_{n} \end{bmatrix}=\frac{\mathbf{\;A^{*}}}{\mathbf{|A|}}\:\mathbf{b} x=x1x2xn=D1D1D2Dn=AAb

最后可得:
x 1 = D 1 D      , x 2 = D 2 D      , ⋯   , x n = D n D      x_{1}=\frac{D_{1}}{D\;\;} ,x_{2}=\frac{D_{2}}{D\;\;},\cdots,x_{n}=\frac{D_{n}}{D\;\;} x1=DD1,x2=DD2,,xn=DDn
由此,可得到克莱姆法则的表达式

由伴随矩阵得到了逆矩阵,也由伴随矩阵推导出了克莱姆法则

5.Cramer`s Rule的价值

  • 研究了方程组的系数与方程组解的存在性与唯一性关系。
  • 与其在计算方面的作用相比,克莱姆法则更具有重大的理论价值。
  • 克莱姆法则不仅仅适用于实数域,它在任何域上面都可以成立。

克莱姆法则在解决微分几何的问题时十分有用。

先考虑两条等式 F ( x , y , u , v ) = 0   F(x, y, u, v) = 0\, F(x,y,u,v)=0 G ( x , y , u , v ) = 0   G(x, y, u, v) = 0\, G(x,y,u,v)=0。其中的u和v是需要考虑的变量,并且它们互不相关。我们可定义 x = X ( u , v )   x = X(u, v)\, x=X(u,v) y = Y ( u , v )   y = Y(u, v)\, y=Y(u,v)

找出一条等式适合 ∂ x / ∂ u \partial x/\partial u x/u是克莱姆法则的简单应用。

首先,我们要计算 F F F G G G x x x y y y的导数:

d F = ∂ F ∂ x d x + ∂ F ∂ y d y + ∂ F ∂ u d u + ∂ F ∂ v d v = 0 dF = \frac{\partial F}{\partial x} dx + \frac{\partial F}{\partial y} dy +\frac{\partial F}{\partial u} du +\frac{\partial F}{\partial v} dv = 0 dF=xFdx+yFdy+uFdu+vFdv=0
d G = ∂ G ∂ x d x + ∂ G ∂ y d y + ∂ G ∂ u d u + ∂ G ∂ v d v = 0 dG = \frac{\partial G}{\partial x} dx + \frac{\partial G}{\partial y} dy +\frac{\partial G}{\partial u} du +\frac{\partial G}{\partial v} dv = 0 dG=xGdx+yGdy+uGdu+vGdv=0
d x = ∂ X ∂ u d u + ∂ X ∂ v d v dx = \frac{\partial X}{\partial u} du + \frac{\partial X}{\partial v} dv dx=uXdu+vXdv
d y = ∂ Y ∂ u d u + ∂ Y ∂ v d v dy = \frac{\partial Y}{\partial u} du + \frac{\partial Y}{\partial v} dv dy=uYdu+vYdv

d x dx dx d y dy dy代入 d F dF dF d G dG dG,可得出:

d F = ( ∂ F ∂ x ∂ x ∂ u + ∂ F ∂ y ∂ y ∂ u + ∂ F ∂ u ) d u + ( ∂ F ∂ x ∂ x ∂ v + ∂ F ∂ y ∂ y ∂ v + ∂ F ∂ v ) d v = 0 dF = \left(\frac{\partial F}{\partial x} \frac{\partial x}{\partial u} +\frac{\partial F}{\partial y} \frac{\partial y}{\partial u} +\frac{\partial F}{\partial u} \right) du + \left(\frac{\partial F}{\partial x} \frac{\partial x}{\partial v} +\frac{\partial F}{\partial y} \frac{\partial y}{\partial v} +\frac{\partial F}{\partial v} \right) dv = 0 dF=(xFux+yFuy+uF)du+(xFvx+yFvy+vF)dv=0

d G = ( ∂ G ∂ x ∂ x ∂ u + ∂ G ∂ y ∂ y ∂ u + ∂ G ∂ u ) d u + ( ∂ G ∂ x ∂ x ∂ v + ∂ G ∂ y ∂ y ∂ v + ∂ G ∂ v ) d v = 0 dG = \left(\frac{\partial G}{\partial x} \frac{\partial x}{\partial u} +\frac{\partial G}{\partial y} \frac{\partial y}{\partial u} +\frac{\partial G}{\partial u} \right) du + \left(\frac{\partial G}{\partial x} \frac{\partial x}{\partial v} +\frac{\partial G}{\partial y} \frac{\partial y}{\partial v} +\frac{\partial G}{\partial v} \right) dv = 0 dG=(xGux+yGuy+uG)du+(xGvx+yGvy+vG)dv=0
因为 u u u v v v互不相关,所以 d u du du d v dv dv的系数都要等于0。所以等式中的系数可以被写成:

∂ F ∂ x ∂ x ∂ u + ∂ F ∂ y ∂ y ∂ u = − ∂ F ∂ u \frac{\partial F}{\partial x} \frac{\partial x}{\partial u} +\frac{\partial F}{\partial y} \frac{\partial y}{\partial u} = -\frac{\partial F}{\partial u} xFux+yFuy=uF

∂ G ∂ x ∂ x ∂ u + ∂ G ∂ y ∂ y ∂ u = − ∂ G ∂ u \frac{\partial G}{\partial x} \frac{\partial x}{\partial u} +\frac{\partial G}{\partial y} \frac{\partial y}{\partial u} = -\frac{\partial G}{\partial u} xGux+yGuy=uG

∂ F ∂ x ∂ x ∂ v + ∂ F ∂ y ∂ y ∂ v = − ∂ F ∂ v \frac{\partial F}{\partial x} \frac{\partial x}{\partial v} +\frac{\partial F}{\partial y} \frac{\partial y}{\partial v} = -\frac{\partial F}{\partial v} xFvx+yFvy=vF

∂ G ∂ x ∂ x ∂ v + ∂ G ∂ y ∂ y ∂ v = − ∂ G ∂ v \frac{\partial G}{\partial x} \frac{\partial x}{\partial v} +\frac{\partial G}{\partial y} \frac{\partial y}{\partial v} = -\frac{\partial G}{\partial v} xGvx+yGvy=vG

现在用克莱姆法则就可得到:

∂ x ∂ u = ∣ − ∂ F ∂ u ∂ F ∂ y − ∂ G ∂ u ∂ G ∂ y ∣ ∣ ∂ F ∂ x ∂ F ∂ y ∂ G ∂ x ∂ G ∂ y ∣ \cfrac{\partial x}{\partial u} = \cfrac{\begin{vmatrix} -\cfrac{\partial F}{\partial u} & \cfrac{\partial F}{\partial y} \\ -\cfrac{\partial G}{\partial u} & \cfrac{\partial G}{\partial y}\end{vmatrix}}{\begin{vmatrix}\cfrac{\partial F}{\partial x} & \cfrac{\partial F}{\partial y} \\ \cfrac{\partial G}{\partial x} & \cfrac{\partial G}{\partial y}\end{vmatrix}} ux=xFxGyFyGuFuGyFyG
用两个雅可比矩阵来表示的方程:

∂ x ∂ u = − ( ∂ ( F , G ) ∂ ( y , u ) ) ( ∂ ( F , G ) ∂ ( x , y ) ) \cfrac{\partial x}{\partial u} = - \cfrac{\left(\cfrac{\partial\left(F, G\right)}{\partial\left(y, u\right)}\right)}{\left(\cfrac{\partial\left(F, G\right)}{\partial\left(x, y\right)}\right)} ux=((x,y)(F,G))((y,u)(F,G))
用类似的方法就可以找到 ∂ x ∂ v \frac{\partial x}{\partial v} vx ∂ y ∂ u \frac{\partial y}{\partial u} uy以及 ∂ y ∂ v \frac{\partial y}{\partial v} vy


引用:

1.百度百科: 克莱姆法则.
2.维基百科: 克莱姆法则.

  • 13
    点赞
  • 67
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
为了验证克拉默法则,我们可以使用MATLAB来解决一个线性方程组,并使用克拉默法则来检查结果的正确性。下面是一个简单的例子: 假设我们有以下线性方程组: ``` 2x + 3y = 8 4x + 5y = 14 ``` 我们可以使用MATLAB的“solve”函数来解决这个方程组,如下所示: ```matlab syms x y eqns = [2*x + 3*y == 8, 4*x + 5*y == 14]; vars = [x, y]; [solutions_x, solutions_y] = solve(eqns, vars); disp(solutions_x); disp(solutions_y); ``` 输出结果为: ``` solutions_x = (14/7) - (3*y)/7 solutions_y = (2*y)/7 + (6/7) ``` 现在,我们可以使用克拉默法则来检查这个结果的正确性。克拉默法则告诉我们,如果我们将方程组的系数和常数项放入一个矩阵中,然后计算该矩阵的行列式和每个未知数的系数矩阵的行列式,我们可以使用以下公式来计算每个未知数的值: ``` x = det([b1 A2; b2 A2]) / det(A) y = det([A1 b1; A2 b2]) / det(A) ``` 其中,A是系数矩阵,A1和A2是将A中的第一列和第二列替换为常数项向量b1和b2后得到的矩阵,b1和b2是常数项向量。 我们可以使用MATLAB来计算这些行列式,如下所示: ```matlab A = [2 3; 4 5]; b1 = [8; 14]; b2 = [8; 14]; A1 = [b1 A(:,2)]; A2 = [A(:,1) b2]; x = det([b1 A2]) / det(A); y = det([A1 b1]) / det(A); disp(x); disp(y); ``` 输出结果为: ``` x = (14/7) - (3*y)/7 y = (2*y)/7 + (6/7) ``` 我们可以看到,使用克拉默法则计算出的x和y的值与使用MATLAB的“solve”函数得到的值相同,因此我们可以得出结论,克拉默法则在MATLAB中是有效的。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

sam_kql

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值