Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Cara menggunakan Python untuk mencari norma dan penentu matriks

Cara menggunakan Python untuk mencari norma dan penentu matriks

WBOY
WBOYke hadapan
2023-05-10 23:10:061244semak imbas

Dalam fungsi scipy.linalg, dua parameter sering disediakan Satu ialah check_finite, yang akan melakukan semakan terhad apabila ia True, dan satu lagi ialah overwrite_xxxx, yang bermaksud xxxx. digunakan dalam pengiraan Sama ada proses itu boleh ditimpa. Demi kesederhanaan, akan diberitahu kemudian bahawa a menyediakan suis timpa, yang bermaksud terdapat parameter overwrite_a Apabila ia True, a dibenarkan untuk ditimpa semasa proses pengiraan dikatakan suis semak terhad disediakan, bermakna check_finite disediakan.

Norma

menyediakan fungsi scipy.linalg dalam norm untuk mencari norma, yang ditakrifkan sebagai

norm(a, ord=None, axis=None, keepdims=False, check_finite=True)

di mana ord digunakan untuk mengisytiharkan norma The tertib

ord 矩阵范数 向量范数



None 弗罗贝尼乌斯范数 2-范数
'fro' 弗罗贝尼乌斯范数 -
'nuc' 核范数 -
inf max(sum(abs(a), axis=1)) max ⁡ ( ∣ a ∣ ) 
-inf min(sum(abs(a), axis=1)) min ⁡ ( ∣ a ∣ ) 
0 - sum(a!=0)
1 max(sum(abs(a), axis=0))
-1 min(sum(abs(a), axis=0))
2 2-范数(最大奇异值)
-2 最小奇异值

Jika a ialah vektor, jika ord ialah integer bukan sifar, dilambangkan sebagai n nn, biarkan a i a_iai menjadi elemen dalam matriks a aa, maka n nn norma matriks ialah

Cara menggunakan Python untuk mencari norma dan penentu matriks

Norma nuklear juga dipanggil "norma surih" dan mewakili jumlah semua nilai tunggal matriks.

Norma Frobenius boleh ditakrifkan sebagai

Cara menggunakan Python untuk mencari norma dan penentu matriks

Intipatinya ialah generalisasi semula jadi bagi 2-norma vektor dalam matriks.

Selain scipy.linalg, numpy.linalg juga disediakan dalam norm, parameternya ialah

norm(x, ord=None, axis=None, keepdims=False)

di mana parameter pilihan order adalah sama dengan scipy.linalg >Fungsi adalah sama. norm

Penentuan

Dalam

, fungsi penentu ialah scipy.linalg, dan takrifannya sangat mudah Selain matriks det yang boleh didapati, hanya terdapat penutup daripada a Tulis suis dan semakan terhingga. Contoh a

adalah seperti berikut:

import numpy as np
from scipy import linalg
a = np.array([[1,2,3], [4,5,6], [7,8,9]])
linalg.det(a)
# 0.0
a = np.array([[0,2,3], [4,5,6], [7,8,9]])
linalg.det(a)
# 3.0

jejak

tidak menyediakan fungsi scipy.linalg, tetapi trace menyediakan, yang ditakrifkan sebagai numpy

umpy.trace(a, offset=0, axis1=0, axis2=1, dtype=None, out=None)

dengan

  • ialah ofset, menunjukkan offset relatif kepada pepenjuru utama offset

  • mewakili paksi koordinataxis1, axis2

  • Jenis data yang digunakan untuk melaraskan nilai outputdtype

  • >>> x = np.random.rand(3,3)
    >>> print(x)
    [[0.26832187 0.64615363 0.09006217]
     [0.63106319 0.65573765 0.35842304]
     [0.66629322 0.16999836 0.92357658]]
    >>> np.trace(x)
    1.8476361016546932

Atas ialah kandungan terperinci Cara menggunakan Python untuk mencari norma dan penentu matriks. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:yisu.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam