数学のブログ

ベクトルの基本的性質 ベクトルの3重積 公式、内積

ベクトル解析演習〈理工系の数学入門コース/演習 新装版〉 (戸田 盛和(著)、渡辺 慎介(著)、岩波書店)の第1章(ベクトルの基本的性質)、1-5(ベクトルの3重積)、問題2の解答を求めてみる。

A × ( B × C )
= A × ( B y C z - B z C y , B z C x - B x C z , B x C y - B y C x )
= ( A y ( B x C y - B y C x ) - A z ( B z C x - B x C z ) , A z ( B y C z - B z C y ) - A x ( B x C y - B y C x ) , A x ( B z C x - B x C z ) - A y ( B y C z - B z C y ) )
= ( B x ( A y C y + A z C z ) - C x ( A y B y + A z B z ) , B y ( A z C z + A x C x ) - C y ( A z B z + A x B x ) , B z ( A x C x + A y C y ) - C z ( A x B x + A y B y ) )
= ( B x ( A x C x + A y C y + A z C z ) - C x ( A x B x + A y B y + A z B z ) , B y ( A x C x + A y C y + A 2 C z ) - C y ( A x B x + A y B y + A z B z ) , B z ( A x C x + A y C y + A z C z ) - C z ( A x B x + A y B y + A t B z ) )
= ( B x , B y , B z ) ( A · C ) - ( C x , C y , C z ) ( A · B )
= B ( C · A ) - C ( A · B )

コード(Wolfram Language, Jupyter)

a = {ax, ay, az};
b = {bx, by, bz};
c = {cx, cy, cz};
Cross[a, Cross[b, c]] == b(c . a) - c(a . b)
Output
Simplify[%]
Output
a = RandomInteger[{-10, 10}, {3}]
b = RandomInteger[{-10, 10}, {3}]
c = RandomInteger[{-10, 10}, {3}]
o = {0, 0, 0};
Graphics3D[Arrow[{o, Cross[a, Cross[b, c]]}]]
Output
Graphics3D[Arrow[{o, b (c . a) - c (a . b)}]]
Output
Graphics3D[{
    Red, Arrow[{o, a}],
    Green, Arrow[{o, b}],
    Blue, Arrow[{o, c}],
    Brown, Arrow[{o, Cross[a, Cross[b, c]]}]
},
Axes -> True,
AspectRatios -> {1, 1, 1},
PlotLegends -> Automatic
]
Output
a = RandomReal[{-2, 2}, {3}]
b = RandomReal[{-2, 2}, {3}]
c = RandomReal[{-2, 2}, {3}]
                                            <div><div class="grid-container"><div class="grid-item"><pre style="&#102;&#111;&#110;&#116;&#45;&#102;&#97;&#109;&#105;&#108;&#121;&#58;&#32;&#34;&#67;&#111;&#117;&#114;&#105;&#101;&#114;&#32;&#78;&#101;&#119;&#34;&#44;&#67;&#111;&#117;&#114;&#105;&#101;&#114;&#44;&#109;&#111;&#110;&#111;&#115;&#112;&#97;&#99;&#101;&#59;">&#123;&#49;&#46;&#48;&#51;&#57;&#53;&#54;&#44;&#32;&#45;&#48;&#46;&#50;&#49;&#52;&#53;&#55;&#51;&#44;&#32;&#45;&#49;&#46;&#53;&#48;&#54;&#54;&#51;&#125;</pre></div><div class="grid-item"><pre style="&#102;&#111;&#110;&#116;&#45;&#102;&#97;&#109;&#105;&#108;&#121;&#58;&#32;&#34;&#67;&#111;&#117;&#114;&#105;&#101;&#114;&#32;&#78;&#101;&#119;&#34;&#44;&#67;&#111;&#117;&#114;&#105;&#101;&#114;&#44;&#109;&#111;&#110;&#111;&#115;&#112;&#97;&#99;&#101;&#59;">&#123;&#45;&#49;&#46;&#51;&#48;&#53;&#54;&#56;&#44;&#32;&#49;&#46;&#53;&#55;&#49;&#56;&#53;&#44;&#32;&#45;&#49;&#46;&#56;&#51;&#50;&#55;&#52;&#125;</pre></div><div class="grid-item"><pre style="&#102;&#111;&#110;&#116;&#45;&#102;&#97;&#109;&#105;&#108;&#121;&#58;&#32;&#34;&#67;&#111;&#117;&#114;&#105;&#101;&#114;&#32;&#78;&#101;&#119;&#34;&#44;&#67;&#111;&#117;&#114;&#105;&#101;&#114;&#44;&#109;&#111;&#110;&#111;&#115;&#112;&#97;&#99;&#101;&#59;">&#123;&#48;&#46;&#55;&#54;&#49;&#49;&#56;&#53;&#44;&#32;&#45;&#48;&#46;&#53;&#50;&#52;&#50;&#53;&#44;&#32;&#45;&#48;&#46;&#48;&#50;&#57;&#56;&#55;&#49;&#53;&#125;</pre></div></div></div>
Graphics3D[{
    Red, Arrow[{o, a}],
    Green, Arrow[{o, b}],
    Blue, Arrow[{o, c}],
    Purple, Arrow[{o, Cross[b, c]}],
    Brown, Arrow[{o, Cross[a, Cross[b, c]]}]
},
Axes -> True,
AspectRatios -> {1, 1, 1}
]
Output