Vector products: Difference between revisions
Content added Content deleted
m (J: a couple minor variations on the cross product themes) |
|||
Line 2,302: | Line 2,302: | ||
<syntaxhighlight lang="j">cross=: (1&|.@[ * 2&|.@]) - 2&|.@[ * 1&|.@]</syntaxhighlight> |
<syntaxhighlight lang="j">cross=: (1&|.@[ * 2&|.@]) - 2&|.@[ * 1&|.@]</syntaxhighlight> |
||
or |
|||
<syntaxhighlight lang="j">cross=: {{ ((1|.x)*2|.y) - (2|.x)*1|.y }}</syntaxhighlight> |
|||
However, there are other valid approaches. For example, a "generalized approach" based on [[j:Essays/Complete Tensor]]: |
However, there are other valid approaches. For example, a "generalized approach" based on [[j:Essays/Complete Tensor]]: |
||
Line 2,312: | Line 2,315: | ||
An alternative definition for cross (based on finding the determinant of a 3 by 3 matrix where one row is unit vectors) could be: |
An alternative definition for cross (based on finding the determinant of a 3 by 3 matrix where one row is unit vectors) could be: |
||
<syntaxhighlight lang="j">cross=: [: > [: -&.>/ .(*&.>) (<"1=i.3) , ,:&:(<"0)</syntaxhighlight> |
<syntaxhighlight lang="j">cross=: [: > [: -&.>/ .(*&.>) (<"1=i.3) , ,:&:(<"0)</syntaxhighlight> |
||
or |
|||
<syntaxhighlight lang="j">cross=: {{ >-L:0/ .(*L:0) (<"1=i.3), x,:&:(<"0) y}}</syntaxhighlight> |
|||
With an implementation of cross product and inner product, the rest of the task becomes trivial: |
With an implementation of cross product and inner product, the rest of the task becomes trivial: |