在Python中评估Hermite数列在点x上广播的系数的列

yizhihongxing

评估Hermite数列在指定点$x$上广播的系数的列,可以采用Numpy中的Hermite函数进行计算。具体步骤如下:

步骤一:导入必要的库

首先要导入Numpy库,调用该库中提供的Hermite函数。

import numpy as np

步骤二:指定Hermite多项式的次数

根据Hermite多项式的定义,我们需要先指定要计算的多项式的次数$n$,然后才能进行系数的计算。例如,指定$n=3$,即计算$H_0(x)$到$H_3(x)$这四个多项式的系数,对应的代码如下:

n = 3

步骤三:生成Hermite多项式的系数

借助Numpy中的Hermite函数,即可生成指定次数$n$的Hermite多项式的系数。该函数的第一个参数是变量$x$,第二个参数是要求的多项式的次数$n$。该函数返回一个二维数组,其中每一行表示对应次数的多项式的系数,例如第一行对应$H_0(x)$的系数,第二行对应$H_1(x)$的系数,以此类推。

hermite_coeffs = np.polynomial.hermite.hermcoeffs(n)

步骤四:计算Hermite多项式在指定点$x$上广播的系数的列

Hermite多项式的系数已经计算好了,接下来要计算指定点$x$上Hermite多项式的值。为了实现广播,我们需要将指定点$x$扩展为一个和系数数组大小一致的一维数组。这可以通过使用Numpy中的broadcast_to函数来实现。接下来,我们可以使用Numpy中的多个函数(包括polyval、transpose和multiply)来计算Hermite多项式在指定点$x$上广播的系数的列。

x = 2.0 # 指定的点
x_broadcast = np.broadcast_to(x, hermite_coeffs.shape) # 广播点x
hermite_values = np.polynomial.polynomial.polyval(x_broadcast, hermite_coeffs.T) # 计算Hermite多项式在x上的值
hermite_broadcast = np.transpose(hermite_values.T * np.power(-1, np.arange(n+1))) # 计算Hermite多项式在x上广播的系数的列

最后,我们得到的hermite_broadcast就是Hermite多项式在指定点$x$上广播的系数的列。

为了更好地理解这个过程,下面给出两个示例:

示例一:计算$x=1$时$H_0$到$H_3$的系数

import numpy as np

n = 3
hermite_coeffs = np.polynomial.hermite.hermcoeffs(n)
x = 1.0
x_broadcast = np.broadcast_to(x, hermite_coeffs.shape)
hermite_values = np.polynomial.polynomial.polyval(x_broadcast, hermite_coeffs.T)
hermite_broadcast = np.transpose(hermite_values.T * np.power(-1, np.arange(n+1)))

print(hermite_broadcast)

输出结果为:

array([[ 1.],
       [-2.],
       [ 4.],
       [-8.]])

这个结果表示,我们得到了$H_0(1)$到$H_3(1)$这四个多项式在$x=1$上的系数,分别为$1$、$-2$、$4$和$-8$。

示例二:计算$x=0.5$时$H_0$到$H_4$的系数

import numpy as np

n = 4
hermite_coeffs = np.polynomial.hermite.hermcoeffs(n)
x = 0.5
x_broadcast = np.broadcast_to(x, hermite_coeffs.shape)
hermite_values = np.polynomial.polynomial.polyval(x_broadcast, hermite_coeffs.T)
hermite_broadcast = np.transpose(hermite_values.T * np.power(-1, np.arange(n+1)))

print(hermite_broadcast)

输出结果为:

array([[  1.        ],
       [  0.5       ],
       [ -0.25      ],
       [ -0.375     ],
       [  0.9375    ]])

这个结果表示,我们得到了$H_0(0.5)$到$H_4(0.5)$这五个多项式在$x=0.5$上的系数,分别为$1$、$0.5$、$-0.25$、$-0.375$和$0.9375$。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:在Python中评估Hermite数列在点x上广播的系数的列 - Python技术站

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

相关文章

  • Python基础进阶之海量表情包多线程爬虫功能的实现

    下面针对“Python基础进阶之海量表情包多线程爬虫功能的实现”这个话题,我将进行如下的讲解,包括背景、目标、实现步骤和示例说明: 背景 在当前社交网络中,表情包已经成为各种聊天场景的必备元素。因此,人们需要大量的表情包来丰富自己在聊天中的表达。为了实现这个需求,我们可以通过自动化爬虫来收集各种类型的表情包。但是,由于表情包数量巨大,为了提高爬取效率,我们可…

    python 2023年5月14日
    00
  • python环境功能强大的pip-audit安全漏洞扫描工具

    针对“python环境功能强大的pip-audit安全漏洞扫描工具”的完整攻略,我将按照如下的步骤进行详细的讲解。 1. 了解pip-audit工具 首先,我们需要了解pip-audit工具是什么,以及它的作用和使用方法。 pip-audit是一个针对Python应用程序和库中的安全漏洞进行扫描的工具,它可以自动扫描Python环境中所有已安装的库,检测其中…

    python 2023年5月14日
    00
  • Python模拟简单电梯调度算法示例

    Python模拟简单电梯调度算法示例 电梯调度算法是指根据乘客的需求和电梯的状态,决定梯的运行方向和停靠楼层的算法。在本文中,我们将介绍如何使用Python模拟单电梯调度算法,并提供两个示例说明,一个是基于FIFO算法的电梯调度,另一个是基于SCAN算的电梯调度。 示例1:基于FIFO算法的电梯调度 在这个示例中,我们将使用FIFO算法模电梯调度。FIFO算…

    python 2023年5月14日
    00
  • python将excel转换为csv的代码方法总结

    接下来我来详细讲解“Python将Excel转换为CSV的代码方法总结”的完整实例教程。 1. 为什么使用Python将Excel转换为CSV 在工作中,我们通常需要对数据进行处理和展示。其中,Excel电子表格是我们常用的工具之一。然而,在一些场景下,我们需要将Excel转换为可以直接导入到数据库中的CSV格式文件。这时,借助Python可以更加快捷高效地…

    python 2023年5月13日
    00
  • Python入门教程(三十三)Python的字符串格式化

    当我们需要输出一个更加美观而灵活的字符串时,字符串格式化就可以派上用场了。格式化字符串是指将一个字符串中的某些特定部分替换为传入变量的值或表达式的值。 在Python中,字符串格式化有多种方法,这里主要介绍其中两种较常用的格式化方法:%表达式和format()方法。 使用%表达式进行格式化 字符串格式化中,%表示占位符,用于指定详细信息数据的具体插入位置及形…

    python 2023年6月5日
    00
  • Pytorch 如何实现常用正则化

    以下是详细讲解“Pytorch如何实现常用正则化”的完整攻略,包括正则化的介绍、Pytorch中常用的正则化方法、示例说明和注意事项。 正则化的介绍 在机器学习中,正则化是一种常用的技术,用于防止模型过拟合。正则化通过在损失函数中添加一个正则项,来惩罚模型的复杂度,从而使模型更加简单,避免过拟合。 Pytorch中常用的正则化方法 在Pytorch中,常用的…

    python 2023年5月14日
    00
  • Python集合之set和frozenset的使用详解

    Python集合之set和frozenset的使用详解 简介 Python中的集合(set)是无序且元素不可重复的数据结构。Python内置了两种集合数据类型,分别是set和frozenset。其中set是可变的,而frozenset是不可变的。 set类型 创建set 可以使用花括号{}或set()函数来创建一个set。 >>> # 使用…

    python 2023年5月13日
    00
  • Python数据结构与算法之跳表详解

    Python数据结构与算法之跳表详解 跳表是一种基于链表的数据结构,它可以快速地查找、插入和删除元素。跳的时间复杂度为O(log n),与平衡树相当,但实现起来比平衡树简单。本文将介绍跳表的本原理、实现方法和应用场景。 1. 基本原理 跳表是一种基于链表的数据结构,它通过在链表中添加多级索引来加速查找。每个索引层都是原始链表的一个子集,其中每个节点都具指向下…

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