上一节:

  SciPy - 特殊包

  • 简述

    特殊包中提供的功能是通用功能,遵循广播和自动数组循环。
    让我们看看一些最常用的特殊功能 -
    • 三次根函数
    • 指数函数
    • 相对误差指数函数
    • 对数和指数函数
    • 朗伯函数
    • 排列组合函数
    • 伽玛函数
    现在让我们简要了解这些功能中的每一个。

    三次根函数

    这个三次根函数的语法是 – scipy.special.cbrt(x)。这将获取元素的立方根x.
    让我们考虑下面的例子。
    
    from scipy.special import cbrt
    res = cbrt([10, 9, 0.1254, 234])
    print res
    
    上述程序将生成以下输出。
    
    [ 2.15443469 2.08008382 0.50053277 6.16224015]
    

    指数函数

    指数函数的语法是 – scipy.special.exp10(x)。这将计算 10**x 个元素。
    让我们考虑下面的例子。
    
    from scipy.special import exp10
    res = exp10([2, 9])
    print res
    
    上述程序将生成以下输出。
    
    [1.00000000e+02  1.00000000e+09]
    

    相对误差指数函数

    这个函数的语法是 – scipy.special.exprel(x)。它生成相对误差指数,(exp(x) - 1)/x。
    什么时候x接近于零,exp(x) 接近于 1,因此 exp(x) - 1 的数值计算可能会遭受灾难性的精度损失。然后实现 exprel(x) 以避免精度损失,这种损失发生在x接近于零。
    让我们考虑下面的例子。
    
    from scipy.special import exprel
    res = exprel([-0.25, -0.1, 0, 0.1, 0.25])
    print res
    
    上述程序将生成以下输出。
    
    [0.88479687 0.95162582 1.   1.05170918 1.13610167]
    

    对数和指数函数

    这个函数的语法是 – scipy.special.logsumexp(x)。它有助于计算输入元素的指数和的对数。
    让我们考虑下面的例子。
    
    from scipy.special import logsumexp
    import numpy as np
    a = np.arange(10)
    res = logsumexp(a)
    print res
    
    上述程序将生成以下输出。
    
    9.45862974443
    

    朗伯函数

    这个函数的语法是 – scipy.special.lambertw(x)。它也被称为 Lambert W 函数。Lambert W 函数 W(z) 定义为 w * exp(w) 的反函数。换句话说,对于任何复数 z,W(z) 的值使得 z = W(z) * exp(W(z))。
    Lambert W 函数是具有无限多个分支的多值函数。每个分支给出方程 z = w exp(w) 的单独解。这里,分支由整数 k 索引。
    让我们考虑下面的例子。这里,Lambert W 函数是 w exp(w) 的倒数。
    
    from scipy.special import lambertw
    w = lambertw(1)
    print w
    print w * np.exp(w)
    
    上述程序将生成以下输出。
    
    (0.56714329041+0j)
    (1+0j)
    

    排列组合

    让我们分别讨论排列和组合,以便清楚地理解它们。
    Combinations− 组合函数的语法是 – scipy.special.comb(N,k)。让我们考虑以下示例 -
    
    from scipy.special import comb
    res = comb(10, 3, exact = False,repetition=True)
    print res
    
    上述程序将生成以下输出。
    
    220.0
    
    Note− 数组参数仅在exact = False 的情况下被接受。如果 k > N、N < 0 或 k < 0,则返回 0。
    Permutations− 组合函数的语法是 – scipy.special.perm(N,k)。N个事物的排列一次取k个,即N的k个排列。这也称为“部分排列”。
    让我们考虑下面的例子。
    
    from scipy.special import perm
    res = perm(10, 3, exact = True)
    print res
    
    上述程序将生成以下输出。
    
    720
    

    伽玛函数

    gamma 函数通常被称为广义阶乘,因为 z*gamma(z) = gamma(z+1) 和 gamma(n+1) = n!,对于自然数“n”。
    组合函数的语法是 – scipy.special.gamma(x)。N个事物的排列一次取k个,即N的k个排列。这也称为“部分排列”。
    组合函数的语法是 – scipy.special.gamma(x)。N个事物的排列一次取k个,即N的k个排列。这也称为“部分排列”。
    
    from scipy.special import gamma
    res = gamma([0, 0.5, 1, 5])
    print res
    
    上述程序将生成以下输出。
    
    [inf  1.77245385  1.  24.]
    
上一节: