如何从向量建立正交基



有人知道我如何只使用向量构建正交基吗?我有一个向量,形式为v1=[ab-a-b]',其中"a"one_answers"b"是实数。我确实尝试过以"即席方式"构建,但一无所获,我只得到了两个正交向量:

v1=[a b-a-b]'v2=[a-b a-b]'

我需要更多的两个向量来完成正交基{v1,v2,v3,v4}。有人能帮我吗?

谢谢。。。

我不能在Mathematica中为你做这件事,但至少在MATLAB中,我会这样做。。。

syms a b
null([a b -a -b])
ans =
[ -b/a, 1, b/a]
[    1, 0,   0]
[    0, 1,   0]
[    0, 0,   1]

此数组的列与原始向量正交,并跨越空空间。

v3=[b a b a]',v4=[b-a-b a]'具有令人愉快的对称性。

您可以用一个单位矩阵进行扩充,并将该组向量正交化,其中给定的向量位于前面。下面是一个例子。

SeedRandom[1111];
{a, b} = RandomInteger[{-10, 10}, 2];
vec = {a, b, -a, -b}
mat = Join[{vec}, IdentityMatrix[Length[vec]]];
(* Out[39]= {-8, 5, 8, -5} *)
orthog = Drop[Orthogonalize[mat], -1]
(* Out[62]= {{-4*Sqrt[2/89], 5/Sqrt[178], 
  4*Sqrt[2/89], -(5/Sqrt[178])}, 
   {Sqrt[57/89], 20/Sqrt[5073], 32/Sqrt[5073], -(20/Sqrt[5073])}, 
   {0, Sqrt[89/114], -20*Sqrt[2/5073], 25/Sqrt[10146]}, 
   {0, 0, 5/Sqrt[89], 8/Sqrt[89]}} *)

相关内容

  • 没有找到相关文章

最新更新