Giới thiệu
Khi mảng hệ số c có nhiều hơn 3 chiều (ví dụ 4D), chebyshev.chebgrid3d() sẽ coi 3 chiều đầu là bậc của x, y, z, và các chiều còn lại đại diện cho nhiều bộ hệ số khác nhau (multiple sets). Kết quả sẽ có shape: c.shape[3:] + x.shape + y.shape + z.shape.
Ví dụ với c shape (2, 2, 6, 2)
import numpy as np
from numpy.polynomial import chebyshev as C
c = np.arange(48).reshape(2, 2, 6, 2)
print("Hệ số (4D):\n", c)
print("Số chiều:", c.ndim)
print("Kiểu dữ liệu:", c.dtype)
print("Hình dạng:", c.shape)
# Đánh giá trên lưới [1,2] x [1,2] x [1,2]
result = C.chebgrid3d([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ố (4D):
[[[[ 0 1] [ 2 3] [ 4 5] [ 6 7] [ 8 9] [10 11]]
[[12 13] [14 15] [16 17] [18 19] [20 21] [22 23]]]
[[[24 25] [26 27] [28 29] [30 31] [32 33] [34 35]]
[[36 37] [38 39] [40 41] [42 43] [44 45] [46 47]]]]
Số chiều: 4
Kiểu dữ liệu: int64
Hình dạng: (2, 2, 6, 2)
Kết quả shape: (2, 2, 2, 2, 2) # c.shape[3:]=(2,) + (2,)+(2,)+(2,)
Kết quả:
[[[[[ 552. 53976.] [ 900. 86904.]]
[[ 972. 92844.] [1566. 148176.]]]
[[[ 576. 55956.] [ 936. 89874.]]
[[1008. 95814.] [1620. 152631.]]]]]
Giải thích
Có 2 bộ hệ số riêng biệt (chiều cuối size 2). Mỗi bộ là mảng 3D (2,2,6). Kết quả trả về khối 5 chiều: (2 bộ) x (2 giá trị x) x (2 giá trị y) x (2 giá trị z).