当前位置: 首页 > news >正文

经典转动理论 - Emi

在学习转动理论之前先学习一下度规

假设在二维欧氏空间中存在两个点\(A(x_1,y_1)\)\(B(x_2,y_2)\),我们可以用勾股定理写出两点之间的距离:

\[ds^2=(x_2-x_1)^2+(y_2-y_1)^2 \qquad(1) \]

我们将距离用矩阵形式表示:

\[ds^2=(\begin{matrix}dx & dy \end{matrix})\left(\begin{matrix}1 & 0\\0 & 1 \end{matrix}\right)\left(\begin{matrix}dx\\dy \end{matrix}\right) \qquad(2)\]

我们就称中间的那个单位矩阵为度规。

定义度规

\[ds^2=\sum_{a=1}^{D}\sum_{b=1}^{D}g_{ab}dq^adq^b \]

其中\(D\)是空间维度。需要特别注意的是这里\(a\)\(b\)是哑指标,不是有实际含义的物理量,而之所以需要两个指标而不是一个是因为我们的度规是二阶张量(矩阵,有行和列两个指标)
我们可以理解度规为衡量空间中两点距离的一把尺子,告诉我们坐标轴方向的长度伸缩和夹角信息。

一个额外的练习(写出球坐标下的度规)

现在想象这两个点是在一个球面上,这时勾股定理不再成立。但是在一般空间中,某点附近可以用平直的线性平面(切平面)来近似,换句话说如果这里\(A\)\(B\)两点够近我们还是可以写出类似式子(1)的关系。

我们先写出两点的球坐标:\(A(\theta,\phi)\)\(B(\theta+d\theta,\phi+d\phi)\),进而写出球坐标切面下的勾股定理:

\[ds^2=(Rd\theta)^2+(Rsin\theta d\phi)^2 \qquad (3) \]

将其写成矩阵形式:

\[ds^2=(\begin{matrix}d\theta & d\phi \end{matrix})\left(\begin{matrix}R^2 & 0\\ 0 & R^2 sin^2\theta \end{matrix}\right)\left(\begin{matrix}d\theta \\ d\phi \end{matrix}\right)\qquad(4)\]

转动是保度规的坐标转换(这里推出了转动保度规,保体积,以及正交性)

首先,我们写出直角坐标下\(D\)维欧氏空间的线元:

\[ds^2=\delta_{ij}dx^idx^j \qquad(5) \]

这里使用了爱因斯坦求和约定,照理说该有求和号,只是说省略了而已
现在我们假设坐标发生了如下变换:

\[\tilde{x}^i=\tilde{x}^i(x), i=1,\dots,D\qquad(6) \]

假设坐标变换引起了一点附近的无穷小位移:

\[d\tilde{x}^i=\frac{\partial \tilde{x}^i}{\partial x^n}dx^n\qquad(7) \]

这里的\(\frac{\partial \tilde{x}^i}{\partial x^n}\)就是坐标变换的雅可比矩阵。注意这里的\(n\)是哑指标,表示对所有的分量求和,同样是爱因斯坦求和约定省略了的
我们再写出坐标变换之后两个点之间的距离:

\[ds_{new}^2=\delta_{kl}d\tilde{x}^kd\tilde{x}^l=\delta_{kl}\frac{\partial \tilde{x}^k}{\partial x^i}dx^i\frac{\partial \tilde{x}^l}{\partial x^j}dx^j\qquad(8) \]

这里尤其需要注意符号,在本文中,用头上一个小弯弯来表示变换后的坐标,而所有的上下标都仅表示哑指标,所以会发现这里频繁更换上下标,但其实不影响我们要表达的意思。

雅可比矩阵是可以拉伸或者扭曲坐标基的,所以考虑最一般的情况,变换后的度规和距离都会发生变换。但是转动是一种特殊的坐标变换,我们想象一下生活中的转动,我们在纸上画两个点,然后把纸转90度,转动之后两个点之间的距离是不会发生变化的。有了距离不变的约束条件之后,我们再看式(8)和式(5)就会发现要满足这个条件必须存在:

\[\delta_{ij}=\delta_{kl}\frac{\partial \tilde{x}^k}{\partial x^i}\frac{\partial \tilde{x}^l}{\partial x^j}\qquad(9) \]

在之前度规的练习中可以知道,直角坐标下欧氏空间中的度规都是单位矩阵。然后定义转动矩阵:

\[\frac{\partial \tilde{x}^k}{\partial x^i}=R^k_i\qquad(10) \]

再次提示注意符号,这里的\(i\)\(j\)分别表示矩阵的行列

我们也可以把式子(9)写成:

\[\delta_{ij}=\delta_{kl}R_i^k R_j^l\qquad(11) \]

其中\(R\)是雅可比矩阵。我们知道\(\delta\)是单位矩阵,也就是说:

\[\delta_{kl}=\left\{ \begin{matrix}1,k=l \\0,k\neq l \end{matrix} \right.\qquad(12)\]

因此,公式(11)变成了:

\[\delta_{ij}=R_i^kR_j^k \qquad(13) \]

我们用语言解释这个公式就是:矩阵\(R\)的第\(i\)列与第\(j\)列的欧氏内积等于\(\delta_{ij}\)。注意这里当我们单独讨论矩阵的某一列的时候,我们关注的对象变成了矢量而非矩阵,两个矢量的内积满足:

\[\vec{a} \vec{b}=\vec{a}^T\vec{b}\qquad(14) \]

我们遍历所有的\(k\)值后就会发现,公式(13)其实就是把我们矩阵的每一个列向量拿出来做内积再把结果拼回去,换句话说其实就是对矩阵本身做内积:

\[\delta_{ij}=(R^T)_i^k(R)_j^k\qquad(15) \]

化简这个式子:

\[R^TR=I\qquad(16) \]

再对左右两边取行列式可以得到:

\[det(R^TR)=det(R^T) det(R)=det(R)^1=1 \]

\[det(R)=\pm 1\qquad(17) \]

从(16)和(17)式中我们可以得出以下结论:

  1. 转动矩阵是正交矩阵,转动变换是正交变换。
  2. 欧氏空间的转动不改变体积。

转动是线性空间中的基变换

\(D\)维欧氏空间有\(D\)个线性独立的正交基矢\(\{\hat{e}_i\}=\{\hat{e}_1,\dots,\hat{e}_D\}\)。基矢的正交归一条件即:

\[\braket{\hat{e}_i,\hat{e}_j}=\delta_{ij}\qquad(18) \]

假设存在另一组同样的基矢\(\{\tilde{\hat{e}_i}\}\)。两者之间满足线性变换:

\[\hat{e}_i=R_i^j\tilde{\hat{e}_j}\qquad(19) \]

代入式(18)所表示正交归一条件我们可以得到:

\[\delta_{ij}=\braket{\hat{e}_i,\hat{e}_j}=\braket{R_i^k\tilde{\hat{e}_k},R_j^l\tilde{\hat{e}_l}}=R_i^kR_j^l\braket{\tilde{\hat{e}_k},\tilde{\hat{e}_l}}=\delta_{kl}R_i^kR_j^l\qquad(20) \]

对比会发现这和式(11)转动变换的定义一致。可见,线性空间的正交归一基矢之间的变换就是转动。

张量变换规则(矢量分量的变换关系)

\[\vec{v}=v^i\hat{e}_i=v^iR_i^j\tilde{\hat{e}_j}=\tilde{v^i}\tilde{\hat{e}_i}\qquad(21) \]

从中得到矢量分量的变换关系为:

\[\tilde{v^i}=R^i_jv^j\qquad(22) \]

转动的主动观点和被动观点

矢量顺时针转动\(\phi\)等价于基矢逆时针转动\(\phi\)

无穷小转动

线性化的思想:如果对某个对象不知道该如何下手,但是又知道某个简单的、已经解决的情况,一个屡试不爽的方案就是将这个已经解决的情况作为背景,围绕这个背景做线性近似。(微扰论)
我们令“原地不动”为未微扰部分,令无限小转动为微扰:

\[R=1+\Phi\qquad(23) \]

由正交矩阵的定义:

\[1=R^TR=(1+\Phi^T)(1+\Phi)=1+\Phi+\Phi^T+\dots\qquad(24) \]

忽略高阶项,得到:

\[\Phi^T=-\Phi\qquad(25) \]

是反对称矩阵。

http://www.jsqmd.com/news/162028/

相关文章:

  • Web开发者实战AI Agent:基于Dify实现OpenAI Deep Research智能体
  • git branch管理功能开发:为PyTorch-CUDA-v2.8添加新模块
  • conda list查看已安装包:对比PyTorch-CUDA-v2.8预装清单
  • markdown绘制流程图:展示PyTorch-CUDA-v2.8数据处理 pipeline
  • AI辅助的创业公司估值模型
  • Java毕设项目推荐-基于web的中医诊所预约挂号系统设计与实现号源管理、在线预约、复诊提醒、诊疗档案【附源码+文档,调试定制服务】
  • ssh反向代理应用场景:通过PyTorch-CUDA-v2.8暴露本地服务
  • 十二月《代码大全》读后感
  • 从实验到部署无缝衔接:PyTorch-CUDA-v2.8助力AI项目落地
  • python基于Android的酒店民宿客房预订系统的设计与实现 小程序
  • 12.29 - 字符串相加 vector和map的区别
  • 网络分析模型十一
  • YOLOv5s模型训练实战:在PyTorch-CUDA-v2.8镜像中完成全流程
  • GitHub星标项目:PyTorch-CUDA-v2.8自动化部署脚本开源分享
  • HuggingFace Accelerate库简化PyTorch多GPU训练
  • github action集成PyTorch-CUDA-v2.8进行CI/CD自动化测试
  • HuggingFace镜像网站推荐:结合PyTorch-CUDA-v2.8加速大模型推理
  • 【Linux命令大全】001.文件管理之paste命令(实操篇)
  • Java毕设选题推荐:基于Java的协同过滤算法音乐推荐系统基于协同过滤算法的音乐推荐系统【附源码、mysql、文档、调试+代码讲解+全bao等】
  • Web开发者实战AI Agent:基于Dify的多模态文生图与文生视频智能体项目
  • 告别繁琐依赖!PyTorch-CUDA-v2.8预装镜像让模型训练更高效
  • YOLOv11采用新型Head设计:PyTorch代码实现前瞻
  • 【实战】SAAS多租户详细设计
  • Java计算机毕设之基于协同过滤算法的音乐推荐系统springboot基于协同过滤算法的音乐推荐系统(完整前后端代码+说明文档+LW,调试定制等)
  • Ansible - Role介绍 和 使用playbook部署wordPress
  • 【教学类-89-02】20251229新年篇11—— 马年红包(Python图片)
  • PyTorch模型保存与加载最佳实践:避免常见陷阱
  • CUDA核心数查询命令:nvidia-smi结合PyTorch使用
  • PyTorch Autograd机制详解:反向传播原理与实现
  • python基于Android和java的酒店管理系统设计 小程序_54ybz