在Python中使用Numpy对Hermite_e系列的0轴以上进行整合

当我们使用Python中的Numpy库时,可以很方便地对Hermite_e系列进行整合。下面是详细的攻略:

1. 导入Numpy库

首先,需要在代码中导入Numpy库:

import numpy as np

2. Hermite_e函数

定义Hermite_e函数,可以使用以下代码实现:

def Hermite_e(n, x):
    """
    Compute the nth "probabilists" Hermite polynomial evaluated at x.

    Parameters
    ----------
    n : int
        Degree of the Hermite polynomial. Must be non-negative.
    x : array_like
        A scalar or array of values at which to evaluate the resulting
        polynomial.

    Returns
    -------
    H_n : ndarray
        The value(s) of the nth probabilist's Hermite polynomial at `x`.

    """
    n = np.asarray(n)
    x = np.asarray(x)
    if n.ndim != 0 or x.ndim != 0:
        n, x = np.broadcast_arrays(n, x)
    if np.any(n < 0):
        raise ValueError("Degree of Hermite polynomial must be non-negative.")
    scale = np.sqrt(np.pi)*2**n
    He_0 = 1
    if n == 0:
        return He_0
    He_1 = 2*x
    if n == 1:
        return He_1
    for k in range(1, n):
        He_kplus1 = 2*x*He_1 - 2*k*He_0
        He_0 = He_1
        He_1 = He_kplus1
    return He_1/scale

3. 使用Numpy对Hermite_e的0轴以上进行整合

使用Numpy库的sum函数可以非常方便地整合Hermite_e系列中的0轴以上部分。这里使用以下代码对Hermite_e的0轴以上进行整合:

#计算重积分 cos(x*theta)*Hermite_e(n1, np.sqrt(beta)*x)*Hermite_e(n2, np.sqrt(beta)*x)*np.exp(-0.5*beta*x**2)在区间(-inf, inf)上的值

#首先定义函数f
def f(x, n1, n2, beta, theta):
    return np.cos(x*theta) * Hermite_e(n1, np.sqrt(beta)*x) * Hermite_e(n2, np.sqrt(beta)*x) * np.exp(-0.5*beta*x**2)

#定义待计算的阶数
n1 = 2
n2 = 3
#定义beta和theta的值,这里为了方便直接赋值
beta = 1
theta = 0.3
#使用quad函数计算重积分
result, _ = quad(f, -np.inf, np.inf, args=(n1, n2, beta, theta))
print(result)

这里的示例计算了重积分 cos(x*theta)*Hermite_e(n1, np.sqrt(beta)*x)*Hermite_e(n2, np.sqrt(beta)*x)*np.exp(-0.5*beta*x**2) 在区间 (-inf, inf) 上的值。

另外一个示例是计算Hermite_e 0轴以上阶数为2至5的总和,可以使用以下代码实现:

#定义一个数组保存每个阶数的值
n_array = np.array([2, 3, 4, 5])
#定义beta和x的值,这里为了方便直接赋值
beta = 1
x = 0.5

#使用NumPy的sum函数对0轴以上进行整合求和
result = np.sum(Hermite_e(n_array, np.sqrt(beta)*x))
print(result)

这里的示例计算了Hermite_e阶数在2至5之间的总和,其中 betax 的值分别为 1 和 0.5。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:在Python中使用Numpy对Hermite_e系列的0轴以上进行整合 - Python技术站

(0)
上一篇 2023年3月25日
下一篇 2023年3月25日

相关文章

  • Python机器学习之使用Pyecharts制作可视化大屏

    下面我将详细讲解“Python机器学习之使用Pyecharts制作可视化大屏”的完整攻略。 1. 简介 Pyecharts是基于Echarts.js的一个Python数据可视化库,是一款易于使用、高性能且高度可定制的可视化构建工具。它可以轻松地将数据转化为多种图表形式,例如折线图、柱状图、散点图、地图等。在机器学习的应用中,数据可视化是十分有必要的,因为它可…

    python 2023年5月18日
    00
  • 如何使用python在maya的活动视图中显示/隐藏项目(?)?

    【问题标题】:How to show/hide items(?) in active view on maya with python?如何使用python在maya的活动视图中显示/隐藏项目(?)? 【发布时间】:2023-04-01 10:22:01 【问题描述】: 现在我知道如何隐藏活动视口上的所有 nurbs 曲线了。但是,我怎样才能同时对视口上显示…

    Python开发 2023年4月8日
    00
  • 3种python调用其他脚本的方法

    下面是“3种python调用其他脚本的方法”的完整攻略。 1. 直接调用脚本 如果当前脚本与要调用的脚本在同一目录下,可以采用直接调用脚本的方式。 # 当前脚本与要调用的脚本在同一目录下 import other_script # 调用脚本中的函数 other_script.func1() 如果要调用的脚本不在当前目录下,需要使用绝对路径或相对路径进行调用。…

    python 2023年5月31日
    00
  • Python sys模块常用方法解析

    下面详细讲解一下“Python sys模块常用方法解析”的完整攻略。 1. 简介 sys 模块是 Python 自带的一个内置模块,主要作用是使用与 Python 解释器相关的变量和功能,它提供了一系列有关 Python 运行时环境的变量和函数。 2. sys 模块的常用方法 以下是 sys 模块中常用的几个方法: 2.1 sys.argv sys.argv…

    python 2023年6月2日
    00
  • 最实用的20个python小技巧

    为了让大家更好地学习Python,本站总结了20个最实用的Python小技巧。接下来,我会对这些小技巧进行详细讲解。 1. 使用zip()函数实现多个列表的并行迭代 Python的内置函数zip()可以将多个列表并行迭代,例如: list1 = [1, 2, 3, 4] list2 = [‘a’, ‘b’, ‘c’, ‘d’] for item1, item…

    python 2023年5月13日
    00
  • Python构建区块链的方法详解

    Python构建区块链的方法详解 区块链是一种新型的分布式数据库,它可以记录数字货币交易、数字证书、智能合约等各种信息,具有去中心化、防篡改等特点。在本篇攻略中,我们将介绍如何用Python构建一条简单的区块链,包括区块的创建、区块链的连接、挖矿和验证等步骤。 区块的创建 区块是区块链中的基本构成单位,它包含了前一个区块的哈希、当前区块的哈希、时间戳、交易信…

    python 2023年6月2日
    00
  • Python实现求解最大公约数的五种方法总结

    Python实现求解最大公约数的五种方法总结 最大公约数是指两个或多个整数共有约数中最大的一个。在Python中,有多种方法可以求最大公约数。本文将介绍五种常用的方法,包括: 辗转相除法 更相减损法 穷举法 欧几里得算法 Stein算法 1. 辗转相除法 辗转相除法,也称为欧几里得算法,是求解最大公约数的一种常用方法。它的基本思想是较大的数除以较小数,然后用…

    python 2023年5月14日
    00
  • python批量赋值操作实例

    下面我来详细讲解”python批量赋值操作实例”的完整流程。首先,我们需要了解什么是批量赋值操作。 批量赋值操作指的是一次性为多个变量赋值,可以简洁高效地写出代码。在Python中,我们可以通过元组、列表、字典等多种方式实现批量赋值操作。 元组方式实现批量赋值 a, b = 1, 2 print(a) # 输出1 print(b) # 输出2 以上代码中,采…

    python 2023年6月6日
    00
合作推广
合作推广
分享本页
返回顶部