I installed both Dyalog and RIDE on linux Mint. I can fire up Dyalog no problem. I can start the RIDE but it wants to “connect” to something on port 4502, and i don’t know how to point it to the running instance of Dyalog.
do I start dyalog in a terminal window with specific parameters and then point RIDE to that port for the IDE to talk to it?
EDIT: Ok, so I “kind of” figured it out, but “my solution” seems super convoluted:
I started RIDE and selected Type dropdown to: Listen
Then clicked the LISTEN button that appears under it, that gave me the instructions on how to start the Dyalog interpreter
Please start the remote interpreter with
RIDE_INIT=connect:host:4502
in its environment, so it connects here.
Then went to a terminal window and started the dyalog like so:
– dyalog RIDE_INIT=connect:localhost:4502
This finally starts the familiar RIDE/Dyalog interface that I’m used to on MacOS with all the nice symbols at the top.
NOTE: If I copied the string from the dialogbox on the RIDE side it wouldn’t work, it has to have a proper hostname and localhost works fine as both processes are running on the local host (in 99.999 % of the use cases)
One thing I don’t understand is: Why doesn’t RIDE just fire up the interpreter itself and then connect to it? it can easily check if it’s installed and if it’s installed, there’s no difference in me going over to another shell window or it just firing one up? I’m sure there’s a good reason it’s set up to be like this though.
You can let RIDE start Dyalog by selecting “Start” from the “Type:” selector. Specify parameters directly from the last box on that screen, and save various sets of settings to “profiles”.
Anyway, to answer your first question: just start Dyalog with RIDE_INIT="SERVE::4502"
Interesting. The first time I chose “start” It couldn’t find the interpreter. Now that I’ve played around with the other option of connecting back to the RIDE from Dyalog started in a shell , I can select “Start” and it does find the interpreter. I think some config was missing and when I connected back from console to RIDE it may have tied those confg loose ends and now RIDE can see the interpreter.
Complex number manipulation can be easier in polar coordinate. For example Euler identity exp(j pi) = -1 can be interpreted naturally in the polar coordinates as shown below.
Are there any good places to understand the basic ideas here? I’m not able to follow your diagram because I don’t know anything about what’s going on in it.
Wikipedia covers polar complex plane here: Complex number - Wikipedia
The image is basically the same image that you’ve drawn during the course (horizontal axis real, vertical axis is imaginary).
I have never in my life managed to learn any math by reading a wikipedia page – I think they’re written for people that understand a lot more math than me!
Wikipedia descriptions can be good or bad depending on who has written them (in this case I found it concise and helpful). I was hoping that my handwritten summary does the job (apparently not).
Here is another one that covers the polar representation of complex numbers: https://mathvault.ca/euler-formula/
The link above offers 3 different proofs for exp(a.j) = cos(a) + j sin(a) (I like the calculus proof)
Once you accept that, the polar representation of a complex number follows (ie, a is the angle that the complex number makes with the horizontal axes).
Once you accept the polar representation, the multiplication and power become easy to compute.
power series expansion of e^z: if you don’t want to start from the series expansion of e^z as a given, you can use the “calculus proof” of exp(a.j) = cos(a) + j sin(a) given in the reference above to be convinced that the equality holds. Then, the series expansion of exp(a.j) follows from series expansions of sin and cos
Representation in polar coordinates follows from the same equation exp(a.j) = cos(a) + j sin(a). It’s not quite unique because, for example, r.exp(j.a) = r.exp(j.(a+2k.pi)) for all integer k
Power as repeated multiplication: That’s true for integer exponent, but the power definition also applies to non-integers and non-rational number where the “repeated multiplication” equivalence does not hold.
Working with complex numbers in polar coordinate makes power and multiplication a bit easier. For example (to use your example in the APL session yesterday):
Sorry I’m not saying that I don’t understand why those 3 things have those implications. I’m saying I don’t really understand what those 3 things are at all.
I’ve got some links below that I think are sufficient to understand the exponential-notation for complex numbers, but I thought perhaps some additional annotation and colourisation of the original pic might help. I’m not sure what I ended up with is useful or a dogs breakfast.
Then multiplying complex numbers “x” and “y” consists of:
– multiplying their amplitudes
– adding their angles (high school maths, but for completeness: Multiplying Powers - YouTube)