Hơn 1500 sơ đồ tích hợp số cho các đoạn thẳng, hình tròn, đĩa, hình tam giác, hình tứ giác, hình cầu, quả bóng, tứ diện, hình lục giác, hình nêm, hình chóp, n hình cầu, n hình cầu, n hình lập phương, n hình đơn giản, nửa 1D-
Ví dụ: để tích hợp số lượng bất kỳ chức năng nào trong bất kỳ khoảng thời gian nhất định nào, hãy cài đặt quadpy từ Chỉ mục gói Python với
pip install quadpy
và làm
import numpy as np import quadpy def f[x]: return np.sin[x] - x val, err = quadpy.quad[f, 0.0, 6.0]
Điều này giống như scipy với việc bổ sung quadpy xử lý các tích phân phức-, véc-tơ-, giá trị ma trận và "khoảng" trong không gian có kích thước tùy ý
Để lấy tích phân trên một tam giác, hãy làm
import numpy as np import quadpy def f[x]: return np.sin[x[0]] * np.sin[x[1]] triangle = np.array[[[0.0, 0.0], [1.0, 0.0], [0.7, 0.5]]] # get a "good" scheme of degree 10 scheme = quadpy.t2.get_good_scheme[10] val = scheme.integrate[f, triangle]
Hầu hết các miền có
scheme.points scheme.weights scheme.degree scheme.source scheme.test_tolerance scheme.show[] scheme.integrate[ # ... ]2. Nếu bạn muốn sử dụng một lược đồ cụ thể, bạn có thể chọn một lược đồ từ từ điển
scheme.points scheme.weights scheme.degree scheme.source scheme.test_tolerance scheme.show[] scheme.integrate[ # ... ]3
Tất cả các phương án có
scheme.points scheme.weights scheme.degree scheme.source scheme.test_tolerance scheme.show[] scheme.integrate[ # ... ]
và nhiều người có
scheme.points_symbolic scheme.weights_symbolic
quadpy hoàn toàn được vector hóa, vì vậy nếu bạn muốn tính tích phân của một hàm trên nhiều miền cùng một lúc, bạn có thể cung cấp tất cả chúng trong một lệnh gọi
scheme.points scheme.weights scheme.degree scheme.source scheme.test_tolerance scheme.show[] scheme.integrate[ # ... ]4, e. g. ,________số 8
Điều tương tự cũng xảy ra với các chức năng có đầu ra được vector hóa, e. g. ,
def f[x]: return [np.sin[x[0]], np.sin[x[1]]]
Thêm ví dụ dưới test/examples_test. py
Đọc thêm về số chiều của mảng đầu vào/đầu ra trong wiki
Chủ đê nâng cao
đề án
Đoạn thẳng [C1]
Xem tại đây để biết cách tạo công thức Gauss cho các hàm trọng số của riêng bạn
Ví dụ
import numpy as np import quadpy def f[x]: return np.sin[x] - x val, err = quadpy.quad[f, 0.0, 6.0]0
Nửa không gian 1D với hàm trọng số exp[-r] [E1r]
Ví dụ
import numpy as np import quadpy def f[x]: return np.sin[x] - x val, err = quadpy.quad[f, 0.0, 6.0]1
Không gian 1D với hàm trọng số exp[-r2] [E1r2]
Ví dụ
import numpy as np import quadpy def f[x]: return np.sin[x] - x val, err = quadpy.quad[f, 0.0, 6.0]2
Vòng tròn [U2]
- Krylov [1959, mức độ tùy ý]
Ví dụ
import numpy as np import quadpy def f[x]: return np.sin[x] - x val, err = quadpy.quad[f, 0.0, 6.0]0
Tam giác [T2]
Ngoài sơ đồ trọng tâm, đỉnh và bảy điểm cổ điển, chúng ta có
Ví dụ
import numpy as np import quadpy def f[x]: return np.sin[x] - x val, err = quadpy.quad[f, 0.0, 6.0]1
Đĩa [S2]
Ví dụ
import numpy as np import quadpy def f[x]: return np.sin[x] - x val, err = quadpy.quad[f, 0.0, 6.0]2
Tứ giác [C2]
Ví dụ
import numpy as np import quadpy def f[x]: return np.sin[x] - x val, err = quadpy.quad[f, 0.0, 6.0]3
Các điểm được chỉ định trong một mảng hình dạng [2, 2,. ] sao cho
scheme.points scheme.weights scheme.degree scheme.source scheme.test_tolerance scheme.show[] scheme.integrate[ # ... ]5 ở góc dưới bên trái,
scheme.points scheme.weights scheme.degree scheme.source scheme.test_tolerance scheme.show[] scheme.integrate[ # ... ]6 ở góc trên bên phải. Nếu c2 của bạn có các cạnh thẳng hàng với các trục tọa độ, bạn có thể sử dụng chức năng tiện lợi