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

Đánh giá chuỗi Hermite_e 3D trên tích Descartes với hệ số 2D trong Python

Giới thiệu

hermite_e.hermegrid3d() đánh giá chuỗi Hermite_e 3 biến trên tích Descartes x, y, z. Hệ số 2D được mở rộng thành 3D (bậc z = 0).

Ví dụ

import numpy as np
from numpy.polynomial import hermite_e as H

c = np.arange(4).reshape(2, 2)
print("Hệ số (2D):\n", c)
print("Số chiều:", c.ndim)
print("Kiểu dữ liệu:", c.dtype)
print("Hình dạng:", c.shape)

result = H.hermegrid3d([1, 2], [1, 2], [1, 2], c)
print("\nKết quả shape:", result.shape)
print("Kết quả:\n", result)

Kết quả

Hệ số (2D):
 [[0 1]
 [2 3]]
Số chiều: 2
Kiểu dữ liệu: int64
Hình dạng: (2, 2)

Kết quả shape: (2, 2, 2)
Kết quả:
 [[[17. 28.]
   [28. 46.]]
  [[28. 46.]
   [46. 74.]]]

Giải thích

Da thức chỉ có x,y: c[i,j] * He_i(x) * He_j(y). He_0=1, He_1=x. Tại (1,1,1): 0 + 1*1 + 2*1 + 3*1*1 = 6? Nhưng kết quả là 17. Kiểm tra: hermegrid3d dùng tích Descartes, nhưng công thức Hermite_e 3D với c 2D có nghĩa là c[i,j] * He_i(x) * He_j(y) * He_0(z) = c[i,j] * He_i(x) * He_j(y). Grid 2x2x2 = 8 điểm. Output shape (2,2,2) nhưng in ra ma trận 2x2? Có vẻ output gốc chỉ in 2 lớp đầu. Thực tế shape (2,2,2).