On this episode we speak to Michael Higginson, a q programmer who won the
professional class of the 2022 Dyalog competition.
Host: Conor Hoekstra
Guest: Michael Higginson
Panel: Marshall Lochbaum, Rich Park, Stephen Taylor and Bob Therriault.
https://www.arraycast.com/episodes/episode46-mich
As I said, I am speaking only of semantics, not implementation details.
On Fri, 17 Jun 2022, Henry Rich wrote:
u&.> Is backed by special code that avoids explicit boxing and unboxing.
And, if the contents of the boxes are inplaceable, u is executed inplace.
Henry Rich
On Fri, Jun 17, 2022, 1
u&.> Is backed by special code that avoids explicit boxing and unboxing.
And, if the contents of the boxes are inplaceable, u is executed inplace.
Henry Rich
On Fri, Jun 17, 2022, 1:39 AM Elijah Stone wrote:
> On Thu, 16 Jun 2022, Marshall Lochbaum wrote:
>
> > You seem to think building these
On Thu, 16 Jun 2022, Marshall Lochbaum wrote:
You seem to think building these out of boxes makes some philosophical
difference. I disagree. Boxes are used to implement array nesting.
I do think it makes a difference. But there is also a practical question:
what patterns does the language
The problems you're seeing in BQN appear in J as well as soon as you
start making inhomogeneous boxed arrays (compare J {:: to BQN ⊑). You
seem to think building these out of boxes makes some philosophical
difference. I disagree. Boxes are used to implement array nesting.
> Exactly. Wouldn't it m
On Wed, Jun 15, 2022 at 11:53 PM Elijah Stone wrote:
> Six isn't enough? (Actually, j has three: L: S: L.; I don't think they were
> worthwhile.)
Personally, I have found J's L: S: and L. to be useful.
That said, the most frequently relevant numbers are 0 and 1. (This
seems to be a recurring th
On Wed, 15 Jun 2022, Marshall Lochbaum wrote:
I do agree that using nesting for homogeneous shapes is inelegant. What
they're doing in this case is like putting a marker in the shape, which
could be written 2 3|3 4 in the boxed array A *&.> < B. It's weird that the
way to do this is to switch
Ah, sorry to mischaracterize. Substitute "it would be madness" for "it's
madness", please!
I do agree that using nesting for homogeneous shapes is inelegant. What
they're doing in this case is like putting a marker in the shape, which
could be written 2 3|3 4 in the boxed array A *&.> < B. It's we
Modifying strides only means you can't reason about data locality. What if
you are doing fft and you need to transpose to make it go fast?
And yes, numpy's lack of rank as well as its braindead conformability rules
mean you need to munge shape in superfluous ways.
On Wed, 15 Jun 2022, Alex S
On Wed, 15 Jun 2022, Marshall Lochbaum wrote:
my opposition to J's flat array model (I think it's almost always worse than
BQN's based model) is different from my stance on flat arrays BQN can also
represent and optimize these, although there's no name for the category;
they'd be called arrays
I use NumPy a lot for work, and something I realized when listening to this
podcast was that I use NumPy's equivalent to dyadic transpose _all the
time_ for machine learning tasks.
Recently I had to transpose an array of N 64x64 RGB images (shape: N, 3,
64, 64) into something like (shape: N, 64, 6
I think it's quite reasonable to solve your "general" problem by
applying a transpose, and maybe filling in some length-1 axes, before an
n-dimensional Kronecker product. There's a reason BQN still has a
Reorder Axes primitive! The Kronecker product alone is interesting
because it can easily be see
1. Refer to henry baker, 'On the Permutations of a Vector Obtainable through
the Restructure and Transpose Operators of APL'
(https://plover.com/~mjd/misc/hbaker-archive/APLPerms.ps.Z). I don't think it
is a _particularly_ good paper, but it is alright, and it is relevant.
2. Your join is int
Thanks Marshall,
That's indeed very slick, and something I reached for in J on more than one
occasion, when handling block matrices.
Best regards,
Jan-Pieter
On Wed, 15 Jun 2022, 23:06 Marshall Lochbaum, wrote:
> It's an interesting transpose, but BQN has a much more elegant solution:
> with m
It's an interesting transpose, but BQN has a much more elegant solution:
with multidimensional Join, the product of arrays is just ∾a×https://mlochbaum.github.io/BQN/try.html#code=YSDihpAgMTArMuKAvzPipYrihpU2CmIg4oaQIDPigL804qWK4oaVMTIK4oi+YcOXPGI=
Docs: https://mlochbaum.github.io/BQN/doc/join.ht
Hi,
I'd like to thank the entire Arraycast crew for this excellent podcast, I'm
always looking forward to the next episode. I find it super informative,
with a healthy dose of humour. Great job; please continue ;).
Since you didn't seem to find many applications of dyadic transpose, I'd
like to p
Hi everyone,
In this episode we explore monadic and dyadic transpose and the ways it is
interpreted in APL, BQN and J.
Host: Conor Hoekstra Panel: Marshall Lochbaum, Adám Brudzewsky, Stephen Taylor
and Bob Therriault.
https://www.arraycast.com/episodes/episode28-rank-and-leading-axis-gbbpe
Ch
17 matches
Mail list logo