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

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

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

概述

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

基本概念

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

理解量子纠缠

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

指针

Python

class QuantumBit
    def __init__(self, state)
        self.state = state

# 创建量子比特变量
qubit1 = QuantumBit(False)
qubit2 = qubit1

print(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 random

class QuantumObject:
    def __init__(self):
        # 初始状态为 None,表示既是波也是粒子 (叠加态)
        self.state = None

    def 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 random

def particle_function():
    return "原始粒子"

def altered_function():
    return "改变后的粒子"

def quantum_barrier(particle):
    if random.random() < 0.5:  # 假设有 50% 概率粒子指针发生偏移
        return altered_function
    else:
        return particle


for _ 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;

    // 斯特藩-玻尔兹曼常数, 单位: 瓦特 / 平方米·开尔文^4
    public 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;

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Git怎么将文件夹上传至github,全过程

小白建议参考github文件上传全流程-新手入门系列&#xff08;超详细&#xff01;&#xff01;&#xff01;&#xff09; 中间可能会有报错 $ ssh -T gitgithub.com ssh: connect to host github.com port 22: Connection timed out 这时&#xff0c;参考&#xff0c;如何解决&a…

视频美颜SDK技术解析与技术对比

当下&#xff0c;各类应用和服务纷纷采用视频美颜SDK&#xff0c;以提供更加令人满意的视觉效果。本文将深入探讨视频美颜SDK的技术原理&#xff0c;同时对比不同SDK的特性&#xff0c;为开发者和决策者提供全面的技术参考。 一、技术原理解析 1.图像处理基础 视频美颜SDK基…

模具制造企业ERP系统有哪些?企业怎么选型适配的软件

模具的生产管理过程比较繁琐&#xff0c;涵盖接单报价、车间排期、班组负荷评估、库存盘点、材料采购、供应商选择、工艺流转、品质检验等诸多环节。 有些采用传统管理手段的模具制造企业存在各业务数据传递不畅、信息滞后、不能及时掌握订单和车间生产情况&#xff0c;难以对…

阿里云云原生助力安永创新驱动力实践探索

云原生正在成为新质生产力变革的核心要素和企业创新的数字基础设施。2023 年 12 月 1 日&#xff0c;由中国信通院举办的“2023 云原生产业大会”在北京召开。在大会“阿里云云原生”专场&#xff0c;安永科技咨询合伙人王祺分享了对云原生市场的总览及趋势洞见&#xff0c;及安…

Unity之四元数

欧拉角 万向节死锁 四元数是什么 Unity中四元数的初始化 四元数和欧拉角的互相转换 补充 四元数相乘代表旋转四元数

基于SpringBoot的民宿预定管理系统 JAVA简易版

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 用例设计2.2 功能设计2.2.1 租客角色2.2.2 房主角色2.2.3 系统管理员角色 三、系统展示四、核心代码4.1 查询民宿4.2 新增民宿4.3 新增民宿评价4.4 查询留言4.5 新增民宿订单 五、免责说明 一、摘要 1.1 项目介绍 基于…

6款文章改写神器免费修改文章效果好

文章写作对于很多人来说&#xff0c;写作并不是一件轻松的事情。尤其是在需要频繁产出大量文章的时候&#xff0c;如何保持文章的原创性和质量就成了一个挑战。但是方法还是有的&#xff0c;如今许多免费的文章改写神器可以通过改写文章的方式生成全新的原创文章&#xff0c;从…

MyBatis-Plus的进阶:乐观锁和悲观锁、逻辑删除、分页和查询构造器

目录 1.乐观锁和悲观锁 1.1.什么是乐观锁和悲观锁 1.2.乐观锁和悲观锁的区别 1.3.综合案例 2.逻辑删除 2.1.什么是逻辑删除 2.2.为什么使用逻辑删除 2.3.综合案例 2.3.1.官方提示 2.3.2.配置方式 2.3.3.案例演示 3.分页和查询构造器 3.1.查询构造器 3.2.分页 1.乐…

YOLOv5改进 | 检测头篇 | 利用DynamicHead增加辅助检测头进行针对性检测(让小目标无所遁形)

一、本文介绍 本文给大家带来的改进机制是针对性的改进,针对于小目标检测增加P2层,利用DynamicHead(原版本一比一复现,全网独一份,不同于网上魔改版本)进行检测,其中我们增加P2层其拥有更高的分辨率,这使得模型能够更好地捕捉到小尺寸目标的细节。在这些的基础上配合Dyn…

一、Flask学习之HTML

一、Flask学习之HTML 1.运行简单页面 首先需要搭建环境&#xff1a; pip install flaskfrom flask import Flaskapp Flask(__name__)# 创建了网址 /show/info 和函数index之间的对应关系&#xff0c;以后用户在浏览器上访问/show/info&#xff0c;网站自动执行index函数 ap…

npm超详细安装(包括配置环境变量)!!!npm安装教程(node.js安装教程)

安装node.js:(建议选择相对低一点的版本&#xff0c;相对稳定)​下载完成直接点击next即可(安装过程中会直接添加path的系统变量&#xff0c;变量值是自己的安装路径&#xff0c;可自行选择&#xff0c;比如&#xff1a;D:\software\)​安装完成:winR打开电脑控制台&#xff0c…

python依赖安装、执行、打包

python依赖安装、执行、编译打包 本文介绍python项目的依赖安装、执行、以及使用pyinstaller编译打包成可执行文件的命令。 python项目执行部署有两种方式&#xff0c;具体步骤&#xff1a; 一、python环境安装 --> 安装pip --> 依赖包安装 --> 执行python程序 二、使…

操作系统课程设计-Linux 进程间通信

目录 前言 1 实验题目 2 实验目的 3 实验内容 3.1 步骤 3.2 关键代码 3.2.1 Server和Client的创建 3.2.2 Server核心代码 3.2.3 Server核心代码 4 实验结果与分析 5 代码 前言 本实验为课设内容&#xff0c;博客内容为部分报告内容&#xff0c;仅为大家提供参考&…

如何在CentOS下使用Docker部署Halo博客网站并结合内网穿透远程访问

文章目录 ⛳️ 推荐1. Docker部署Halo1.1 检查Docker版本如果未安装Docker可参考已安装Docker步骤&#xff1a;1.2 在Docker中部署Halo 2. Linux安装Cpolar2.1 打开服务器防火墙2.2 安装cpolar内网穿透 3. 配置Halo个人博客公网地址4. 固定Halo公网地址 ⛳️ 推荐 前些天发现了…

关于LIN总线,同步间隔段最大时间及各种间隔符最大时间的解释,与说明

1&#xff1a;LIN同步间隔段的最小长度 如果问&#xff01;LIN同步间隔段的最小长度&#xff1f;大多数同学会一口答出">13bit位的显性位" 那如果问&#xff01;最大长度是多少&#xff1f; 则很少有同学会会突然懵逼&#xff01; 资料上给出的答案&#xff0…

2024杭州国际智慧城市,人工智能,安防展览会(杭州智博会)

在智能化浪潮的冲击下&#xff0c;我们的生活与环境正在经历一场深刻的变革。这是一场前所未有的技术革命&#xff0c;它以前所未有的速度和广度&#xff0c;改变着我们的生活方式、工作方式、思维方式和社会结构。在这场变革中&#xff0c;有的人选择激流勇进&#xff0c;拥抱…

JDBC概述和使用详解

文章目录 JDBC如何使用JDBC?Java 操作 数据库 JDBC 概述&#xff1a;Java Database Connectivity , Java数据库连接&#xff0c;通过Java语言操作数据库JDBC本质&#xff1a;官方定义的一套操作所有关系型数据库的规则&#xff0c;即接口。 各个数据库厂商去实现这套接口&…

pl/sql程序块的使用

-- Created on 2024-01-15 by ADMINISTRATOR declare -- Local variables hererecord_tablename varchar2(100);---test_record表名record_StartNo integer(19);---test_record开始编号temp_No integer(19);maxnbbh integer(19);nCnt integer : 20;fi…

安卓开发-day

一、安卓项目结构 1、manifests文件夹 Android系统配置文件夹&#xff0c;包含一个AndroidManifest.xml文件&#xff1b; AndroidMainifest.xml文件是每个android项目必须要包含的文件&#xff08;项目唯一&#xff09;&#xff0c;创建项目时默认就会生成这个文件&#xff0…

RDMA Send Receive操作详解

1. 前言 RDMA指的是远程直接内存访问&#xff0c;这是一种通过网络在两个应用程序之间搬运缓冲区里的数据的方法。RDMA与传统的网络接口不同&#xff0c;因为它绕过了操作系统。这允许实现了RDMA的程序具有如下特点&#xff1a; 绝对的最低时延 最高的吞吐量 最小的CPU足迹 &a…