【AI | pytorch】torch.polar的使用

一、torch.polar的使用

torch.polar 是 PyTorch 中用来生成复数张量的一个函数,但它与数学中的复数表达式 ( z = re^{i\theta} ) 是等价的。

具体来说,torch.polar(abs, angle) 接受两个实数张量参数:

  • abs:表示复数的模长(绝对值)。
  • angle:表示复数的相角(以弧度为单位)。

函数的返回值是一个复数张量 ( z ),其中每个元素的值为:

[
z = \text{abs} \cdot e^{i \cdot \text{angle}}
]

这符合复数的极坐标形式,实际上就是将给定的模和角转化为复数的笛卡尔坐标形式 ( z = x + yi ),其中:

[
x = \text{abs} \cdot \cos(\text{angle})
]
[
y = \text{abs} \cdot \sin(\text{angle})
]
在这里插入图片描述

示例

import torch

# 模和角
abs_tensor = torch.tensor([1.0, 2.0, 3.0])
angle_tensor = torch.tensor([0.0, 3.1415926 / 2, 3.1415926])  # 0, π/2, π

# 使用 torch.polar 生成复数
complex_tensor = torch.polar(abs_tensor, angle_tensor)

print(complex_tensor)
# 输出: tensor([ 1.0000e+00+0.0000e+00j,  1.2246e-16+2.0000e+00j, -3.0000e+00+3.6739e-16j])

从结果可以看出:

  • 对于 ( \theta = 0 ),复数是 ( 1+0j )。
  • 对于 ( \theta = \pi/2 ),复数是 ( 0+2j )。
  • 对于 ( \theta = \pi ),复数是 ( -3+0j )。

因此,torch.polar 是 PyTorch 中基于极坐标生成复数的一种实现,但其底层是通过欧拉公式 ( e^{i\theta} = \cos(\theta) + i\sin(\theta) ) 转化到复数的。
在这里插入图片描述

二、欧拉公式

数学中,复数的欧拉公式(Euler’s formula)定义了一个非常重要的关系:

[
e^{i\theta} = \cos\theta + i\sin\theta
]

其中:

  • ( \theta ) 是实数,表示角度,通常以弧度为单位。
  • ( \cos\theta ) 是角度 ( \theta ) 的余弦值。
  • ( \sin\theta ) 是角度 ( \theta ) 的正弦值。
  • ( i ) 是虚数单位,满足 ( i^2 = -1 )。

欧拉公式通过将指数函数 ( e^{i\theta} ) 和三角函数 ( \cos ) 与 ( \sin ) 联系起来,揭示了复数、三角学和指数运算之间的深刻关系。

特殊情况

欧拉公式在某些特定角度 ( \theta ) 下具有有趣的结果:

  1. 当 ( \theta = 0 ):
    [
    e^{i\cdot0} = \cos(0) + i\sin(0) = 1 + 0i = 1
    ]

  2. 当 ( \theta = \pi ):
    [
    e^{i\pi} = \cos(\pi) + i\sin(\pi) = -1 + 0i = -1
    ]

  3. 当 ( \theta = \frac{\pi}{2} ):
    [
    e^{i\frac{\pi}{2}} = \cos\left(\frac{\pi}{2}\right) + i\sin\left(\frac{\pi}{2}\right) = 0 + i = i
    ]

  4. 当 ( \theta = 2\pi ):
    [
    e^{i\cdot2\pi} = \cos(2\pi) + i\sin(2\pi) = 1 + 0i = 1
    ]
    在这里插入图片描述

复数表示

通过欧拉公式,复数 ( z ) 可以以极坐标的形式表示为:
[
z = re^{i\theta}
]
其中:

  • ( r ) 是复数的模,表示复数到原点的距离。
  • ( \theta ) 是复数的相角,表示复数与正实轴之间的角度。

这表明复数的表示可以分为模长角度两个部分。

总结

欧拉公式 ( e^{i\theta} = \cos\theta + i\sin\theta ) 是复数理论和数学分析中的一个重要公式,它将指数函数和三角函数联系在一起,广泛应用于物理学、工程学和计算机科学等领域。

在这里插入图片描述

数学复数

数学中的复数是由一个实数部分和一个虚数部分组成的数,通常表示为:

[
z = a + bi
]

其中:

  • ( a ) 是实数部分 (( \text{Re}(z) ));
  • ( b ) 是虚数部分的系数 (( \text{Im}(z) ));
  • ( i ) 是虚数单位,满足 ( i^2 = -1 )。

复数的几何表示

复数可以在复平面上表示为一个点或向量:

  • 横坐标为实部 ( a );
  • 纵坐标为虚部 ( b )。

复数也可以用极坐标形式表示为:

[
z = r (\cos \theta + i \sin \theta)
]

或者用欧拉公式简化为:

[
z = r e^{i\theta}
]

其中:

  • ( r = |z| = \sqrt{a^2 + b^2} ) 是复数的模;
  • ( \theta = \arg(z) = \tan^{-1}\left(\frac{b}{a}\right) ) 是复数的辐角(以弧度表示)。

复数形式在数学、物理和工程学中有广泛的应用,尤其是在处理波动、信号分析和电路等领域。

在这里插入图片描述

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

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

相关文章

LeetCode 110.平衡二叉树

题目描述 给定一个二叉树,判断它是否是平衡二叉树。 示例 1: 示例 2: 输入:root [1,2,2,3,3,null,null,4,4] 输出:false 示例 3: 输入:root [] 输出:true 提示: …

数据结构(Java版)第四期:ArrayLIst和顺序表(上)

目录 一、顺序表 1.1. 接口的实现 二、ArrayList简介 2.1. ArrayList的构造 2.2. ArrayList的常见操作 2.3. ArrayList的扩容机制 三、ArrayList的具体使用 3.1. 洗牌算法 3.2. 杨辉三角 一、顺序表 上一期我们讲到过,顺序表本质上和数组是差不多的&#…

阿里云 Serverless 助力盟主直播:高并发下的稳定性和成本优化

在直播场景中,阿里云 Serverless 应用引擎 SAE 提供的无缝弹性伸缩与极速部署能力,确保直播间高并发时的流畅体验,降低了我们的运营成本,简化了运维流程。结合阿里云云原生数据库 PolarDB 的 Serverless 能力,实现了数…

【机器学习实战入门】基于深度学习的乳腺癌分类

什么是深度学习? 作为对机器学习的一种深入方法,深度学习受到了人类大脑和其生物神经网络的启发。它包括深层神经网络、递归神经网络、卷积神经网络和深度信念网络等架构,这些架构由多层组成,数据必须通过这些层才能最终产生输出。…

Qt之QDjango-db的简单使用

QDjango是一款由C编写、依托于Qt库的Web开发框架,其设计理念受到了广受欢迎的Python框架Django的影响。这个项目旨在提供一个高效、灵活且易于使用的工具集,帮助开发者构建高质量的Web应用。其项目地址: https://gitcode.com/gh_mirrors/qd/qdjango&…

[2025分类时序异常检测指标R-AUC与VUS]

梳理了一下分类中常见的指标,这些指标与时序异常检测中新提出的A-RUC与VUS之间的关系 真正例(True Positive,TP): 被正确识别为正样本的数量。真负例(True Negative,TN): 被正确识别为负样本的数量。假正例(False Positive ,FP): 被错误识为正样本数量假负例(Fals…

python3GUI--仿崩坏三二次元登录页面(附下载地址) By:PyQt5

文章目录 一.前言二.预览三.实现方案1.实现原理1.PyQt52. 具体实现 2.UI设计1.UI组件化、模块化2.UI设计风格思路 3.项目代码结构4.使用方法3.代码分享1.支持跳转网页的QLabel组件2.三角形ICON按钮 四.总结 大小:33.3 …

STM32 FreeRTOS中断管理

目录 FreeRTOS的中断管理 1、STM32中断优先级管理 2、FreeRTOS任务优先级管理 3、寄存器和内存映射寄存器 4、BASEPRI寄存器 5、FreeRTOS与STM32中断管理结合使用 vPortRaiseBASEPRI vPortSetBASEPRI 6、FromISR后缀 7、在中断服务函数中调用FreeRTOS的API函数需注意 F…

如何在idea中搭建SpringBoot项目

如何在idea中快速搭建SpringBoot项目 目录 如何在idea中快速搭建SpringBoot项目前言一、环境准备:搭建前的精心布局 1.下载jdk (1)安装JDK:(2)运行安装程序:(3)设置安装…

Linux:expect spawn简介与用法

一、背景 大家在使用linux系统的很多时候,都用linux指令来实现一些操作,执行特定的job,有时一些场景中需要执行交互指令来完成任务,比如ssh登录这个命令大家一定很熟悉: ssh-keygen -t rsa # 以及 ssh-copy-id -i /hom…

服务器硬盘RAID速度分析

​ 在现代数据中心和企业环境中,服务器的存储性能至关重要,RAID(独立磁盘冗余阵列)技术通过将多块硬盘组合成一个逻辑单元,提供了数据冗余和性能优化,本文将详细探讨不同RAID级别对服务器硬盘速度的影响&am…

Android开发与网络请求

目标:快速开发一个安卓页面(用户登录&跳转) 抓包就是在后端逻辑与API之间截取信息。 1.安卓UI和后台逻辑 1.1 安卓UI 将activity_main.xml文件中的代码替换后,将会得到上面的UI界面 <?xml version="1.0" encoding="utf-8"?> <Linear…

【Linux】利用‘shell脚本’快速查看linux服务器的基本信息

一、脚本目的 为了方便&#xff0c;当拿到一台linux服务器的时候&#xff0c;我们应首先了解服务器的硬件、操作系统信息。俗话说“工欲善其事必先利其器” 只有熟悉了自己的武器&#xff0c;才能更好的发挥武器的威力。所以写了一个shell脚本&#xff0c;方便快速获取服务器C…

Solana 套利机器人原理

引言 加密货币的交易世界中&#xff0c;套利是利用市场价格差异进行无风险获利的一种策略。随着 DeFi&#xff08;去中心化金融&#xff09;的快速发展&#xff0c;套利机会屡见不鲜&#xff0c;尤其是在高速、高效能的区块链上&#xff0c;如 Solana。这些区块链通过提供低交易…

麦田物语学习笔记:制作[SceneName]Attribute特性

基本流程 因为在现有的项目中,像开始场景的切换或者Telepot组件都需要手动输入场景名,有时还可能键入出错,而该特性能用选择的方式去解决这一问题 1.代码实现 SceneNameDrawer.cs //参数绘制 using UnityEditor; using UnityEngine; #if UNITY_EDITOR [CustomPropertyDrawer(…

OCP使用中的常见问题与解决方法

OCP的常见问题 页面卡顿&#xff1a; 遇到页面卡顿的问题时&#xff0c;首先需要区分是全局性的卡顿&#xff0c;即所有页面都出现延迟或响应缓慢&#xff0c;还是仅限于特定的监控页面。 监控数据看不到: 需要明确是全部数据都无法查看&#xff0c;还是仅限于特定集群的数…

大模型LLM-微调 RAG

RAG小结 这篇文章是一篇关于大型语言模型&#xff08;LLMs&#xff09;增强技术的综述论文&#xff0c;特别聚焦于检索增强生成&#xff08;Retrieval-Augmented Generation, RAG&#xff09;这一领域。详细考察了RAG的发展、技术基础、关键技术、评估框架以及未来的研究方向。…

51c~缺陷检测~合集2

我自己的原文哦~ https://blog.51cto.com/whaosoft/12386431 一、缺陷检测~使用深度学习1 这里研究工业ai, 在制造业中任何公司的主要目标都是为客户生产无缺陷产品。如果在产品开发过程中出现任何内部孔、凹坑、磨损或划痕&#xff08;由于多种原因&#xff0c;从生产设备…

25春秋杯wp

春秋杯 图片不显示的去我blog找&#x1f447; 25春秋杯 | DDLS BLOG 文章所有内容部分来自自己写的&#xff0c;部分来自各路非公开wp&#xff0c;部分来自公开wp(附上链接&#xff0c;在文章末尾) easy_flask {{().__class__.__mro__.__getitem__(1).__subclasses__()[13…

C# 事件(Event)详解

C# 事件详解 事件&#xff08;Event&#xff09;是 C# 中的一种特殊类型的委托&#xff0c;它是基于委托的基础上构建的&#xff0c;用来实现事件驱动编程。在 C# 中&#xff0c;事件常用于处理用户输入、系统通知、数据更新等场景&#xff0c;允许一个对象通知其他对象某些行…