Condense: Difference between revisions

From NARS2000
Jump to navigationJump to search
No edit summary
 
Line 69: Line 69:
==Identities==
==Identities==


<apll>R ←→ &lt;    &gt;    R</apll> &nbsp;&nbsp;for all <apll>R</apll> (see [[Dilate]] for the definition of monadic Right Caret)<br />
<apll> R ←→ &lt;    &gt;    R</apll> &nbsp;&nbsp;for all Real (<apll>1==R</apll>) <apll>R</apll> (see [[Dilate]] for the definition of monadic Right Caret)<br />
<apll>R ←→ &lt;[X] &gt;[X] R</apll> &nbsp;&nbsp;for all non-scalar <apll>R</apll><br />
<apll> R ←→ &lt;[X] &gt;[X] R</apll> &nbsp;&nbsp;for all Real (<apll>1==R</apll>) <apll>R</apll><br />
<apll>R ←→ &gt;    &lt;    R</apll> &nbsp;&nbsp;for all <apll>R</apll><br />
<apll> R ←→ &gt;    &lt;    R</apll> &nbsp;&nbsp;for all <apll>R</apll> with <apll>(¯1↑⍴  R)∊1 2 4 8</apll><br />
<apll>R ←→ &gt;[X] &lt;[X] R</apll> &nbsp;&nbsp;for all non-scalar <apll>R</apll> with <apll>(⍴R)[X]∊1 2 4 8</apll><br />
<apll>1/R ←→ &gt;    &lt;    R</apll> &nbsp;&nbsp;for all <apll>R</apll> with <apll>(¯1↑⍴1/R)∊1 2 4 8</apll><br />
<apll> R ←→ &gt;[X] &lt;[X] R</apll> &nbsp;&nbsp;for all non-scalar <apll>R</apll> with <apll>(⍴R)[X]∊1 2 4 8</apll><br />


== Acknowledgements==
== Acknowledgements==


<p>This symbol and its name were suggested by David A. Rabenhorst.</p>
<p>This symbol and its name were suggested by David A. Rabenhorst.</p>

Latest revision as of 16:14, 15 April 2018

Z←<R    or    Z←<[X] R converts R to a Hypercomplex array if (⍴R)[X]∊2 4 8 or a Real array if (⍴R)[X]=1.
X is an optional numeric singleton axis with X∊⍳⍴⍴R &mddash; otherwise (including if R is a scalar), an AXIS ERROR is signalled. If [X] is omitted, the operation applies to the last axis.
R is an arbitrary Real numeric array, i.e., Fixed-Precision Boolean, Integer, Floating Point, Arithmetic Progression Array, or Multiple-Precision Integer/Rational or Floating Point — otherwise, a DOMAIN ERROR is signalled. The X-axis length (⍴R)[X] must be 1, 2, 4, or 8 — otherwise, a LENGTH ERROR is signalled.
Z is the corresponding Real or Hypercomplex array of shape (X≠⍳⍴⍴R)/⍴R using the numbers along the X-axis of R as the coefficients of the resulting Real or Hypercomplex array. If
  • (⍴R)[X] is 1, the result is an array of Real numbers,
  • (⍴R)[X] is 2, the result is an array of Complex numbers,
  • (⍴R)[X] is 4, the result is an array of Quaternion numbers,
  • (⍴R)[X] is 8, the result is an array of Octonion numbers.


For example,

      <23 23       <10 20 10J20       <2 4⍴⍳8 1i2j3k4 5i6j7k8       <[1] 2 4⍴⍳8 1J5 2J6 3J7 4J8       <2 8⍴(⍳8),⌽⍳8 1i2j3k4l5ij6jk7kl8 8i7j6k5l4ij3jk2kl1       <[1] 2 8⍴(⍳8),⌽⍳8 1J8 2J7 3J6 4J5 5J4 6J3 7J2 8J1       ⍴⎕←<2 3 1⍴⍳6 1 2 3 4 5 6 2 3       ⍴⎕←<2 3 2⍴(⍳6),⌽⍳6 1J2 3J4 5J6 6J5 4J3 2J1 2 3       ⍴⎕←<[1] 2 3 2⍴(⍳6),⌽⍳6 1J6 2J5 3J4 4J3 5J2 6J1 3 2       ⍴⎕←<2 3 4⍴(⍳12),⌽⍳12  1i2j3k4   5i6j7k8 9i10j11k12 12i11j10k9 8i7j6k5 4i3j2k1 2 3       ⍴⎕←<2 3 8⍴(⍳24),⌽⍳24  1i2j3k4l5ij6jk7kl8         9i10j11k12l13ij14jk15kl16 17i18j19k20l21ij22jk23kl24 24i23j22k21l20ij19jk18kl17 16i15j14k13l12ij11jk10kl9   8i7j6k5l4ij3jk2kl1 2 3

Identities

R ←→ < > R   for all Real (1==R) R (see Dilate for the definition of monadic Right Caret)
R ←→ <[X] >[X] R   for all Real (1==R) R
R ←→ > < R   for all R with (¯1↑⍴ R)∊1 2 4 8
1/R ←→ > < R   for all R with (¯1↑⍴1/R)∊1 2 4 8
R ←→ >[X] <[X] R   for all non-scalar R with (⍴R)[X]∊1 2 4 8

Acknowledgements

This symbol and its name were suggested by David A. Rabenhorst.