Conformability: Difference between revisions

Jump to navigation Jump to search
173 bytes added ,  22:53, 6 July 2023
m
→‎Frame conformability: -- link to Rank (operator) page
m (Correction: result shape of (f⍤l r) is result shape (not rank) of f appended to the final frame. Also use code to make the expression clearer.)
m (→‎Frame conformability: -- link to Rank (operator) page)
Line 13: Line 13:
== Frame conformability ==
== Frame conformability ==


The [[Rank operator]] and [[function rank]] check for conformability not on the entire [[shape]]s of arguments, but only on their [[frame]]s. The same procedure applies to determine whether two frames conform, and if <syntaxhighlight lang=apl inline>f</syntaxhighlight>'s result shape is known, then the result shape of <syntaxhighlight lang=apl inline>f⍤l r</syntaxhighlight> can be found by appending it to the shape obtained from conformability on the frames. Rather than copying [[elements]] of the extended argument to match the other one, [[cell]]s are copied.
The [[Rank operator]] and [[function rank]] check for conformability not on the entire [[shape]]s of arguments, but only on their [[frame]]s. The same procedure applies to determine whether two frames conform, and if <syntaxhighlight lang=apl inline>f</syntaxhighlight>'s result shape is known, then the result shape of <syntaxhighlight lang=apl inline>f⍤l r</syntaxhighlight> can be found by appending it to the shape obtained from conformability on the frames computed from [https://aplwiki.com/wiki/Rank_(operator) ranks] <syntaxhighlight lang=apl inline>l</syntaxhighlight> and <syntaxhighlight lang=apl inline>r</syntaxhighlight>. Rather than copying [[elements]] of the extended argument to match the other one, [[cell]]s are copied.


No language uses [[singleton extension]] for frame conformability: [[SHARP APL]] and [[J]] do not implement singleton extension, and [[Dyalog APL]] and [[A+]] have singleton extension for scalar dyadics but not for Rank. Of these, [[J]] and [[A+]] use [[leading axis agreement]] while SHARP and Dyalog use only empty-frame extension, the equivalent of scalar extension.
No language uses [[singleton extension]] for frame conformability: [[SHARP APL]] and [[J]] do not implement singleton extension, and [[Dyalog APL]] and [[A+]] have singleton extension for scalar dyadics but not for Rank. Of these, [[J]] and [[A+]] use [[leading axis agreement]] while SHARP and Dyalog use only empty-frame extension, the equivalent of scalar extension.
trusted
83

edits

Navigation menu