3次元ベクトルの直積を3×3行列で計算
固定3次元列ベクトルaとbから直積abᵀを作り、3×3行列の九成分を計算します。
計算結果
- abᵀの(1,1)成分
- —
- abᵀの(1,2)成分
- —
- abᵀの(1,3)成分
- —
- abᵀの(2,1)成分
- —
- abᵀの(2,2)成分
- —
- abᵀの(2,3)成分
- —
- abᵀの(3,1)成分
- —
- abᵀの(3,2)成分
- —
- abᵀの(3,3)成分
- —
使い方
- 固定3次元の成分または3×3行列の九成分を、ラベルの順序どおり有限な実数で入力します。
- 3次元ベクトルの直積(outer product)の式と入力順序を確認し、計算結果の各スカラー成分を読み取ります。
- 零ベクトルや単位行列などの既知値、または独立した手計算と照合してから結果を利用します。
計算式・考え方
a=(a₁,a₂,a₃)ᵀ、b=(b₁,b₂,b₃)ᵀに対して直積abᵀの(i,j)成分はaᵢbⱼです。九成分を行優先で表示します。
注意事項
- 3次元ベクトルの直積(outer product)は、列ベクトルaと転置した行ベクトルbᵀを掛けて3行3列の行列を作る演算です。このページは次元を可変にせず、固定3次元のベクトルまたは固定3行3列の実行列だけを扱います。複素数、記号式、可変長配列、疎行列、テンソル、バッチ入力は対象外です。
- 出力の契約は、第i行第j列はaの第i成分とbの第j成分の積で、九つを独立したスカラー結果として示します。ベクトルや行列を一つの文字列へまとめず、各成分をコピー可能なスカラー結果として提示します。行と列の順番は入力欄と結果ラベルで明示し、途中で転置や座標順の入替えを行いません。
- 式は、a=(a₁,a₂,a₃)ᵀ、b=(b₁,b₂,b₃)ᵀに対して直積abᵀの(i,j)成分はaᵢbⱼです。九成分を行優先で表示します。 表示前の計算は既存のdeclarative-v1式ASTだけで決定的に行い、外部ライブラリ、外部API、乱数、日時、通信状態を参照しません。同じ有限入力からは同じ倍精度結果が得られます。
- 入力は各欄ともマイナス1000000以上プラス1000000以下の有限な実数です。空欄、数値でない文字列、NaN、正負の無限大、宣言範囲外は計算前に拒否します。この上限は数学上の定義域ではなく、積や和を倍精度の有限範囲で扱う実装契約です。
- 境界の確認は、どちらか一方が零ベクトルなら直積行列の九成分はすべて0です。0は有効な数値であり、空欄の代用ではありません。境界試験では式が定義される0と、演算そのものが定義されない入力を区別し、未定義の値を便宜的に0へ置き換えません。
- 数値安定性については、各行列成分は一回の乗算で求まり、和や除算による誤差増幅はありません。結果は途中で表示桁へ丸めず、最後に最大十五桁の有効数字で整形します。末尾桁の一致より、入力順序、式の規約、絶対誤差と相対誤差を分けて検算することが重要です。
- 結果の読み方は、直積は一般に対称ではなく、abᵀとbaᵀは転置関係にあります。単独の数値だけを見ず、元の成分、座標系、単位、丸め方と一緒に記録してください。異なる資料と比較するときは、列ベクトルか行ベクトルか、右手系か、演算の順序が一致するかを先に確かめます。
- 通常例として、a=(1,2,3)、b=(4,5,6)では第一行が(4,5,6)、第二行が(8,10,12)です。通常点は手計算または独立した式で照合し、境界点は厳密値を確認します。入力範囲外では対象欄にエラーが出て、誤った値を出力しないこともテスト契約に含めています。
- 用語上の注意は、ここでいう直積はouter productであり、三次元ベクトルを返す外積cross productとは別です。日本語の積、直積、外積、スカラー積は資料によって別の演算を指すことがあるため、このページでは数式と出力形状を名称より優先して定義します。名称だけで他ページと同一視しないでください。
- 定義の照合には、MIT OpenCourseWareの数値計算教材にあるouter productの成分定義を採用しました。NIST Digital Library of Mathematical Functionsの第1.2節と第1.6節、およびMIT OpenCourseWareの公開教材を参照し、資料の一般定義とこのページの固定次元契約を分けて確認しました。
- NISTの定義は一般の次元や行列について書かれていますが、この実装はブラウザ上で入力契約を明確にするため三次元へ限定しています。三成分を超えるデータを切り捨てたり、足りない成分を自動で0補完したりしません。別次元は対応する別計算で扱ってください。
- 検算では、まず入力欄を行または成分の順に読み返し、次に符号と演算順を確認します。その後、簡単な零ベクトル、単位ベクトル、単位行列などの既知値と比較します。表計算ソフトとの比較ではセル参照のずれと表示丸めを分離してください。
- このページのリスク区分はR1で、公開前の人手確認を必須とします。数式は静的でも、転置、外積の向き、減算順序、行列成分の配置を誤ると見かけ上もっともらしい別結果になります。安全制御、医療、構造設計など重大な判断へ単独で使えません。
- 座標成分に物理単位がある場合、結果の単位は演算に従って変化します。このページは抽象的な実数成分として計算し、単位換算は行いません。メートルとセンチメートル、力と長さなど異なる単位を混在させる場合は、入力前に利用者が整合させる必要があります。
- 丸めた入力から元の厳密値を復元することはできません。特に差を取る演算や行列式では、近い数の相殺によって有効桁が減る場合があります。結果を再利用するときは画面表示だけでなく、元入力と許容誤差、使用した演算名も併記してください。
- この計算は教育、式の確認、小規模な独立検算を目的とします。大規模な連立方程式、最小二乗、固有値、最適化、反復法、誤差解析は対象外です。それらには条件数評価、ピボット選択、適切な線形代数ライブラリを含む専用手順を使用してください。
- 固定3次元の倍精度スカラー計算による学習・補助検算用です。座標系、単位、入力品質、数値条件を保証せず、重大な判断には単独で使用できません。
よくある質問
4次元以上のベクトルや行列も入力できますか?
できません。このページは固定3次元または固定3行3列の契約です。余分な成分を無視せず、可変次元の計算が必要なら別の実装を利用してください。
結果が別のソフトと少し違うのはなぜですか?
入力の表示桁、浮動小数点の演算順、丸め、座標順、転置や外積の規約が異なる可能性があります。まず同じ式と倍精度入力へそろえ、絶対誤差と相対誤差の両方で比較してください。
成分に単位を付けて計算できますか?
入力欄は抽象的な実数です。単位換算を行わないため、利用者が入力前に単位系を統一し、結果の単位を演算規則に従って解釈してください。
結果は厳密値ですか?
整数演算で正確に表せる例もありますが、一般にはブラウザの倍精度浮動小数点による近似値です。平方根、除算、近い数の差では丸め誤差が生じます。
3次元ベクトルの直積(outer product)を設計や安全判断に使えますか?
このページだけでは入力データの品質、座標系、単位、モデル妥当性、許容誤差を確認できません。学習と補助検算用に限定し、重大な判断では専門手順と独立検証を使用してください。
入力したベクトル成分、行列成分、スカラー値は端末内だけで計算され、外部へ送信・保存されません。個人情報や機密データを入力する用途は想定していません。