当前位置:网站首页>Equation Derivation Proof of Vector Triple Product
Equation Derivation Proof of Vector Triple Product
2022-07-30 07:50:00 【sunset stained ramp】
目标:最近在看论文,Some basic formula reasoning is required,Equations for triple products are often encountered.为了更深入的理解.So derive this formula.
定义:
向量三重积
a → × ( b → × c → ) = ( a → ⋅ c → ) ⋅ b → − ( a → ⋅ b → ) ⋅ c → \overrightarrow{a} \times (\overrightarrow{b} \times \overrightarrow{c})= (\overrightarrow{a} \cdot \overrightarrow{c}) \cdot\overrightarrow{b} - (\overrightarrow{a} \cdot \overrightarrow{b}) \cdot\overrightarrow{c} a×(b×c)=(a⋅c)⋅b−(a⋅b)⋅c
其中 a → = ( a 0 , a 1 , . . . , a n ) \overrightarrow{a}=(a_0,a_1,...,a_n) a=(a0,a1,...,an); b → = ( b 0 , b 1 , . . . , b n ) \overrightarrow{b}=(b_0,b_1,...,b_n) b=(b0,b1,...,bn); c → = ( c 0 , c 1 , . . . , c n ) \overrightarrow{c}=(c_0,c_1,...,c_n) c=(c0,c1,...,cn)
General in space vector n = 3 n=3 n=3
证明,It can be proved in two ways
第一种是最简单的方式,Expand the left and right items directly.
In general, the cross product can be converted to the product of a matrix and a vector.The transformation is shown below
S k e w ( a ) = [ 0 − a 2 a 1 a 2 0 − a 0 − a 1 a 0 0 ] Skew(a) = \begin{bmatrix} 0 \space \space -a_2 \space \space a_1 \\ a_2 \space \space 0 \space \space -a_0 \\ -a_1 \space \space a_0 \space \space 0 \end{bmatrix} Skew(a)=⎣⎡0 −a2 a1a2 0 −a0−a1 a0 0⎦⎤
So the formula on the left is :
a → × ( b → × c → ) = s k e w ( a → ) ( s k e w ( b → ) c → ) = [ 0 − a 2 a 1 a 2 0 − a 0 − a 1 a 0 0 ] [ 0 − b 2 b 1 b 2 0 − b 0 − b 1 b 0 0 ] [ c 0 c 1 c 2 ] = [ 0 − a 2 a 1 a 2 0 − a 0 − a 1 a 0 0 ] [ b 1 c 2 − b 2 c 1 b 2 c 0 − b 0 c 2 b 0 c 1 − b 1 c 0 ] = [ − a 2 ( b 2 c 0 − b 0 c 2 ) + a 1 ( b 0 c 1 − b 1 c 0 ) a 2 ( b 1 c 2 − b 2 c 1 ) − a 0 ( b 0 c 1 − b 1 c 0 ) − a 1 ( b 1 c 2 − b 2 c 1 ) + a 0 ( b 2 c 0 − b 0 c 2 ) ] = [ ( a 1 c 1 + a 2 c 2 ) b 0 − ( a 1 b 1 + a 2 b 2 ) c 0 ( a 0 c 0 + a 2 c 2 ) b 1 − ( a 0 b 0 + a 2 b 2 ) c 1 ( a 0 c 0 + a 1 c 1 ) b 2 − ( a 0 b 0 + a 1 b 1 ) c 2 ] = [ ( a 0 c 0 + a 1 c 1 + a 2 c 2 ) b 0 − ( a 0 b 0 + a 1 b 1 + a 2 b 2 ) c 0 ( a 0 c 0 + a 1 c 1 + a 2 c 2 ) b 1 − ( a 0 b 0 + a 1 b 1 + a 2 b 2 ) c 1 ( a 0 c 0 + a 1 c 1 + a 2 c 2 ) b 2 − ( a 0 b 0 + a 1 b 1 + a 2 b 2 ) c 2 ] = ( a → ⋅ c → ) ⋅ b → − ( a → ⋅ b → ) ⋅ c → \overrightarrow{a} \times (\overrightarrow{b} \times \overrightarrow{c}) \\ =skew(\overrightarrow{a})(skew(\overrightarrow{b})\overrightarrow{c}) \\ = \begin{bmatrix} 0 \space \space -a_2 \space \space a_1 \\ a_2 \space \space 0 \space \space -a_0 \\ -a_1 \space \space a_0 \space \space 0 \end{bmatrix} \begin{bmatrix} 0 \space \space -b_2 \space \space b_1 \\ b_2 \space \space 0 \space \space -b_0 \\ -b_1 \space \space b_0 \space \space 0 \end{bmatrix} \begin{bmatrix} c_0 \\ c_1 \\ c_2 \end{bmatrix} =\begin{bmatrix} 0 \space \space -a_2 \space \space a_1 \\ a_2 \space \space 0 \space \space -a_0 \\ -a_1 \space \space a_0 \space \space 0 \end{bmatrix} \begin{bmatrix} b_1c_2-b_2c_1 \\ b_2c_0-b_0c_2 \\ b_0c_1-b_1c_0 \end{bmatrix} \\ \\ =\begin{bmatrix} -a_2(b_2c_0-b_0c_2) + a_1(b_0c_1-b_1c_0) \\ a_2(b_1c_2-b_2c_1) - a_0(b_0c_1-b_1c_0) \\ -a_1(b_1c_2-b_2c_1) + a_0(b_2c_0-b_0c_2) \end{bmatrix} = \begin{bmatrix} (a_1c_1+a_2c_2)b_0 - (a_1b_1+a_2b_2)c_0 \\ (a_0c_0+a_2c_2)b_1 - (a_0b_0+a_2b_2)c_1 \\ (a_0c_0+a_1c_1)b_2 - (a_0b_0+a_1b_1)c_2 \end{bmatrix} \\ = \begin{bmatrix} (a_0c_0+a_1c_1+a_2c_2)b_0 - (a_0b_0+a_1b_1+a_2b_2)c_0 \\ (a_0c_0+a_1c_1+a_2c_2)b_1 - (a_0b_0+a_1b_1+a_2b_2)c_1 \\ (a_0c_0+a_1c_1+a_2c_2)b_2 - (a_0b_0+a_1b_1+a_2b_2)c_2 \end{bmatrix} = (\overrightarrow{a} \cdot \overrightarrow{c}) \cdot\overrightarrow{b} - (\overrightarrow{a} \cdot \overrightarrow{b}) \cdot\overrightarrow{c} a×(b×c)=skew(a)(skew(b)c)=⎣⎡0 −a2 a1a2 0 −a0−a1 a0 0⎦⎤⎣⎡0 −b2 b1b2 0 −b0−b1 b0 0⎦⎤⎣⎡c0c1c2⎦⎤=⎣⎡0 −a2 a1a2 0 −a0−a1 a0 0⎦⎤⎣⎡b1c2−b2c1b2c0−b0c2b0c1−b1c0⎦⎤=⎣⎡−a2(b2c0−b0c2)+a1(b0c1−b1c0)a2(b1c2−b2c1)−a0(b0c1−b1c0)−a1(b1c2−b2c1)+a0(b2c0−b0c2)⎦⎤=⎣⎡(a1c1+a2c2)b0−(a1b1+a2b2)c0(a0c0+a2c2)b1−(a0b0+a2b2)c1(a0c0+a1c1)b2−(a0b0+a1b1)c2⎦⎤=⎣⎡(a0c0+a1c1+a2c2)b0−(a0b0+a1b1+a2b2)c0(a0c0+a1c1+a2c2)b1−(a0b0+a1b1+a2b2)c1(a0c0+a1c1+a2c2)b2−(a0b0+a1b1+a2b2)c2⎦⎤=(a⋅c)⋅b−(a⋅b)⋅c
证明完毕.
第二种方法: in a geometrically meaningful way.It has the heuristic kind.It is recommended to use this method to prove the equation for the triple product above.
To make it easier for everyone to understand,画出图像,得到下图

Because of the cross product,is the vertical vector of the two vectors.比如 b → × c → \overrightarrow{b} \times \overrightarrow{c} b×c,it is perpendicular to b → , c → \overrightarrow{b},\overrightarrow{c} b,cThe plane in which the two vectors of .
Arbitrary vectors at the same time a → \overrightarrow{a} a和 b → × c → \overrightarrow{b} \times \overrightarrow{c} b×c叉乘.The resulting vector must be parallel to b → , c → \overrightarrow{b},\overrightarrow{c} b,cThe plane in which the two vectors of .(The red line segment represents).因此可以写成如下:
a → × ( b → × c → ) = m b → + n c → \overrightarrow{a} \times (\overrightarrow{b} \times \overrightarrow{c})=m\overrightarrow{b}+n\overrightarrow{c} a×(b×c)=mb+nc
Because the red vector a → × ( b → × c → ) \overrightarrow{a} \times (\overrightarrow{b} \times \overrightarrow{c}) a×(b×c)和 a → \overrightarrow{a} a垂直.因此:
a → ⋅ ( a → × ( b → × c → ) ) = 0 = > a → ⋅ ( m b → + n c → ) = 0 = > m ( a → ⋅ b → ) + n ( a → ⋅ c → ) = 0 \overrightarrow{a} \cdot(\overrightarrow{a} \times (\overrightarrow{b} \times \overrightarrow{c})) = 0 \\ =>\overrightarrow{a} \cdot(m\overrightarrow{b}+n\overrightarrow{c}) = 0 \\ =>m(\overrightarrow{a} \cdot \overrightarrow{b}) + n(\overrightarrow{a} \cdot \overrightarrow{c})=0 a⋅(a×(b×c))=0=>a⋅(mb+nc)=0=>m(a⋅b)+n(a⋅c)=0
To solve the above formula,We use construction,Construct two numbers such that the above formula holds.构造如下:
存在 p ∈ R p\in R p∈R;且 m = p ( a → ⋅ c → ) m=p(\overrightarrow{a} \cdot \overrightarrow{c}) m=p(a⋅c); n = − p ( a → ⋅ b → ) n=-p(\overrightarrow{a} \cdot \overrightarrow{b}) n=−p(a⋅b),Make the above formula hold constant.为了方便理解,The constructed terms are brought into the formula m ( a → ⋅ b → ) + n ( a → ⋅ c → ) = 0 m(\overrightarrow{a} \cdot \overrightarrow{b}) + n(\overrightarrow{a} \cdot \overrightarrow{c})=0 m(a⋅b)+n(a⋅c)=0
m ( a → ⋅ b → ) + n ( a → ⋅ c → ) = 0 = p ( a → ⋅ c → ) ( a → ⋅ b → ) − p ( a → ⋅ b → ) ( a → ⋅ c → ) = 0 m(\overrightarrow{a} \cdot \overrightarrow{b}) + n(\overrightarrow{a} \cdot \overrightarrow{c})=0 \\ =p(\overrightarrow{a} \cdot \overrightarrow{c})(\overrightarrow{a} \cdot \overrightarrow{b})-p(\overrightarrow{a} \cdot \overrightarrow{b})(\overrightarrow{a} \cdot \overrightarrow{c})=0 m(a⋅b)+n(a⋅c)=0=p(a⋅c)(a⋅b)−p(a⋅b)(a⋅c)=0
The substituted equation can see that the above is a middle identity.
The above equation and vector a → \overrightarrow{a} a, b → \overrightarrow{b} b, c → \overrightarrow{c} c取值无关.
因此将 m = p ( a → ⋅ c → ) m=p(\overrightarrow{a} \cdot \overrightarrow{c}) m=p(a⋅c); n = − p ( a → ⋅ b → ) n=-p(\overrightarrow{a} \cdot \overrightarrow{b}) n=−p(a⋅b),代入到 a → × ( b → × c → ) = m b → + n c → \overrightarrow{a} \times (\overrightarrow{b} \times \overrightarrow{c})=m\overrightarrow{b}+n\overrightarrow{c} a×(b×c)=mb+nc,得到如下公式:
a → × ( b → × c → ) = m b → + n c → = p ( a → ⋅ c → ) b → − p ( a → ⋅ b → ) c → \overrightarrow{a} \times (\overrightarrow{b} \times \overrightarrow{c})=m\overrightarrow{b}+n\overrightarrow{c}=p(\overrightarrow{a} \cdot \overrightarrow{c})\overrightarrow{b}-p(\overrightarrow{a} \cdot \overrightarrow{b})\overrightarrow{c} a×(b×c)=mb+nc=p(a⋅c)b−p(a⋅b)c
Because of the above formula and vector a → \overrightarrow{a} a, b → \overrightarrow{b} b, c → \overrightarrow{c} c无关,Simple vectors can be used a → = [ 1 , 1 , 1 ] \overrightarrow{a}=[1,1,1] a=[1,1,1]; b → = [ 0 , 1 , 0 ] \overrightarrow{b}=[0,1,0] b=[0,1,0]; c → = [ 0 , 0 , 1 ] \overrightarrow{c}=[0,0,1] c=[0,0,1]
Bring in the corresponding simple formula,就可以得到 p = 1 p=1 p=1
证明完毕.
参考资料如下:
https://www.youtube.com/watch?v=4U5fkwYDvZg
边栏推荐
- MongoDB-CUD without R
- schur completement
- 《心智社会》—马文·明斯基
- Redis6的数据类型
- 测试开发工程师成长日记008 - 浅谈一些Bug/用例管理平台/协作平台
- 这个终端连接工具,碾压Xshell
- The Geometric Meaning of Vector Cross Product and the Calculation of Modulus
- Vineyard: An open source distributed in-memory data management framework
- 矩阵的行列式的计算及其源码
- 华为发布“十大发明”,包含计算、智能驾驶等新领域
猜你喜欢

RAID磁盘阵列

MongoDB-CUD没有R

CTO说不建议我使用SELECT * ,这是为什么?

多线程进阶(锁策略,自旋+CAS,Synchronized,JUC,信号量)

软件测试开发:发送第一封测试报告邮件

As a test leader, examine several aspects of job candidates

New material under the plastic restriction order - polylactic acid (PLA)

The terminal connection tools, rolling Xshell

PXE高效批量网络装机

《心智社会》—马文·明斯基
随机推荐
Rodrigues: vector representation of rotation matrices
Distance calculation from space vertex to straight line and its source code
proftpd 配置文件说明
Network Protocol 01 - Basic Concepts
测试开发工程师成长日记010 - Jenkins中的CI/CD/CT(持续集成构建/持续交付/持续测试)
DHCP principle and configuration
测开基础知识01
MongoDB-介绍,数据类型,基本语句
软件测试_01
《心智社会》—马文·明斯基
B站崩了,如果是你是那晚负责的开发人员你会怎么做?
matlab机器学习_01
DHCP原理与配置
The Geometric Meaning of Vector Cross Product and the Calculation of Modulus
MySQL主从复制配置搭建,一步到位
debian 问题
export , export default, import complete usage
测试开发工程师成长日记008 - 浅谈一些Bug/用例管理平台/协作平台
阿里二面:列出 Api 接口优化的几个技巧
多线程基础(多线程内存,安全,通信,线程池和阻塞队列)