Python构造虚数矩阵报警告ComplexWarning: Casting complex values to real discards the imaginary part

这篇具有很好参考价值的文章主要介绍了Python构造虚数矩阵报警告ComplexWarning: Casting complex values to real discards the imaginary part。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

问题描述:我在构造哈密顿矩阵时是包含复数i的,调试的时候控制台报警告,

ComplexWarning: Casting complex values to real discards the imaginary part

代码和警告如下

T0 = np.kron(s0, M*sz) + t1_*np.eye(4, k=1) + t1_*np.eye(4, k=-1)
T0[0, 2] = t2_ * np.exp(-1j * phi)
T0[2, 0] = t2_ * np.exp(1j * phi)
T0[1, 3] = t2_ * np.exp(1j * phi)
T0[3, 1] = t2_ * np.exp(1j * phi)

Python构造虚数矩阵报警告ComplexWarning: Casting complex values to real discards the imaginary part,Python,Hamiltonian,python,矩阵,numpy

具体解释就是:(将复数转换为实数丢弃虚部)这样会使我们计算的数据产生错误或者丢失。

解决方案:构造0复数矩阵

利用矩阵的可加性,我们首先构造一个等量大小的0复数矩阵,即指定矩阵类型,假设我们的T0是4X4大小的矩阵:

T0 = np.zeros((4, 4), dtype=complex)

然后用T0与上面报错的矩阵 相加,过程如下

T0 = np.zeros((4, 4), dtype=complex)
T0 = T0 + np.kron(s0, M*sz) + t1_*np.eye(4, k=1) + t1_*np.eye(4, k=-1)
T0[0, 2] = t2_ * np.exp(-1j * phi)
T0[2, 0] = t2_ * np.exp(1j * phi)
T0[1, 3] = t2_ * np.exp(1j * phi)
T0[3, 1] = t2_ * np.exp(1j * phi)

至此我们的矩阵就被Numpy自动转化为复数类型的矩阵了。文章来源地址https://www.toymoban.com/news/detail-544208.html

到了这里,关于Python构造虚数矩阵报警告ComplexWarning: Casting complex values to real discards the imaginary part的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • C++前缀和算法:构造乘积矩阵

    C++算法:前缀和基础 给你一个下标从 0 开始、大小为 n * m 的二维整数矩阵 grid ,定义一个下标从 0 开始、大小为 n * m 的的二维矩阵 p。如果满足以下条件,则称 p 为 grid 的 乘积矩阵 : 对于每个元素 p[i][j] ,它的值等于除了 grid[i][j] 外所有元素的乘积。乘积对 12345 取余数。

    2024年02月08日
    浏览(46)
  • heanauOJ 1083: 超简单的构造上三角矩阵

    题目描述  上三角形矩阵是指主对角线以下(不包含主对角线)元素全为0的矩阵。  现输入一个数字n,显然该矩阵中含有n * n个元素, 若满足上三角矩阵, 则含有(n * n + n) / 2个非0元素。  请将1 ~ (n * n + n) / 2的数字按顺序填入该上三角矩阵。  顺序:先按行, 若行相同则按列。

    2024年02月03日
    浏览(35)
  • 基于共享矩阵的线性秘密共享方案原理、构造与代码实现

      线性秘密共享方案是一种加密技术,用于将一个秘密信息分割成多个片段,并将这些片段分发给多个参与者,只有当足够数量的参与者合作时,才能还原出完整的秘密信息。   线性秘密共享方案的基本原理是使用多项式插值。假设我们有一个 (t-1) 阶的多项式,其中

    2024年04月27日
    浏览(42)
  • PUM(构造一个 N 行 M 列的数字矩阵)

    输入两个整数 N 和 M,构造一个 N 行 M 列的数字矩阵,矩阵中的数字从第一行到最后一行,按从左到右的顺序依次为 1,2,3,…,N×M1,2,3,…,N×M。 矩阵构造完成后,将每行的最后一个数字变为 PUM。 输出最终矩阵。  运行代码:

    2024年02月04日
    浏览(39)
  • C++构造无向图,邻接矩阵,深度优先遍历,广度优先遍历

    目录 定义无向图邻接矩阵 构造无向图 打印邻接矩阵 无向图邻接矩阵深度优先遍历(DFS) 无向图邻接矩阵广度优先遍历(BFS) 测试  完整代码 定义无向图邻接矩阵 构造无向图 1、输入总顶点数和总边数 2、依次输入顶点信息存入顶点表 3、 初始化邻接矩阵,使每个权值初始化

    2024年02月06日
    浏览(78)
  • Ray Casting:光线投射

    本次作业完成的是通过正交相机投影+ray casting方式渲染,得到一个场景中有若干个球形的图片,并以深度测试后直接显示色彩和简单限制深度后显示两种方式来显示。 目录 原理  结果 github连接         在不考虑二次反射和多次反射的情况下,Ray casting只需要从相机到当前画

    2024年02月15日
    浏览(37)
  • 实时光线追踪(3)Ray Casting

    目录 硬件光追(Hardware Ray Tracing) 加速结构(Acceleration Structure,AS) AS 策略 Ray Tracing Pipeline Ray Generation Shader Intersection Shader Hit Shader Ray Query 软件光追(Software Ray Tracing) Screen Space Ray Tracing Linear Ray Marching + 二分法 Failure Case Height Field Ray Tracing Voxel Tracing Voxelization Voxel Ray Mar

    2024年02月09日
    浏览(47)
  • 【LDPC-10】基于CCSDS标准的超短LDPC校验矩阵H构造与编码验证

    目录 1.基于CCSDS标准的超短LDPC校验矩阵H构造理论概述 2.matlab编程实现 3.编程验证        CCSDS(Consultative Committee for Space Data Systems)是一组国际标准,旨在为太空任务中的数据交换和通信提供一致的方法和规范。CCSDS标准由国际太空数据系统咨询委员会(CCSDS)制定和维护,广

    2024年02月15日
    浏览(49)
  • 【自动驾驶】Free space与Ray casting

    在自动驾驶领域,free space即可行驶区域,在结构化道路的十字路口/非结构化道路都有很大作用。 ray casting是计算机视觉领域,用于解决二维可视性2d vsibility问题的方法。其思想是从一个中心点,想周围发射射线ray,直到到达阻塞光线传播的墙。 相邻的角度之间构成会构成三

    2024年02月08日
    浏览(40)
  • 『OPEN3D』1.7 Ray Casting

                    ray casting(光线衍射) 和 ray tracing(光线追踪)都属于计算机图形学内的基础方法;用于对三维的实体建模和图片渲染;ray casting一词来自于General Motors Research Labs from 1978–1980;出自论文《Ray Casting for Modeling Solids》。ray casting 极大的简化了3D物体或场景到图片的

    2024年02月06日
    浏览(33)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包