Neat: x⌹y ←→ (⌹(⍉y)+.×y)+.×(⍉y)+.×x. The hand side is just (YⷮY)⁻¹YⷮX, which is equal to Y⁻¹X if Y⁻¹ exists, i.e. Y is square and non-singular. However, the former works for non-square matrices. Nifty.
Still not sure how this relates to least squares exactly.
Hrm. And ⎕DR tells us the storage width of an element and how it's interpreted. The final digit seems to just be an odd number, except for pointers. What's the design decision on that? Is ⎕DR exposing some internal type info which just happens to use the least-significant bit as a rapid "this is a pointer" check or something?
Ah! There's a decent symmetry with `⎕TRACE` too. > The number 0 indicates that a trace control is to be placed immediately prior to exit from the function or operator.
1010⌶ is cool. Kind of like set -x/set -o xtrace. Very nice.
Hrm. It appears that dyalogscript treats Character Output (⍞←blah), depending on if it's executed at the top level or from within a function. At the top level, separate lines with ⍞ get newlines between the output.
For example, a line with ⍞←'Neo-Passéist' ⋄ ⍞←' drudgery', would print out "Neo-Passéist drudgery" on a single line, but if you replace the Diamond with a newline, then the string also gets split between two lines.
Is there any particular reason that the Dyalog CLI doesn't respond to SIGWINCH? It's mildly surprising that one has to send FF (Ctrl-L) just to get it to pick up width changes and the like.
Also, apologies for spamming the channel. Just methodically going through the docs and kind of braindumped here.
I am working on a game using the Key operator to create simple parent tree nodes connected with children. Like (1 3 2 7 11 12) with 1 as a parent node and 3 2 7 11 12 children. The array has all the information via Key to create the nested array. Of course its extremely fast. But I actually nee...
@B.Wilson Sounds like a bug. I've emailed John, who's implementing all this.
@B.Wilson The terminal version doesn't really see development these days (we're always surprised when people prefer it over RIDE), but I've emailed support@dyalog.com about it.
@B.Wilson No worries, but you're always welcome to email support@ too.
Hi everyone :) I'm still new to APL and I'm having a hard time trying to come up with a tacit version of this expression (+\+⌿2↑p),⍥↓+\+⌿2↓p Tried to use forks but I guess I still didn't really understand how to go about it, any suggestions? I would love to get rid of all this duplication
Kinda, I'm still getting used to interpreting this, but it's a great idea!
My first attempt at making it simpler was trying to get rid of the duplicate mention of p with ((+\+⌿2↑⊢),⍥↓(+\+⌿2↓⊢))p but I kept running into LENGTH ERRORs and I couldn't understand what was going on from the diagram alone (and I still don't)
The problem here is that both +\ and +⌿ are monadic, while those trains get parsed as +\+⌿(2↓⊢) i.e. +\ computes the left argument to +⌿ which is all wrong.
Thanks! Unfortunately no, I've only recently started learning about them. I'm taking a learn-as-you-go approach but perhaps I should look a bit more into it
i have my apl ahk script setup to act just like tryapl, with the exception of some communative stuff. are you still interested in having it for your wiki? @Adám
I'm trying to use gnuapl, but when I print a vector, it wraps it even though it's not at the edge of my terminal. Has anyone else encountered this and knows how to fix it ?
does anyone use apl as mathematical notation on paper? I've been wanting to experiment with using APL on paper, but I don't understand enough of it yet