APL & Array programming

I refer only to “multiplying powers by adding exponents” - not the whole complex number topic.
Seems taught around Year 8 or Year 9.

Ah yes we did do that!

1 Like

Hi, 3blue1brown had a fantastic explanation for the e notation of complex numbers. I think it was this one from the “lockdown math” series:

It should explain why -1=*(○0J1)
Along with other equations, it is fun to watch. and as always it has very intuitive visualizations. Like this one showing why *0J1∘× goes around a circle with a radius of 1:

I was trying to get a bit easier to read ei function and I’ve notices that I can’t use Imaginary - APL Wiki in my Dyalog installation. Do you know how to enable extended APL?

so that I could write: {*⌾⍵} to represent e^(i*⍵) instead of {*0J1x⍵}

Dyalog APL Extended is a library I made (and since abandoned). You can’t actually add glyphs to APL, so my library works as a translation layer. You can, however, create the function ix←0J1∘×.

1 Like

Thank you!
It is a shame that the complex glyph didn’t end up in Dyalog especially when you think of APL as notation. Thank you for info that you can’t use all utf-8 characters for function names. I was assuming that it is possible as in swift but it make sense to keep the glyphs reserved for the universally understood language primitives. I can see how hard it would be to read apl when you never know where to look up a new character.

Your reasoning about keeping the glyphs immutable is exactly right. Extended Dyalog has acted as a testing ground for new primitives, though, and maybe we will add this as a primitive one day. Meanwhile, also have a look at dyadic where ¯11○⍵ is ⍵×0J1 and ¯12○⍵ is *⍵×0J1.

Sometimes, when I want a glyph, I use a permitted symbol which doesn’t look very letter-like. E.g. you can use the circled uppercase O although this renders as an underscored O in the default Dyalog font.

1 Like

The ACM Digital Library now includes a paper for ARRAY 23, which will take place in Orlando later this month. Download U-Net CNN in APL: Exploring Zero-Framework, Zero-Library Machine Learning free of charge.

2 Likes