|
[watermark] n维欧氏空间的向量运算
我们就一个具体6维欧氏空间U为例说明如何进行向量的运算。
在foxpro语言环境下,用随机函数的组合随机生成两个6维向量:
a=(-0.93, 0.13,-0.06, 1.79, 0.81, 1.37)
b=(-0.57,-1.29, 0.79,-1.84,-1.95,-0.63)
显然a,b不共线,令
c=1.7a-1.3b =(-0.840, 1.898,-1.129, 5.435, 3.912, 3.148)
d=-1.6a+2.1b=( 0.291,-2.917, 1.755,-6.728,-5.391,-3.515)
即c,d为a,b的生成U的子空间V内的两个向量。令w=(a,b) (表示a,b的内积),p=w/|a|^2,
e=b-pa,则e为b在a上的射影。令f=b-e,则f⊥a。
令m=a/|a|, n=f/|f|,则m,n是V一组单位正交基底。计算得
m n
-0.361386533369142 -0.554694886969653
0.050516397137622 -0.493146658875939
-0.023315260217364 0.308693866109312
0.695571929818027 -0.156121174580895
0.314756012934414 -0.536207995546204
0.532365108296479 0.204780899000643
把m到n的旋转方向定义为V内的正向旋转,以m的起点为起点,方向与m的方向相同的射线为V内的任意角的始边,这个角的终边称为与这个终边射线同向的向量的一个幅角。则m的幅角为0,n的幅角为π/2。
设向量a(与m同向)在V内旋转角α=2π/3后与向量g相等(模r=|a|=2.573421846491554),则g在m上的射影为rcosα*m,在n上的射影为rsinα*n,即g在m,n上的正交分解为:rcosα*m, rsinα*n,也就是:
g=rcosα*m+ rsinα*n=r(mcosα+nsinα):
-0.771220035255609
-1.164050657114047
0.717970181462519
-1.242939251791048
-1.600019248833877
-0.228615316944323
把m旋转π/2得到的向量就是n,把m旋转π得到的向量就是-m,把n旋转π/2得到的向量也是-m,把n旋转π得到的向量是-n,把n旋转3π/4得到的向量是m。
当把在V中的旋转定义为向量的乘法(旋转角为负值时相当于除法),那么有
m*m=m,n^2=-m,n^3=-n,n^4=m,设s为V中的任意向量,则s/m=s*m/m=s。
与复数的运算比较有m相当于“1”,n相当于“i”。由此可知复数的运算实质上就是向量的运算。
因此可把g=r(mcosα+nsinα)称为g在V内的三角形式。
令rcosα=u,rsinα=v,则g=um+vn,称g=um+vn为g在V内的代数形式。
把g在V内的三角形式也可用g=(r,α)代替,称为g在V内的极坐标形式。
把向量c表示为c=um+vn的形式有两种方法:
第一种是内积方法有 u=(c,m)=7.113412060660410,
v=(c,n)=-3.120078020699326;
第二种是解线性方程组 mx+ny=a 得x=7.113412060660406,
y=-3.120078020699333。
回归计算得:
mx+ny um+vn
-0.839999999999994 -0.839999999999999
1.898000000000000 1.897999999999997
-1.129000000000000 -1.128999999999998
5.435000000000000 5.435000000000002
3.912000000000000 3.911999999999998
3.148000000000001 3.148000000000004
由此可知用解线性方程组的方法略好一点。
即 c(代)=7.113412060660406m-3.120078020699333n。
同理可计算得d(代)=-8.541359058549567m+5.040126033437383n。
令p=7.113412060660406,q=-3.120078020699333
u=-8.541359058549567,v=5.040126033437383
有:c=pm+qn,d=um+vn,由m^2=m,n^2=-m,mn=n,得
cd=pum^2+qvn^2+(pv+qu)mn=pum-qvm+(pv+qu)n=(pu-qv)m+(pv+qu)n
c/d=(pm+qn)/(um+vn)=[(pm+qn)(um-vn)]/[(um+vn)(um-vn)]
=[(pu-qv)m+(pv+qu)n]/[u^2+v^2]m={[(pu-qv)m+(pv+qu)n]/m}/[u^2+v^2]
=[(pu-qv)m+(pv+qu)n]/[u^2+v^2]
代入数值计算得:
cd c/d
-18.39546829235928 0.332917061953243
-33.09763681229379 0.006859025057774
20.34399300735545 -0.010752634663479
-41.08134333052766 -0.526275396131031
-47.68846731728512 -0.194586990907794
-11.17453896616495 -0.433131967943971
又c(极径)=(sqrt(p^2+q^2,atg(p/q))=7.767594093411423
c(极角)=336°19′ 0″.5823
d(极径)=9.917544302900792, d(极角)=149°27′20″.8504
即c(极)=(7.767594093411423,336°19′0″.5823)=(r,θ)
d(极)=(9.917544302900792,149°27′20″.8504)=(s,φ)
从而可得
cd(极)=(77.03545854835829,125°46′21″.4327)=(u,θ+φ-2π)=(u,α)
c/d(极)=(0.783217483701028,186°51′39″.7319)=(v,θ-φ)=(v,β)
因此cd在m,n上的射影的模分别为ucosα,usinα,
即其代数形式为cd=m*ucosα+n*usinα,
同理c/d的代数形式为c/d=m*vcosβ+n*vsinβ。
用这种方法计算得到的cd,c/d为
cd c/d
-18.39546829235925 0.332917061953243
-33.09763681229377 0.006859025057774
20.34399300735544 -0.010752634663479
-41.08134333052769 -0.526275396131031
-47.68846731728512 -0.194586990907794
-11.17453896616497 -0.433131967943971
这与前面直接用代数方法计算的结果是,两cd的各分量的最大误差是3*10(-14),而两c/d的各分量的15位小数均相同。但对于cd来说是第16数字上才有误差,而c/d只是可知前15位数字均为有效。
[/watermark] |
|