Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Python

Trả về chuẩn hạt nhân của ma trận trong Đại số tuyến tính Python


Để trả về chuẩn của ma trận hoặc vectơ trong Đại số tuyến tính, hãy sử dụng phương thức LA.norm() trong NumPy Python. Tham số 1, x là mảng đầu vào. Nếu axis là None, x phải là 1-D hoặc 2-D, trừ khi ord là None. Nếu cả axis và ord đều là None, chuẩn 2 của x.ravel sẽ được trả về.

Tham số 2, ord là bậc của chuẩn. inf nghĩa là đối tượng inf của numpy. Mặc định là None. "nuc" được đặt làm tham số là chuẩn hạt nhân. Cả thứ bậc Frobenius và hạt nhân chỉ được định nghĩa cho ma trận.

Các bước thực hiện

Trước tiên, nhập thư viện cần thiết:

import numpy as np
from numpy import linalg as LA

Tạo mảng:

arr = np.array([[ -4, -3, -2], [-1, 0, 1], [2, 3, 4] ])

Hiển thị mảng:

print("Mảng của chúng ta...\n", arr)

Kiểm tra số chiều:

print("\nSố chiều mảng...\n", arr.ndim)

Lấy kiểu dữ liệu:

print("\nKiểu dữ liệu đối tượng mảng...\n", arr.dtype)

Lấy hình dạng:

print("\nHình dạng đối tượng mảng...\n", arr.shape)

Để trả về chuẩn của ma trận hoặc vectơ trong Đại số tuyến tính, sử dụng phương thức LA.norm():

print("\nKết quả...\n", LA.norm(arr, 'nuc'))

Ví dụ hoàn chỉnh

import numpy as np
from numpy import linalg as LA

# Tạo mảng
arr = np.array([[ -4, -3, -2], [-1, 0, 1], [2, 3, 4] ])

# Hiển thị mảng
print("Mảng của chúng ta...\n", arr)

# Kiểm tra số chiều
print("\nSố chiều mảng...\n", arr.ndim)

# Lấy kiểu dữ liệu
print("\nKiểu dữ liệu đối tượng mảng...\n", arr.dtype)

# Lấy hình dạng
print("\nHình dạng đối tượng mảng...\n", arr.shape)

# Trả về chuẩn hạt nhân
print("\nKết quả...\n", LA.norm(arr, 'nuc'))

Kết quả đầu ra

Mảng của chúng ta...   [[-4 -3 -2]   [-1 0 1]   [ 2 3 4]]
Số chiều mảng... 2
Kiểu dữ liệu đối tượng mảng... int64
Hình dạng đối tượng mảng... (3, 3)
Kết quả... 9.797958971132713