Octave 线性代数 行列式 0

计算行列式

det(A)

>> A = [0 2 1 -1;1 -5 3 -4;1 3 -1 2;-5 1 3 -3]
A =

   0   2   1  -1
   1  -5   3  -4
   1   3  -1   2
  -5   1   3  -3

>> det(A)
ans =  40.000

行列式的初等变换

  • 对行列式两行/列交换 |B| = -|A|
  • 对行列式数乘一行/列 |B|= λ|A|
  • 对行列式k倍加上另外一行 |B|= |A|

对角矩阵

diag(A)

>> diag(A)
ans =

   0
  -5
  -1
  -3

三角行列式

三角行列式的值 = 对角线元的乘积

综上

手算行列式

>> A = [0 2 1 -1;1 -5 3 -4;1 3 -1 2;-5 1 3 -3]
A =

   0   2   1  -1
   1  -5   3  -4
   1   3  -1   2
  -5   1   3  -3
>> A = A([2,1,3,4],:)
A =

   1  -5   3  -4
   0   2   1  -1
   1   3  -1   2
  -5   1   3  -3

>> A(3,:) = A(1,:) * -1 + A(3,:)
A =

   1  -5   3  -4
   0   2   1  -1
   0   8  -4   6
  -5   1   3  -3

>> A(4,:) = A(1,:) * 5 + A(4,:)
A =

    1   -5    3   -4
    0    2    1   -1
    0    8   -4    6
    0  -24   18  -23

>> A(3,:) = A(2,:) * -4 + A(3,:)
A =

    1   -5    3   -4
    0    2    1   -1
    0    0   -8   10
    0  -24   18  -23

>> A(4,:) = A(2,:)*12 + A(4,:)
A =

    1   -5    3   -4
    0    2    1   -1
    0    0   -8   10
    0    0   30  -35

>> A(4,:) = A(3,:)*30/8+A(4,:)
A =

    1.00000   -5.00000    3.00000   -4.00000
    0.00000    2.00000    1.00000   -1.00000
    0.00000    0.00000   -8.00000   10.00000
    0.00000    0.00000    0.00000    2.50000

>> C = diag(A)
C =

   1.0000
   2.0000
  -8.0000
   2.5000

>> prod(C)
ans = -40

向量乘积

prod(A)

你可能感兴趣的:(Octave 线性代数 行列式 0)