指向未来: 量子纠缠的本质是一个指针

指向未来: 量子纠缠的本质是一个指针

  • 概述
  • 基本概念
  • 理解量子纠缠
    • Python
    • Java
    • C++
  • 理解波粒二象性
    • Python
    • Java
    • C++
  • 理解量子隧穿
  • 理解宇宙常量
    • Python
    • Java
    • C++

概述

量子纠缠 (Quantum Entanglement) 是量子系统重两个或多个粒子间的一种特殊连接, 这种连接使得即使相隔很远, 这些粒子的状态也仍然互相依赖.
量子纠缠

基本概念

在探讨量子纠缠之前, 我们先阐述量子比特 (Qubit)的基本概念. 位 (Bit) 是信息的基本单位, 可以处于 0 或 1 的状态. 而量子比特可以同时处于 0 和 1 的叠加态. 即在同时 True 或 False 一个确定的状态, 直到被观测. 量子比特的特性包含叠加和纠缠, 叠加允许量子比特同时存在于多种可能的状态中. 对一个纠缠量子比特的观测会影响与它纠缠的另一个两字比特的状态, 无论两个两字比特相距多远.

理解量子纠缠

两个变相共享一个指针时, 当一个量子态改变时, 另一个量子态也会随着改变, 不管相隔多远.
在我们所处的 “游戏” 中, 物理空间的限制 (距离) 并不会影响指针, 在我们看来就是类似超光速的方式传递.

指针

Python

class QuantumBitdef __init__(self, state)self.state = state# 创建量子比特变量
qubit1 = QuantumBit(False)
qubit2 = qubit1print(id(qubit1), id(qubit2))  # 内存地址相同 (指针)
print(qubit1.state, qubit2.state)  # 调试输出# 修改量子比特 2 的状态, 1 随着修改
qubit2.state = True
print(qubit1.state, qubit2.state)  # 调试输出

输出结果

1795703080464 1795703080464
False False
True True

Java

public class QuantumBit {boolean state;public QuantumBit(boolean state) {this.state = state;}public static void main(String[] args) {QuantumBit qubit1 = new QuantumBit(false);QuantumBit qubit2 = qubit1;System.out.println(System.identityHashCode(qubit1) + " " + System.identityHashCode(qubit2));  // 内存地址System.out.println(qubit1.state + " " + qubit2.state);  // 调试输出// 修改量子比特 2 的状态, 1 随着修改qubit2.state = true;System.out.println(qubit1.state + " " + qubit2.state);  // 调试输出}
}

输出结果:

225534817 225534817
false false
true true

C++

#include <iostream>class QuantumBit {public:bool state;QuantumBit(bool initState) : state(initState) {}
};int main() {QuantumBit* qubit1 = new QuantumBit(false);QuantumBit* qubit2 = qubit1;std::cout << qubit1 << " " << qubit2 << std::endl;  // 内存地址std::cout << qubit1->state << " " << qubit2->state << std::endl;  // 调试输出// 修改量子比特 2 的状态, 1 随着修改qubit2->state = true;std::cout << qubit1->state << " " << qubit2->state << std::endl;  // 调试输出delete qubit1;  // 清理内存// 不需要 delete qubit2, 内存地址相同return 0;
}

输出结果:

0x54de70 0x54de70
0 0
1 1

理解波粒二象性

同理当我们观测光是粒子还是波的时候, 我们的观测就是在 “游戏” 中调用一次函数, 这就会改变指针的状态, 从而导致量子纠缠的改变或解除 (塌缩).

光既不是粒子也不是波, 拥有绝对速度所以可能呈现为粒子或波, 取决于我们怎么调用函数. 为了避免我们这个 “游戏” 吃过多的算力, 所以没有观测的时候就不需要加载, 观测了才加载.

Python

import randomclass QuantumObject:def __init__(self):# 初始状态为 None,表示既是波也是粒子 (叠加态)self.state = Nonedef observe(self):# 观测时随机决定对象表现为波或粒子self.state = random.choice(['wave', 'particle'])return self.state# 创建一个量子对象
quantum_object = QuantumObject()# 模拟观测过程
for _ in range(10):result = quantum_object.observe()print(result)

输出结果:

particle
wave
particle
wave
wave
particle
particle
particle
wave
wave

Java

import java.util.Random;class QuantumObject {private String state;public QuantumObject() {// 初始状态为 null,表示既是波也是粒子 (叠加态)this.state = null;}public String observe() {// 观测时随机决定对象表现为波或粒子Random random = new Random();this.state = random.nextBoolean() ? "wave" : "particle";return this.state;}
}public class Main {public static void main(String[] args) {QuantumObject quantumObject = new QuantumObject();// 模拟观测过程for (int i = 0; i < 10; i++) {String result = quantumObject.observe();System.out.println(result);}}
}

输出结果:

标准输出:particle
wave
particle
particle
wave
wave
wave
particle
wave
wave

C++

#include <iostream>
#include <cstdlib>
#include <ctime>class QuantumObject {std::string state;public:QuantumObject() : state("") {}std::string observe() {// 观测时随机决定对象表现为波或粒子state = (rand() % 2 == 0) ? "wave" : "particle";return state;}
};int main() {srand(time(0));  // 初始化随机数生成器QuantumObject quantumObject;// 模拟观测过程for (int i = 0; i < 10; i++) {std::string result = quantumObject.observe();std::cout << result << std::endl;}return 0;
}

输出结果:

particle
wave
particle
wave
wave
particle
wave
particle
wave
particle

理解量子隧穿

当粒子通过量子势垒时, 正常来说是过不去的. 但是如果粒子是一个函数 (Function), 代表粒子的就是一个函数指针, 量子势垒是一个调度器. 之所以量子无法穿过势垒, 是应该进入势垒后指针发生了偏移. 当我们看到接触势垒被弹回来的粒子, 我们看到的是该粒子的指针, 但是不是原来的例子所指的函数对象了.

量子隧穿

import randomdef particle_function():return "原始粒子"def altered_function():return "改变后的粒子"def quantum_barrier(particle):if random.random() < 0.5:  # 假设有 50% 概率粒子指针发生偏移return altered_functionelse:return particlefor _ in range(10):# 创建粒子函数指针particle_ptr = particle_function# 模拟粒子接触量子势垒particle_ptr = quantum_barrier(particle_ptr)# 输出粒子状态print(particle_ptr())

输出结果:

原始粒子
原始粒子
改变后的粒子
改变后的粒子
改变后的粒子
改变后的粒子
改变后的粒子
原始粒子
改变后的粒子
改变后的粒子

理解宇宙常量

为了避免我们这个 “游戏” 产生内存溢出或者消号过多算力, 所以我们需要一些常量 (Constant) 来进行限速.

速度越快时间越慢, 为了避免游戏崩溃, 对于消耗过多算力的函数, 游戏回尽可能少的调用, 放慢时钟. 在物理上就会导师时间间隔变长.

Python

# 光速, 单位: 米 / 秒
SPEED_OF_LIGHT = 299792458# 普朗克常量, 单位: 焦耳·秒
PLANCK_CONSTANT = 6.62607015e-34# 万有引力常数, 单位: 牛顿·平方米 / 平方千克
GRAVITATIONAL_CONSTANT = 6.67430e-11# 玻尔兹曼常量, 单位: 焦耳 / 开尔文
BOLTZMANN_CONSTANT = 1.380649e-23# 阿伏伽德罗常数, 单位: 1 / 摩尔
AVOGADRO_CONSTANT = 6.02214076e23# 电子电荷, 单位: 库仑
ELEMENTARY_CHARGE = 1.602176634e-19# 真空磁导率, 单位: 特斯拉·米 / 安培
VACUUM_PERMEABILITY = 4 * 3.14159265358979323846e-7# 真空电容率, 单位: 法拉 / 米
VACUUM_PERMITTIVITY = 8.854187817e-12# 标准大气压, 单位: 帕斯卡
STANDARD_ATMOSPHERE = 101325# 斯特藩-玻尔兹曼常数, 单位: 瓦特 / 平方米·开尔文^4
STEFAN_BOLTZMANN_CONSTANT = 5.670374419e-8

Java

// 光速, 单位: 米 / 秒public static final double SPEED_OF_LIGHT = 299792458;// 普朗克常量, 单位: 焦耳·秒public static final double PLANCK_CONSTANT = 6.62607015e-34;// 万有引力常数, 单位: 牛顿·平方米 / 平方千克public static final double GRAVITATIONAL_CONSTANT = 6.67430e-11;// 玻尔兹曼常量, 单位: 焦耳 / 开尔文public static final double BOLTZMANN_CONSTANT = 1.380649e-23;// 阿伏伽德罗常数, 单位: 1 / 摩尔public static final double AVOGADRO_CONSTANT = 6.02214076e23;// 电子电荷, 单位: 库仑public static final double ELEMENTARY_CHARGE = 1.602176634e-19;// 真空磁导率, 单位: 特斯拉·米 / 安培public static final double VACUUM_PERMEABILITY = 4 * Math.PI * 1e-7;// 真空电容率, 单位: 法拉 / 米public static final double VACUUM_PERMITTIVITY = 8.854187817e-12;// 标准大气压, 单位: 帕斯卡public static final int STANDARD_ATMOSPHERE = 101325;// 斯特藩-玻尔兹曼常数, 单位: 瓦特 / 平方米·开尔文^4public static final double STEFAN_BOLTZMANN_CONSTANT = 5.670374419e-8;

C++

// 阿伏伽德罗常数, 单位: 1 / 摩尔
static constexpr double AVOGADRO_CONSTANT = 6.02214076e23;// 电子电荷, 单位: 库仑
static constexpr double ELEMENTARY_CHARGE = 1.602176634e-19;// 真空磁导率, 单位: 特斯拉·米 / 安培
static constexpr double VACUUM_PERMEABILITY = 4 * 3.14159265358979323846e-7;// 真空电容率, 单位: 法拉 / 米
static constexpr double VACUUM_PERMITTIVITY = 8.854187817e-12;// 标准大气压, 单位: 帕斯卡
static constexpr int STANDARD_ATMOSPHERE = 101325;// 斯特藩-玻尔兹曼常数, 单位: 瓦特 / 平方米·开尔文^4
static constexpr double STEFAN_BOLTZMANN_CONSTANT = 5.670374419e-8;

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/631293.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

1. SpringBoot3 基础

文章目录 1. SpringBoot 概述2. SpringBoot 入门3. SpringBoot 配置文件3.1 SpringBoot 配置文件基本使用3.2 yml 配置文件 4. SpringBoot 整合 Mybatis5. Bean 管理5.1 Bean 扫描5.2 Bean 注册5.3 注册条件 6. 组合注解7. 自动配置原理8. 自定义 Starter 1. SpringBoot 概述 …

力扣hot100 完全平方数 完全背包 滚动数组 四平方和定理

Problem: 279. 完全平方数 文章目录 思路&#x1f496; 完全背包&#x1f496; 滚动数组优化&#x1f496; 四平方和定理 思路 &#x1f468;‍&#x1f3eb; 三叶神解 &#x1f468;‍&#x1f3eb; 数学解法 &#x1f496; 完全背包 ⏰ 时间复杂度: O ( n 2 n ) O(n^2 …

072:vue+mapbox 点击某图层feature,高亮这部分

第072个 点击查看专栏目录 本示例是介绍如何在vue+mapbox中点击某图层feature,高亮这部分。思路是通过点击,获取点击部分的feature信息,生成一个新的source和layer,如果这个图层不为空,则清除之,相当于点击了别的地方,原有的高亮会删除掉,在别的地方高亮。 直接复制下…

探寻编码时代的潮流旋律

&#x1f6a9;本文介绍 随着技术的不断演进&#xff0c;编程语言作为软件开发的基石也在不断发展。作为一名扎根运维领域的工程师&#xff0c;我深感了解和把握编程语言的新趋势对于个人职业发展至关重要。在这篇博客中&#xff0c;我们将深入探讨当前编程语言领域的最新动态&…

VMware虚拟机自定义网段及物理机ping不通虚拟机问题解决

Vmware网络介绍&#x1f6dc; VMware虚拟机提供了几种网络模式&#xff0c;其中包括桥接模式&#xff08;Bridged Mode&#xff09;、NAT模式&#xff08;Network Address Translation Mode&#xff09;和仅主机模式&#xff08;Host-Only Mode&#xff09;。这些模式允许虚拟…

Android应用开发:基础小游戏开发

手机游戏成为人们日常娱乐的重要组成部分。如果您想踏入这个充满创意和技术挑战的领域&#xff0c;制作一个Android基础小游戏是个不错的开始。以下是从零开始制作Android小游戏的基础指南。 1选择开发环境和工具 Android Studio 是官方推荐的开发环境&#xff0c;它提供了强大…

《2023大数据产业年度创新技术突破》榜重磅发布丨第六届金猿奖

‍ 第六届年度金猿榜单/奖项 “第六届年度金猿季策划活动——2023大数据产业创新技术突破榜单/奖项”由金猿X数据猿X上海大数据联盟共同推出。 大数据产业创新服务媒体 ——聚焦数据 改变商业 第六届 “年度金猿季大型主题策划活动”由金猿、数据猿、上海大数据联盟共同组成的…

【playwright】新一代自动化测试神器playwright+python系列课程18_playwritht元素相关操作_等待元素到某种状态

元素相关操作_等待元素到某种状态 对于自动化测试来说&#xff0c;本质上就是定位元素、操作元素。网页上的元素有不同状态&#xff0c;有些元素本来不在网页的DOM中&#xff0c;经过某一步操作后才出现。有些元素是本来就已经在DOM中但是是隐藏的状态&#xff0c;经过某一步操…

JVM知识总结

1.概述 JVM指的是Java虚拟机&#xff0c;本质上是一个运行在计算机上的程序&#xff0c;他的职责是运行Java字节码文件&#xff0c;作用是为了支持跨平台特性。 功能&#xff1a; 装载字节码&#xff0c;解释/编译为机器码 管理数据存储和垃圾回收 优化热点代码提升效率 …

uniapp中uview组件库的NoticeBar 滚动通知 使用方法

目录 #平台差异说明 #基本使用 #配置主题 #配置图标 #配置滚动速度 #控制滚动的开始和暂停 #事件回调 #API #Props #Events 该组件用于滚动通告场景&#xff0c;有多种模式可供选择 #平台差异说明 AppH5微信小程序支付宝小程序百度小程序头条小程序QQ小程序√√√√…

C++初入(四)

1.万能头文件 #include <bits/stdc.h> 里面包含了大量我们日常所需的头文件&#xff0c;如果使用它&#xff0c;我们就可以减少大量时间去写头文件&#xff0c;但是其实在平常练习和实际运用中&#xff0c;该头文件几乎没有实际价值&#xff0c;原因&#xff1a;1.里面…

web蓝桥杯真题--8、和手机相处的时光

介绍 现在都提倡健康使用手机&#xff0c;那么统计一下在一周中每天使用手机的情况吧&#xff01;本题使用 ECharts 实现统计手机使用时长的折线图&#xff0c;但是代码中存在 Bug 需要你去修复。 准备 开始答题前&#xff0c;需要先打开本题的项目代码文件夹&#xff0c;目…

Windows NT 3.5源代码已编译!

2020年5月&#xff0c;Windows NT 3.5 build 782源代码被泄露。然而&#xff0c;它缺少很多文件&#xff0c;包括编译器、链接器、头文件等。大多数这些工具都可以从 Windows NT 3.5 的 SDK 和 DDK 中应用&#xff08;您也可以临时处理 NT 3.51 的 DDK 文件&#xff0c;但之后根…

【Filament】材质系统

1 前言 本文主要介绍 Filament 的材质系统&#xff0c;官方介绍详见 → Filament Materials Guide。材质系统中会涉及到一些空间和变换的知识点&#xff0c;可以参考&#xff1a;【Unity3D】空间和变换、【Unity3D】Shader常量、变量、结构体、函数、【OpenGL ES】MVP矩阵变换、…

Nsis打包Unity Exe文件(通用)

Nsi 脚本 !include "MUI2.nsh"#使用现代UI Unicode true #使用Unicode !define EXENAME "exeName" #定义常量 exe名称 !define SHORTCUT "快捷方式名称" #定义桌面快捷方式的中文名称Name ${EXENAME} #安装程序的title OutFile "${EXENAME…

react-app框架——使用monaco editor实现online编辑html代码编辑器

文章目录 ⭐前言&#x1f496;react系列文章 ⭐配置monaco-editor&#x1f496;引入react-monaco-editor&#x1f496;引入react-app-rewired&#x1f496;通过config-overrides.js添加monaco插件配置 ⭐编辑代码的react页面配置&#x1f496;扩展 可自定义配置语言 ⭐效果⭐总…

Salesforce生成式AI聊天机器人「Einstein Copilot」,将于2月发布!

Spring 24宣布&#xff0c;期待已久的Einstein Copilot将于2024年2月落地Salesforce。该生成式AI聊天机器人将用于整个Salesforce产品套件&#xff0c;帮助企业做出更明智的决策&#xff0c;从而改善客户体验。 Einstein Copilot应用于CRM应用程序中&#xff0c;智能回应任何用…

.net core 6 使用注解自动注入实例,无需构造注入 autowrite4net

像java使用autowrite一样使用 1、前提先注册到ioc容器当中 builder.Services.AddScoped 2、nuget引入AutoWrite4Net 3、启用 //启用自动注入 app.UseAutoWrite(); 4、在类上使用注解 [StartAutoWrite] public class NacosController : ControllerBase 5、实例上使用注解 …

2.mac 安装 Visual studio code 整合go开发

目录 概述前置下载关键命令整合C#go配置go插件常见的go工具安装测试 结束 概述 mac 安装 Visual studio code 整合go开发 相关前置文章 go安装及相关配置 文章 前置 官网速递 mac 系统高于等于 10.15.x 可以直接最新版本 我的系统是 10.13 &#xff0c;所以只能安装此版本…

Kubernetes网络模型概述

Kubernetes网络模型设计的一个基础原则是&#xff1a;每个Pod都拥有一个独立的IP地址&#xff0c;并假定所有Pod都在一个可以直接连通的、扁平的网络空间中。所以不管这些Pod是否运行在同一个Node中&#xff0c;都要求它们可以直接通过对方的IP进行访问。由于Kubernetes的网络模…