SciPy - Gói đặc biệt

Các chức năng có sẵn trong gói đặc biệt là các chức năng phổ quát, tuân theo phát sóng và lặp lại mảng tự động.

Hãy để chúng tôi xem xét một số chức năng đặc biệt được sử dụng thường xuyên nhất -

  • Hàm gốc khối
  • Hàm số mũ
  • Hàm số mũ lỗi tương đối
  • Log Sum Hàm lũy thừa
  • Hàm Lambert
  • Hoán vị và chức năng kết hợp
  • Hàm gamma

Bây giờ chúng ta hãy hiểu ngắn gọn từng chức năng này.

Hàm gốc khối

Cú pháp của hàm căn bậc ba này là - scipy.special.cbrt (x). Thao tác này sẽ tìm nạp gốc khối lập phương phần tử củax.

Chúng ta hãy xem xét ví dụ sau.

from scipy.special import cbrt
res = cbrt([10, 9, 0.1254, 234])
print res

Chương trình trên sẽ tạo ra kết quả sau.

[ 2.15443469 2.08008382 0.50053277 6.16224015]

Hàm số mũ

Cú pháp của hàm mũ là - scipy.special.exp10 (x). Điều này sẽ tính toán 10 ** x phần tử khôn ngoan.

Chúng ta hãy xem xét ví dụ sau.

from scipy.special import exp10
res = exp10([2, 9])
print res

Chương trình trên sẽ tạo ra kết quả sau.

[1.00000000e+02  1.00000000e+09]

Hàm số mũ lỗi tương đối

Cú pháp của hàm này là - scipy.special.exprel (x). Nó tạo ra lỗi tương đối theo cấp số nhân, (exp (x) - 1) / x.

Khi nào xgần 0, exp (x) gần 1, vì vậy phép tính số exp (x) - 1 có thể bị mất độ chính xác nghiêm trọng. Sau đó exprel (x) được triển khai để tránh mất độ chính xác, xảy ra khix gần bằng không.

Chúng ta hãy xem xét ví dụ sau.

from scipy.special import exprel
res = exprel([-0.25, -0.1, 0, 0.1, 0.25])
print res

Chương trình trên sẽ tạo ra kết quả sau.

[0.88479687 0.95162582 1.   1.05170918 1.13610167]

Log Sum Hàm lũy thừa

Cú pháp của hàm này là - scipy.special.logsumexp (x). Nó giúp tính toán nhật ký của tổng số mũ của các phần tử đầu vào.

Chúng ta hãy xem xét ví dụ sau.

from scipy.special import logsumexp
import numpy as np
a = np.arange(10)
res = logsumexp(a)
print res

Chương trình trên sẽ tạo ra kết quả sau.

9.45862974443

Hàm Lambert

Cú pháp của hàm này là - scipy.special.lambertw (x). Nó còn được gọi là hàm Lambert W. Hàm Lambert W W (z) được định nghĩa là hàm ngược của w * exp (w). Nói cách khác, giá trị của W (z) sao cho z = W (z) * exp (W (z)) với mọi số phức z.

Hàm Lambert W là một hàm đa giá trị với vô số nhánh. Mỗi nhánh đưa ra một nghiệm riêng biệt của phương trình z = w exp (w). Ở đây, các nhánh được lập chỉ mục bởi số nguyên k.

Chúng ta hãy xem xét ví dụ sau. Ở đây, hàm Lambert W là nghịch đảo của w exp (w).

from scipy.special import lambertw
w = lambertw(1)
print w
print w * np.exp(w)

Chương trình trên sẽ tạo ra kết quả sau.

(0.56714329041+0j)
(1+0j)

Hoán vị & Kết hợp

Hãy để chúng tôi thảo luận riêng về hoán vị và tổ hợp để hiểu rõ ràng về chúng.

Combinations- Cú pháp cho hàm kết hợp là - scipy.special.comb (N, k). Chúng ta hãy xem xét ví dụ sau:

from scipy.special import comb
res = comb(10, 3, exact = False,repetition=True)
print res

Chương trình trên sẽ tạo ra kết quả sau.

220.0

Note- Đối số mảng chỉ được chấp nhận đối với trường hợp chính xác = Sai. Nếu k> N, N <0 hoặc k <0, thì trả về 0.

Permutations- Cú pháp cho hàm kết hợp là - scipy.special.perm (N, k). Hoán vị của N vật lấy k tại một thời điểm, tức là k hoán vị của N. Điều này còn được gọi là "hoán vị từng phần".

Chúng ta hãy xem xét ví dụ sau.

from scipy.special import perm
res = perm(10, 3, exact = True)
print res

Chương trình trên sẽ tạo ra kết quả sau.

720

Hàm gamma

Hàm gamma thường được gọi là giai thừa tổng quát vì z * gamma (z) = gamma (z + 1) và gamma (n + 1) = n !, đối với một số tự nhiên 'n'.

Cú pháp cho hàm kết hợp là - scipy.special.gamma (x). Hoán vị của N vật lấy k tại một thời điểm, tức là k hoán vị của N. Điều này còn được gọi là "hoán vị từng phần".

Cú pháp cho hàm kết hợp là - scipy.special.gamma (x). Hoán vị của N vật lấy k tại một thời điểm, tức là k hoán vị của N. Điều này còn được gọi là "hoán vị từng phần".

from scipy.special import gamma
res = gamma([0, 0.5, 1, 5])
print res

Chương trình trên sẽ tạo ra kết quả sau.

[inf  1.77245385  1.  24.]