Ravel: Difference between revisions
Jump to navigation
Jump to search
m
Text replacement - "</code>" to "</source>"
Miraheze>Adám Brudzewsky m (Text replacement - "<code>" to "<source lang=apl inline>") |
Miraheze>Adám Brudzewsky m (Text replacement - "</code>" to "</source>") |
||
Line 50: | Line 50: | ||
== Description == | == Description == | ||
The ravel of an array <source lang=apl inline>A</ | The ravel of an array <source lang=apl inline>A</source> has shape <source lang=apl inline>,×/⍴A</source> and shares elements with <source lang=apl inline>A</source>. Thus Ravel may be modelled as a [[Reshape|reshaping]] function <source lang=apl inline>{(×/⍴⍵)⍴⍵}</source>. The [[element]] with [[index]] [[vector]] <source lang=apl inline>I</source> is moved to index <source lang=apl inline>(⍴A)⊥I</source> in [[index origin]] 0, or <source lang=apl inline>⎕IO+(⍴A)⊥I-⎕IO</source> in arbitrary index origin. | ||
As with any reshaping, the result of Ravel has the same [[prototype]] as the argument. | As with any reshaping, the result of Ravel has the same [[prototype]] as the argument. |