RosettaCodeData/Task/Vector-products/00-TASK.txt
2026-04-30 12:34:36 -04:00

60 lines
3.3 KiB
Text

;Related tasks:
*   [[Arrays]]
*   [[Vector]]
**   [[Dot product]]
**   [[Vector products]]
***   A starting page on Wolfram MathWorld is   {{Wolfram|Vector|Multiplication}}.
***   Wikipedia   [[wp:Dot product|dot product]].
***   Wikipedia   [[wp:Cross product|cross product]].
***   Wikipedia   [[wp:Triple product|triple product]].
***   Wikipedia   [[wp:Hodge star operator|hodge star operator]]
***   Wikipedia   [[wp:Inner product space|inner product space]]
***   Wikipedia   [[wp:Outer product|outer product]]
***   Wikipedia   [[wp:Interior product|interior product]]
***   Wikipedia   [[wp:Exterior product|exterior product]]
***   Wikipedia   [[wp:Wedge product|wedge product]]
***   Wikipedia   [[wp:Curry product|curry product]]
***   Wikipedia   [[wp:Pfaffian product|pfaffian product]]
*   [[Matrices]]
*   [[Bivector]]
*   [[Antivector]]
*   [[Tensor]]
*   [[Quaternion]]
*   [[Rotor]]
*   [[Motor]]
*   [[Sedenion]]
*   [[Octonion]]
<br>
A vector is defined as having three dimensions as being represented by an ordered collection of '''n''' numbers: &nbsp; i.e. for '''n'''='''3''' : (X, Y, Z).
If you imagine a graph with the &nbsp; '''x''' &nbsp; and &nbsp; '''y''' &nbsp; axis being at right angles to each other and having a third, &nbsp; '''z''' &nbsp; axis coming out of the page, then a triplet of numbers, &nbsp; (X, Y, Z) &nbsp; would represent a point in the region, &nbsp; and a vector from the origin to the point.
Given the vectors:
<big> A = (a<sub>1</sub>, a<sub>2</sub>, a<sub>3</sub>) </big>
<big> B = (b<sub>1</sub>, b<sub>2</sub>, b<sub>3</sub>) </big>
<big> C = (c<sub>1</sub>, c<sub>2</sub>, c<sub>3</sub>) </big>
then the following common vector products are defined:
* '''The dot product''' &nbsp; &nbsp; &nbsp; (a scalar quantity)
:::: <big> A • B = a<sub>1</sub>b<sub>1</sub> &nbsp; + &nbsp; a<sub>2</sub>b<sub>2</sub> &nbsp; + &nbsp; a<sub>3</sub>b<sub>3</sub> </big>
* '''The cross product''' &nbsp; &nbsp; &nbsp; (a vector quantity)
:::: <big> A x B = (a<sub>2</sub>b<sub>3</sub>&nbsp; - &nbsp; a<sub>3</sub>b<sub>2</sub>, &nbsp; &nbsp; a<sub>3</sub>b<sub>1</sub> &nbsp; - &nbsp; a<sub>1</sub>b<sub>3</sub>, &nbsp; &nbsp; a<sub>1</sub>b<sub>2</sub> &nbsp; - &nbsp; a<sub>2</sub>b<sub>1</sub>) </big>
* '''The scalar triple product''' &nbsp; &nbsp; &nbsp; (a scalar quantity)
:::: <big> A • (B x C) </big>
* '''The vector triple product''' &nbsp; &nbsp; &nbsp; (a vector quantity)
:::: <big> A x (B x C) </big>
;Task:
Given the three vectors:
a = ( 3, 4, 5)
b = ( 4, 3, 5)
c = (-5, -12, -13)
# Create a named function/subroutine/method to compute the dot product of two vectors.
# Create a function to compute the cross product of two vectors.
# Optionally create a function to compute the scalar triple product of three vectors.
# Optionally create a function to compute the vector triple product of three vectors.
# Compute and display: <code>a • b</code>
# Compute and display: <code>a x b</code>
# Compute and display: <code>a • (b x c)</code>, the scalar triple product.
# Compute and display: <code>a x (b x c)</code>, the vector triple product.