主頁 >  其他 > 程式員的數學【線性代數基礎】

程式員的數學【線性代數基礎】

2022-02-09 07:49:58 其他

目錄

  • 前言
  • 1.向量是什么
    • 1.1 向量的定義
    • 1.2 向量的表示
    • 1.3 向量物理意義
  • 2.行向量與列向量
  • 3.向量運算
    • 3.1 向量加減法
    • 3.2 向量數乘
    • 3.3 轉置
    • 3.4 向量內積
    • 3.5 向量運演算法則
  • 4.向量的范數
    • 4.1 1-范數
    • 4.2 2-范數
    • 4.3 P-范數
    • 4.4 ∞ \infty -范數
    • 4.5 ? ∞ -\infty ?-范數
  • 5.特殊向量
    • 5.1 0向量
    • 5.2 單位向量
  • 6.矩陣是什么
  • 7.常見矩陣
    • 7.1 方陣
    • 7.2 對稱矩陣
    • 7.3 單位矩陣
    • 7.4 對角矩陣
  • 8.矩陣運算
    • 8.1 矩陣加減法
    • 8.2 數乘
    • 8.3 矩陣乘法
    • 8.4 矩陣轉置
    • 8.5 矩陣運演算法則
  • 9.逆矩陣
    • 9.1 逆矩陣定義
    • 9.2 逆矩陣作用
  • 10.行列式
  • 11.伴隨矩陣
    • 11.1 代數余子式
    • 11.2 伴隨矩陣定義
    • 11.3 伴隨矩陣性質
    • 11.4 伴隨矩陣與逆矩陣

前言

本文其實值屬于:程式員的數學【AIoT階段二】 (尚未更新)的一部分內容,本篇把這部分內容單獨截取出來,方便大家的觀看,本文介紹 線性代數基礎,在機器學習中經常會有矩陣、向量的定義以及計算,是公式定義、推導中必不可少的一部分內容,很多基礎概念的定義中都用到了向量的概念,有關線性代數,后續還會發一篇博文:程式員的數學【線性代數高級】,本文涵蓋了一些計算的問題并使用代碼進行了實作,安裝代碼運行環境見博客:最詳細的Anaconda Installers 的安裝【numpy,jupyter】(圖+文),如果你只是想要簡單的了解有關線代的內容,那么只需要學習一下博文:NumPy從入門到高級,如果你是跟著博主學習 A I o T AIoT AIoT 的小伙伴,建議先看博文:資料分析三劍客【AIoT階段一(下)】(十萬字博文 保姆級講解),如果你沒有 P y t h o n Python Python 基礎,那么還需先修博文:Python的進階之道【AIoT階段一(上)】(十五萬字博文 保姆級講解)

1.向量是什么

1.1 向量的定義

🚩在數學中,向量(也稱為歐幾里得向量、幾何向量、矢量),指具有 大小方向 的量,它可以形象化地表示為帶箭頭的線段,箭頭所指:代表向量的方向;線段長度:代表向量的大小,與向量對應的量叫做數量(物理學中稱標量),數量(或標量)只有大小,沒有方向,
在這里插入圖片描述

1.2 向量的表示

🚩向量的記法:印刷體記作粗體的字母(如 a,b,u,v),書寫時在字母頂上加一小箭頭 → \rightarrow ,如果給定向量的起點(A)和終點(B),可將向量記作 A B → \overrightarrow{AB} AB ,實際上向量有多種記法,可以用元組表示一個向量,如 ( x 1 , x 2 ) (x_1,x_2) (x1?,x2?) < x 1 , x 2 > <x_1,x_2> <x1?,x2?>,在線性代數中, n n n 元向量可以用 n × 1 n\times 1 n×1 矩陣表示,如:
V = [ x 1 x 2 ? x n ] V= \left[ \begin{matrix} x_1\\ x_2\\ \vdots \\ x_n \end{matrix} \right] V=??????x1?x2??xn????????
顯然,上述這種寫法太占篇幅,不環保!,所以我們經常會寫成: V T = [ x 1 , x 2 , . . . , x n ] V^T=[x_1,x_2,...,x_n] VT=[x1?,x2?,...,xn?],向量中的每個元素 x n x_n xn?,都稱作向量的一個分量,

1.3 向量物理意義

在這里插入圖片描述
O M → = ( P , Q , R ) = O P → + O Q → + O R → \overrightarrow{OM}=(P,Q,R)=\overrightarrow{OP}+\overrightarrow{OQ}+\overrightarrow{OR} OM =(P,Q,R)=OP +OQ ?+OR

向量的幾何意義就是空間中的點,物理意義就是速度或者力這樣的矢量,

向量的分量我們稱之為維度, n n n 維向量集合的全體就構成了 n n n 維歐式空間,一個 n n n 維向量其實就是一個 n n n 維歐式空間的一個點,

2.行向量與列向量

🚩行向量在線性代數中,是一個 1 × n 1×n 1×n 的矩陣,即矩陣由一個含有 n n n 個元素的行所組成即行向量,行向量的轉置是一個列向量,反之亦然,

行向量示例: V = [ x 1 , x 2 , . . . , x n ] V=[x_1,x_2,...,x_n] V=[x1?,x2?,...,xn?]

在線性代數中,列向量是一個 n × 1 n×1 n×1 的矩陣,即矩陣由一個含有 n n n 個元素的列所組成,

列向量示例: V = [ x 1 x 2 ? x n ] V= \left[ \begin{matrix} x_1\\ x_2\\ \vdots \\ x_n \end{matrix} \right] V=??????x1?x2??xn????????

為簡化書寫、方便排版起見,有時會以加上轉置符號 T T T 的行向量表示列向量,

V T = [ x 1 , x 2 , . . . , x n ] V^T=[x_1,x_2,...,x_n] VT=[x1?,x2?,...,xn?]

在機器學習中說到向量一般都是指 列向量

3.向量運算

3.1 向量加減法

🚩等于它們的分量分別相加,顯然兩個向量的長度得是相等的,減法我們在這里不列舉,很容易舉一反三,

[ 1 2 3 ] + [ 4 5 6 ] = [ 5 7 9 ] \left[ \begin{matrix} 1\\ 2\\ 3 \end{matrix} \right] + \left[ \begin{matrix} 4 \\ 5 \\ 6 \end{matrix} \right] = \left[ \begin{matrix} 5\\ 7\\ 9 \end{matrix} \right] ???123????+???456????=???579????

3.2 向量數乘

3 × [ 1 2 3 ] = [ 3 6 9 ] 3\times\left[ \begin{matrix} 1\\ 2\\ 3 \end{matrix} \right] = \left[ \begin{matrix} 3\\ 6\\ 9 \end{matrix} \right] 3×???123????=???369????

3.3 轉置

[ 1 2 3 ] T = [ 1 , 2 , 3 ] \left[ \begin{matrix} 1\\ 2\\ 3 \end{matrix} \right]^T=[1,2,3] ???123????T=[1,2,3]

[ 1 , 2 , 3 ] T = [ 1 2 3 ] [1,2,3]^T=\left[ \begin{matrix} 1\\ 2\\ 3 \end{matrix} \right] [1,2,3]T=???123????

3.4 向量內積

🚩兩個列向量 A T B A^TB ATB 等于對應位置相乘再相加,
[ 1 , 2 , 3 ] ? [ 4 5 6 ] = 1 × 4 + 2 × 5 + 3 × 6 = 32 [1,2,3] \cdot \left[ \begin{matrix} 4 \\ 5 \\ 6 \end{matrix} \right]=1 \times4+2 \times5+3\times 6=32 [1,2,3]????456????=1×4+2×5+3×6=32

3.5 向量運演算法則

🚩實數與向量運演算法則,設 λ \lambda λ μ \mu μ 是實數,則有:

  • 結合率: λ ( μ A ) = ( λ μ ) A \lambda(\mu A) = (\lambda\mu)A λ(μA)=(λμ)A
  • 分配率: ( λ + μ ) A = λ A + μ A (\lambda + \mu)A = \lambda A + \mu A (λ+μ)A=λA+μA

向量內積運演算法則:

  • 交換律: A ? B = B ? A A\cdot B = B\cdot A A?B=B?A
  • 分配率: ( A + B ) ? C = A ? C + B ? C (A + B)\cdot C = A\cdot C + B\cdot C (A+B)?C=A?C+B?C
  • 結合律: ( λ A ) ? B = λ ( A ? B ) (\lambda A)\cdot B = \lambda(A\cdot B) (λA)?B=λ(A?B)

4.向量的范數

🚩范數的公式是向量每個分量絕對值 P P P 次方 再用冪函式計算 P P P分之一,這里 P P P 肯定是整數 1 , 2 , 3... 1,2,3... 123...到正無窮都是可以的,向量的范數就是把向量變成一個標量,范數的表示就是兩個豎線來表示,然后右下角寫上 P P P

∣ ∣ A ∣ ∣ P = [ ∑ i = 1 n ∣ a i ∣ P ] 1 P ||A||_P=[\sum_{i=1}^n|a_i|^P]^{\frac{1}{P}} AP?=[i=1n?ai?P]P1?

在這里插入圖片描述

4.1 1-范數

∣ ∣ X ∣ ∣ 1 = ∑ i = 1 n ∣ x i ∣ ||X||_1=\sum_{i=1}^n|x_i| X1?=i=1n?xi?
即向量元素絕對值之和,表示 X X X 到零點的 曼哈頓距離,如上圖:紅色藍色黃色的線條,

4.2 2-范數

∣ ∣ X ∣ ∣ 2 = ∑ i = 1 n x i 2 ||X||_2=\sqrt{\sum_{i=1}^nx_i^2} X2?=i=1n?xi2? ?
即向量元素的平方和再開方,也叫 歐幾里得范數,常用計算向量長度,表示 X X X 到零點的歐式距離,如上圖綠色的線條

4.3 P-范數

∣ ∣ X ∣ ∣ P = [ ∑ i = 1 n ∣ x i ∣ P ] 1 P ||X||_P=[\sum_{i=1}^n|x_i|^P]^{\frac{1}{P}} XP?=[i=1n?xi?P]P1?
即向量元素絕對值的 P P P 次方和的 1 P \frac{1}{P} P1? 次冪,表示 X X X 到零點的 P P P閔氏距離

4.4 ∞ \infty -范數

∣ ∣ X ∣ ∣ ∞ = m a x ∣ x i ∣ ||X||_\infty=max|x_i| X?=maxxi?
P P P 趨向于正無窮時,即所有向量元素絕對值中的最大值,表示 切比雪夫距離

在這里插入圖片描述
國際象棋棋盤上兩個位置間的切比雪夫距離是指王要從一個位子移至另一個位子需要走的步數,由于王可以往斜前或斜后方向移動一格,因此可以較有效率的到達目的的格子,

4.5 ? ∞ -\infty ?-范數

∣ ∣ X ∣ ∣ ? ∞ = m i n ∣ x i ∣ ||X||_{-\infty}=min|x_i| X??=minxi?
P P P 趨向于負無窮時,即所有向量元素絕對值中的最小值,

5.特殊向量

5.1 0向量

🚩就是分量全部為 0 0 0 的向量
[ 0 , 0 , ? ? ? , 0 ] [0,0,\cdot\cdot\cdot,0] [0,0,???,0]

5.2 單位向量

🚩就是2-范數為 1 1 1、模為 1 1 1、長度為 1 1 1 的向量,

向量 A B → \overrightarrow{AB} AB 的長度叫做向量的模,記作 ∣ A B → ∣ |\overrightarrow{AB}| AB

計算公式:

  • 空間向量 ( x , y , z ) (x,y,z) (x,y,z) ,其中 x , y , z x,y,z x,y,z 表示三個軸上的坐標,模長為: x 2 + y 2 + z 2 \sqrt{x^2+y^2+z^2} x2+y2+z2 ?
  • 平面向量 ( x , y ) (x,y) (x,y),模長為: x 2 + y 2 \sqrt{x^2+y^2} x2+y2 ?

根據2-范數的公式可知,2-范數就是向量的模,對于向量(列向量)來說,2-范數就是: X T X \sqrt{X^TX} XTX ?

6.矩陣是什么

🚩矩陣就是二維陣列,下面是一個 m m m n n n 的矩陣,它有 m m m 行, n n n 列,每行每列上面都有元素,每個元素都有行標 i i i 和列標 j j j a i j a_{ij} aij?,簡稱 m × n m \times n m×n 矩陣,記作:

{ a 11 a 12 ? a 1 n a 21 a 22 ? a 2 n ? ? ? ? a m 1 a m 2 ? a m n } \left\{ \begin{matrix} a_{11} & a_{12} & \cdots & a_{1n} \\ a_{21} & a_{22} & \cdots & a_{2n} \\ \vdots & \vdots & \ddots & \vdots \\ a_{m1} & a_{m2} & \cdots & a_{mn} \\ \end{matrix} \right\} ??????????a11?a21??am1??a12?a22??am2???????a1n?a2n??amn????????????

注意 a 11 a_{11} a11? 的索引是 A [ 0 , 0 ] A[0,0] A[0,0]

m × n m\times n m×n 個數稱為矩陣 A A A 的元素,簡稱為元,數 a i j a_{ij} aij? 位于矩陣 A A A 的第 i i i 行第 j j j 列,稱為矩陣 A A A ( i , j ) (i,j) (i,j) 元, m × n m\times n m×n 矩陣 A A A 也記作 A m n A_{mn} Amn?

7.常見矩陣

7.1 方陣

🚩如果 m m m 等于 n n n,那就稱為方陣:
A = [ 1 2 3 4 5 6 7 8 9 ] A= \begin{bmatrix} 1 & 2 & 3 \\ 4 & 5 & 6 \\ 7 & 8 & 9 \end{bmatrix} A=???147?258?369????

7.2 對稱矩陣

🚩如果對于任意的 a i j a_{ij} aij? 都等于 a j i a_{ji} aji?,那么這個矩陣就是對稱矩陣,從定義不難看出,對稱矩陣的前提是該矩陣首先是一個方陣,

A = [ 1 4 7 4 5 8 7 8 9 ] A= \begin{bmatrix} 1 & 4 & 7 \\ 4 & 5 & 8 \\ 7 & 8 & 9 \end{bmatrix} A=???147?458?789????

7.3 單位矩陣

🚩主對角線都是 1 1 1,其它位置是 0 0 0,這稱之為單位矩陣,單位矩陣寫為 I I I,一定是方陣,等同于數字里面的 1 1 1

A = [ 1 0 0 0 1 0 0 0 1 ] A= \begin{bmatrix} 1 & 0 & 0 \\ 0 & 1 & 0 \\ 0 & 0 & 1 \end{bmatrix} A=???100?010?001????

7.4 對角矩陣

🚩對角矩陣,就是主對角線非 0 0 0,其它位置是 0 0 0
[ λ 1 0 ? 0 0 λ 2 ? 0 ? ? ? ? 0 0 ? λ n ] \left[ \begin{matrix} \lambda_1 & 0 & \cdots & 0 \\ 0 & \lambda_2 & \cdots & 0 \\ \vdots & \vdots & \ddots & \vdots \\ 0 & 0 & \cdots & \lambda_n \\ \end{matrix} \right] ??????λ1?0?0?0λ2??0??????00?λn????????
對角矩陣一定是方陣,不然沒有對角線!

8.矩陣運算

8.1 矩陣加減法

🚩矩陣的加法就是矩陣的對應位置相加,減法也是一樣就是對應位置相減,
[ 1 2 3 1 6 4 ] + [ 6 0 1 7 1 5 ] = [ 7 2 4 8 7 9 ] \begin{bmatrix} 1 & 2 \\ 3 & 1 \\ 6 & 4 \end{bmatrix}+\begin{bmatrix} 6 & 0 \\ 1 & 7 \\ 1 & 5 \end{bmatrix}=\begin{bmatrix} 7 & 2 \\ 4 & 8 \\ 7 & 9 \end{bmatrix} ???136?214????+???611?075????=???747?289????

8.2 數乘

3 × [ 1 2 3 4 5 6 7 8 9 ] = [ 3 6 9 12 15 18 21 24 27 ] 3\times\begin{bmatrix} 1 & 2 & 3 \\ 4 & 5 & 6 \\ 7 & 8 & 9 \end{bmatrix}=\begin{bmatrix} 3 & 6 & 9 \\ 12 & 15 & 18 \\ 21 & 24 & 27 \end{bmatrix} 3×???147?258?369????=???31221?61524?91827????

8.3 矩陣乘法

🚩矩陣的乘法和一般的乘法是不太一樣!

它是把第一個矩陣的每一行,和第二個矩陣的每一列拿過來做內積得到結果,

在這里插入圖片描述
[ 1 2 1 3 1 0 ] ? [ 2 5 0 4 7 2 ] = [ 9 15 6 19 ] \begin{bmatrix} 1 & 2 & 1 \\ 3 & 1 & 0 \\ \end{bmatrix} \cdot \begin{bmatrix} 2 & 5 \\ 0 & 4 \\ 7 & 2 \end{bmatrix}= \begin{bmatrix} 9 & 15 \\ 6 & 19 \\ \end{bmatrix} [13?21?10?]????207?542????=[96?1519?]

對于矩陣乘法的兩個矩陣,假設第一個矩陣為 m m m n n n 列,第二個矩陣為 n n n k k k 列,那么進行矩陣乘法后得到的矩陣為 m m m k k k 列: m × n ? n × k = m × k m \times n \cdot n \times k=m \times k m×n?n×k=m×k

8.4 矩陣轉置

🚩轉置的操作和向量是一樣的,就是把 a i j a_{ij} aij? 變成 a j i a_{ji} aji?,即把行和列互換一下:
[ 1 2 1 3 1 0 ] T = [ 1 3 2 1 1 0 ] \begin{bmatrix} 1 & 2 & 1 \\ 3 & 1 & 0 \\ \end{bmatrix}^T= \begin{bmatrix} 1 & 3 \\ 2 & 1 \\ 1 & 0 \end{bmatrix} [13?21?10?]T=???121?310????

8.5 矩陣運演算法則

  • 矩陣加減法
    滿足:分配律、結合律、交換律

  • 矩陣乘法
    滿足:分配律、結合律,不滿足交換律
    在這里插入圖片描述

矩陣乘法 + 轉置: ( A B ) T = B T A T (AB)^T=B^TA^T (AB)T=BTAT

9.逆矩陣

9.1 逆矩陣定義

矩陣有 A B AB AB 乘法,但是沒有 A / B A/B A/B 這么一說,只有逆矩陣,

逆矩陣怎么定義的?

假設有個矩陣 A A A,注意它一定是方陣(必須是方陣),乘以矩陣 B B B 等于單位矩陣 I I I

A B = I AB=I AB=I B A = I BA=I BA=I

那么我們稱這里的 B B B A A A 的右逆矩陣,和左逆矩陣,

有個很重要的結論就是,如果這樣的 B B B 存在的話,它的左逆和右逆一定相等,統稱為 A A A 的逆矩陣 A ? 1 A^{-1} A?1,則: A = B ? 1 , B = A ? 1 A=B^{-1},B=A^{-1} A=B?1,B=A?1

9.2 逆矩陣作用

🚩矩陣求逆有什么用呢?

它可以幫助我們解線性方程組,比如 X W = Y XW=Y XW=Y ,兩邊同時乘以 X X X 的逆:

X ? 1 X W = X ? 1 Y X^{-1}XW=X^{-1}Y X?1XW=X?1Y
I W = X ? 1 Y IW=X^{-1}Y IW=X?1Y
W = X ? 1 Y W=X^{-1}Y W=X?1Y

就可以求解出方程的系數,它發明的目的也是干這樣的事情用的,

舉例說明:

# 三元一次方程 
# 3x + 2y + 4z = 19 
# 2x -y + 3z = 9 
# x + y - z = 0

import numpy as np

X = np.array([[3, 2, 4],
              [2, -1, 3],
              [1, 1, -1]])
Y = np.array([19, 9, 0])

display(X, Y)

# np.linalg.inv表示矩陣求逆 
# dot表示矩陣乘法
W = np.linalg.inv(X).dot(Y)
print('求解方程x,y,z為:', W)

在這里插入圖片描述
從這里我們也可以看出來單位矩陣像我們乘法里面的 1 1 1

逆矩陣相關公式:

  • ( A B ) ? 1 = B ? 1 A ? 1 (AB)^{-1}=B^{-1}A^{-1} (AB)?1=B?1A?1
  • ( A ? 1 ) ? 1 = A (A^{-1})^{-1}=A (A?1)?1=A
  • ( A T ) ? 1 = ( A ? 1 ) T (A^T)^{-1}=(A^{-1})^T (AT)?1=(A?1)T

10.行列式

🚩 行列式其實在機器學習中用的并不多,一個矩陣必須是方陣,才能計算它的行列式

行列式是把矩陣變成一個標量
∣ a 11 a 12 a 21 a 22 ∣ = a 11 a 22 ? a 12 a 21 \left |\begin{array}{cccc} a_{11} &a_{12}\\ a_{21} &a_{22}\\ \end{array}\right|=a_{11}a_{22}-a_{12}a_{21} ?a11?a21??a12?a22???=a11?a22??a12?a21?

import numpy as np
A = np.array([[1,3],[2,5]])
display(A)
print('矩陣A的行列式是:\n',np.linalg.det(A))

在這里插入圖片描述

行列式在求解,逆矩陣的程序中,起到了作用,行列式 不為0,才可以求解逆矩陣!

import numpy as np
A = np.array([[1,3],[2,6]])
display(A)
print('矩陣A的行列式是:\n',np.linalg.det(A))

# 無法求解行列式,報錯資訊:LinAlgError: Singular matrix
print('矩陣A的逆矩陣為:\n',np.linalg.inv(A))

在這里插入圖片描述

11.伴隨矩陣

11.1 代數余子式

🚩 代數余子式定義:
在這里插入圖片描述
代數余子式計算

A = [ 1 2 3 2 2 1 3 4 3 ] A= \begin{bmatrix} 1 & 2 & 3 \\ 2 & 2 & 1 \\ 3 & 4 & 3 \end{bmatrix} A=???123?224?313????

計算程序如下:
在這里插入圖片描述

11.2 伴隨矩陣定義

🚩 設有一矩陣 A 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= \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} A=??????a11?a21??an1??a12?a22??an2???????a1n?a2n??ann????????

A i j A_{ij} Aij? 是矩陣 A A A 中元素 a i j a_{ij} aij? 的代數余子式,那么矩陣 A ? A^* A?
A ? = [ A 11 A 21 ? A n 1 A 12 A 22 ? A n 2 ? ? ? ? A 1 n A 2 n ? A n n ] A^*= \begin{bmatrix} A_{11} & A_{21} & \cdots & A_{n1} \\ A_{12} & A_{22} & \cdots & A_{n2} \\ \vdots & \vdots & \ddots & \vdots \\ A_{1n} & A_{2n} & \cdots & A_{nn} \\ \end{bmatrix} A?=??????A11?A12??A1n??A21?A22??A2n???????An1?An2??Ann????????

稱為矩陣 A A A伴隨矩陣

11.3 伴隨矩陣性質

A A ? = A ? A = ∣ A ∣ E AA^*=A^*A=|A|E AA?=A?A=AE
A A ? = A ? A = ∣ A ∣ E AA^*=A^*A=|A|E AA?=A?A=AE

I , E I,E I,E 都表示單位矩陣, ∣ A ∣ |A| A 代表行列式

11.4 伴隨矩陣與逆矩陣

A A ? 1 = I AA^{-1}=I AA?1=I
A A ? = ∣ A ∣ I AA^*=|A|I AA?=AI,其中 ∣ A ∣ |A| A 代表行列式
A A A A ? ∣ A ∣ \frac{A^*}{|A|} AA?? = I =I =I

根據上式可得:
A ? 1 = A^{-1}= A?1= A ? ∣ A ∣ \frac{A^*}{|A|} AA??

import numpy as np

# 宣告矩陣
A = np.array([
    [1, 2, 3],
    [2, 2, 1],
    [3, 4, 3]])
A_bs = [] # 伴隨矩陣
n = 3 # A方陣的行、列數量

for i in range(n):
    for j in range(n):
        row = [0, 1, 2] # 行索引
        col = [0, 1, 2] # 列索引
        row.remove(i) # 去除行
        col.remove(j) # 去除列
        # 代數余子式
        A_ij = A[np.ix_(row, col)]
        A_bs.append(((-1) ** (i + j)) * np.linalg.det(A_ij))
        
A_bs = np.array(A_bs).reshape(3, 3).T

print('根據伴隨矩陣求逆矩陣:\n', A_bs / np.linalg.det(A))
print('用NumPy模塊求逆矩陣:\n', np.linalg.inv(A))

在這里插入圖片描述

轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/423562.html

標籤:AI

上一篇:【人臉識別系列】| 實作人臉截圖保存并撰寫128維特征向量

下一篇:R語言plotly可視化:可視化直方圖、歸一化的直方圖、水平直方圖、互相重疊的直方圖、堆疊的直方圖、累積直方圖、通過bingroup引數設定多個直方圖使用相同的bins設定、自定義直方圖條形的間距

標籤雲
其他(157675) Python(38076) JavaScript(25376) Java(17977) C(15215) 區塊鏈(8255) C#(7972) AI(7469) 爪哇(7425) MySQL(7132) html(6777) 基礎類(6313) sql(6102) 熊猫(6058) PHP(5869) 数组(5741) R(5409) Linux(5327) 反应(5209) 腳本語言(PerlPython)(5129) 非技術區(4971) Android(4554) 数据框(4311) css(4259) 节点.js(4032) C語言(3288) json(3245) 列表(3129) 扑(3119) C++語言(3117) 安卓(2998) 打字稿(2995) VBA(2789) Java相關(2746) 疑難問題(2699) 细绳(2522) 單片機工控(2479) iOS(2429) ASP.NET(2402) MongoDB(2323) 麻木的(2285) 正则表达式(2254) 字典(2211) 循环(2198) 迅速(2185) 擅长(2169) 镖(2155) 功能(1967) .NET技术(1958) Web開發(1951) python-3.x(1918) HtmlCss(1915) 弹簧靴(1913) C++(1909) xml(1889) PostgreSQL(1872) .NETCore(1853) 谷歌表格(1846) Unity3D(1843) for循环(1842)

熱門瀏覽
  • 網閘典型架構簡述

    網閘架構一般分為兩種:三主機的三系統架構網閘和雙主機的2+1架構網閘。 三主機架構分別為內端機、外端機和仲裁機。三機無論從軟體和硬體上均各自獨立。首先從硬體上來看,三機都用各自獨立的主板、記憶體及存盤設備。從軟體上來看,三機有各自獨立的作業系統。這樣能達到完全的三機獨立。對于“2+1”系統,“2”分為 ......

    uj5u.com 2020-09-10 02:00:44 more
  • 如何從xshell上傳檔案到centos linux虛擬機里

    如何從xshell上傳檔案到centos linux虛擬機里及:虛擬機CentOs下執行 yum -y install lrzsz命令,出現錯誤:鏡像無法找到軟體包 前言 一、安裝lrzsz步驟 二、上傳檔案 三、遇到的問題及解決方案 總結 前言 提示:其實很簡單,往虛擬機上安裝一個上傳檔案的工具 ......

    uj5u.com 2020-09-10 02:00:47 more
  • 一、SQLMAP入門

    一、SQLMAP入門 1、判斷是否存在注入 sqlmap.py -u 網址/id=1 id=1不可缺少。當注入點后面的引數大于兩個時。需要加雙引號, sqlmap.py -u "網址/id=1&uid=1" 2、判斷文本中的請求是否存在注入 從文本中加載http請求,SQLMAP可以從一個文本檔案中 ......

    uj5u.com 2020-09-10 02:00:50 more
  • Metasploit 簡單使用教程

    metasploit 簡單使用教程 浩先生, 2020-08-28 16:18:25 分類專欄: kail 網路安全 linux 文章標簽: linux資訊安全 編輯 著作權 metasploit 使用教程 前言 一、Metasploit是什么? 二、準備作業 三、具體步驟 前言 Msfconsole ......

    uj5u.com 2020-09-10 02:00:53 more
  • 游戲逆向之驅動層與用戶層通訊

    驅動層代碼: #pragma once #include <ntifs.h> #define add_code CTL_CODE(FILE_DEVICE_UNKNOWN,0x800,METHOD_BUFFERED,FILE_ANY_ACCESS) /* 更多游戲逆向視頻www.yxfzedu.com ......

    uj5u.com 2020-09-10 02:00:56 more
  • 北斗電力時鐘(北斗授時服務器)讓網路資料更精準

    北斗電力時鐘(北斗授時服務器)讓網路資料更精準 北斗電力時鐘(北斗授時服務器)讓網路資料更精準 京準電子科技官微——ahjzsz 近幾年,資訊技術的得了快速發展,互聯網在逐漸普及,其在人們生活和生產中都得到了廣泛應用,并且取得了不錯的應用效果。計算機網路資訊在電力系統中的應用,一方面使電力系統的運行 ......

    uj5u.com 2020-09-10 02:01:03 more
  • 【CTF】CTFHub 技能樹 彩蛋 writeup

    ?碎碎念 CTFHub:https://www.ctfhub.com/ 筆者入門CTF時時剛開始刷的是bugku的舊平臺,后來才有了CTFHub。 感覺不論是網頁UI設計,還是題目質量,賽事跟蹤,工具軟體都做得很不錯。 而且因為獨到的金幣制度的確讓人有一種想去刷題賺金幣的感覺。 個人還是非常喜歡這個 ......

    uj5u.com 2020-09-10 02:04:05 more
  • 02windows基礎操作

    我學到了一下幾點 Windows系統目錄結構與滲透的作用 常見Windows的服務詳解 Windows埠詳解 常用的Windows注冊表詳解 hacker DOS命令詳解(net user / type /md /rd/ dir /cd /net use copy、批處理 等) 利用dos命令制作 ......

    uj5u.com 2020-09-10 02:04:18 more
  • 03.Linux基礎操作

    我學到了以下幾點 01Linux系統介紹02系統安裝,密碼啊破解03Linux常用命令04LAMP 01LINUX windows: win03 8 12 16 19 配置不繁瑣 Linux:redhat,centos(紅帽社區版),Ubuntu server,suse unix:金融機構,證券,銀 ......

    uj5u.com 2020-09-10 02:04:30 more
  • 05HTML

    01HTML介紹 02頭部標簽講解03基礎標簽講解04表單標簽講解 HTML前段語言 js1.了解代碼2.根據代碼 懂得挖掘漏洞 (POST注入/XSS漏洞上傳)3.黑帽seo 白帽seo 客戶網站被黑帽植入劫持代碼如何處理4.熟悉html表單 <html><head><title>TDK標題,描述 ......

    uj5u.com 2020-09-10 02:04:36 more
最新发布
  • 2023年最新微信小程式抓包教程

    01 開門見山 隔一個月發一篇文章,不過分。 首先回顧一下《微信系結手機號資料庫被脫庫事件》,我也是第一時間得知了這個訊息,然后跟蹤了整件事情的經過。下面是這起事件的相關截圖以及近日流出的一萬條資料樣本: 個人認為這件事也沒什么,還不如關注一下之前45億快遞資料查詢渠道疑似在近日復活的訊息。 訊息是 ......

    uj5u.com 2023-04-20 08:48:24 more
  • web3 產品介紹:metamask 錢包 使用最多的瀏覽器插件錢包

    Metamask錢包是一種基于區塊鏈技術的數字貨幣錢包,它允許用戶在安全、便捷的環境下管理自己的加密資產。Metamask錢包是以太坊生態系統中最流行的錢包之一,它具有易于使用、安全性高和功能強大等優點。 本文將詳細介紹Metamask錢包的功能和使用方法。 一、 Metamask錢包的功能 數字資 ......

    uj5u.com 2023-04-20 08:47:46 more
  • vulnhub_Earth

    前言 靶機地址->>>vulnhub_Earth 攻擊機ip:192.168.20.121 靶機ip:192.168.20.122 參考文章 https://www.cnblogs.com/Jing-X/archive/2022/04/03/16097695.html https://www.cnb ......

    uj5u.com 2023-04-20 07:46:20 more
  • 從4k到42k,軟體測驗工程師的漲薪史,給我看哭了

    清明節一過,盲猜大家已經無心上班,在數著日子準備過五一,但一想到銀行卡里的余額……瞬間心情就不美麗了。最近,2023年高校畢業生就業調查顯示,本科畢業月平均起薪為5825元。調查一出,便有很多同學表示自己又被平均了。看著這一資料,不免讓人想到前不久中國青年報的一項調查:近六成大學生認為畢業10年內會 ......

    uj5u.com 2023-04-20 07:44:00 more
  • 最新版本 Stable Diffusion 開源 AI 繪畫工具之中文自動提詞篇

    🎈 標簽生成器 由于輸入正向提示詞 prompt 和反向提示詞 negative prompt 都是使用英文,所以對學習母語的我們非常不友好 使用網址:https://tinygeeker.github.io/p/ai-prompt-generator 這個網址是為了讓大家在使用 AI 繪畫的時候 ......

    uj5u.com 2023-04-20 07:43:36 more
  • 漫談前端自動化測驗演進之路及測驗工具分析

    隨著前端技術的不斷發展和應用程式的日益復雜,前端自動化測驗也在不斷演進。隨著 Web 應用程式變得越來越復雜,自動化測驗的需求也越來越高。如今,自動化測驗已經成為 Web 應用程式開發程序中不可或缺的一部分,它們可以幫助開發人員更快地發現和修復錯誤,提高應用程式的性能和可靠性。 ......

    uj5u.com 2023-04-20 07:43:16 more
  • CANN開發實踐:4個DVPP記憶體問題的典型案例解讀

    摘要:由于DVPP媒體資料處理功能對存放輸入、輸出資料的記憶體有更高的要求(例如,記憶體首地址128位元組對齊),因此需呼叫專用的記憶體申請介面,那么本期就分享幾個關于DVPP記憶體問題的典型案例,并給出原因分析及解決方法。 本文分享自華為云社區《FAQ_DVPP記憶體問題案例》,作者:昇騰CANN。 DVPP ......

    uj5u.com 2023-04-20 07:43:03 more
  • msf學習

    msf學習 以kali自帶的msf為例 一、msf核心模塊與功能 msf模塊都放在/usr/share/metasploit-framework/modules目錄下 1、auxiliary 輔助模塊,輔助滲透(埠掃描、登錄密碼爆破、漏洞驗證等) 2、encoders 編碼器模塊,主要包含各種編碼 ......

    uj5u.com 2023-04-20 07:42:59 more
  • Halcon軟體安裝與界面簡介

    1. 下載Halcon17版本到到本地 2. 雙擊安裝包后 3. 步驟如下 1.2 Halcon軟體安裝 界面分為四大塊 1. Halcon的五個助手 1) 影像采集助手:與相機連接,設定相機引數,采集影像 2) 標定助手:九點標定或是其它的標定,生成標定檔案及內參外參,可以將像素單位轉換為長度單位 ......

    uj5u.com 2023-04-20 07:42:17 more
  • 在MacOS下使用Unity3D開發游戲

    第一次發博客,先發一下我的游戲開發環境吧。 去年2月份買了一臺MacBookPro2021 M1pro(以下簡稱mbp),這一年來一直在用mbp開發游戲。我大致分享一下我的開發工具以及使用體驗。 1、Unity 官網鏈接: https://unity.cn/releases 我一般使用的Apple ......

    uj5u.com 2023-04-20 07:40:19 more