Shouldn't there be a diagram of the complex plane so that people can see what it's the right half plane of? On top of it, there's a picture of a plane which is confusing.
Fascinating subject though, in engineering class it was quite surprising how this bunch of functions tracing lines and dots on the complex plane would be relevant to just about everything. Perhaps the first lesson is that even if you know how a system works, you can't just take the inverse function to control what comes out.
> Shouldn't there be a diagram of the complex plane so that people can see what it's the right half plane of?
Author here. Yes! Very fair criticism. I was trying to strike a balance between making the concept approachable for those who don't have a background involving complex numbers, but that certainly leaves the name of the concept more confusing. I should add it in a footnote at least.
And I did honestly not think about the potential for confusion between plane // airplane. An airplane was the most familiar example system I could think of to explain the concept. Oops!
> Perhaps the first lesson is that even if you know how a system works, you can't just take the inverse function to control what comes out.
That's a great point too. It probably even deserves its own article.
I went down this rabbit hole in grad and my opinion is that Control Theory is good for writing academic papers, but has few applications besides the classical ones (mostly in mechanics).
Techniques often need very strong assumptions about the systems being modeled, which severely limits their usefulness.
In fact, CT is sort of the antitheses of the currently most hyped way of modeling systems: Machine Learning.
Also systems modeling is not the same as control theory. You could indeed utilize machine learning to model a system, which you could then control by classical controllers.
On the other hand, control algorithms that use machine learning are a thing.
> Stuff like Nyquist criterion just sort of appears out of nowhere as functions.
Black's canonical 1934 paper[1] Stabilized Feedback Amplifiers, which had an outsized influence on EE classical control theory, may have something to do with that:
Results of experiments, however, seemed to indicate something more was involved and these matters were described to Mr. H. Nyquist, who developed a more general criterion for freedom from instability applicable to an amplifier having linear positive constants.
> the potential for confusion between plane // airplane
This reminds me of the famous (possibly apocryphal) story of the algebraic geometer of middle eastern descent who was brought aside by Air Marshals for talking about how a particular problem could be solved by “blowing up points on a plane”
The main thing missing for me: presumably if there's a plane, you're graphing something vs something. What are the X and Y? (or, uh, the x and y in the x+iy) Talk of a plane remains rather vague without knowing that. Maybe I missed it, but I looked twice, and read the comments on this page, and couldn't see it mentioned at all. There are a couple of graphs/planes, but they seem to be a different kind of thing.
Uh that first link is just a picture of a right complex half-plane... I know what that is, having done quite a bit of complex maths, but the kind that uses i, not the kind that uses j, e.g. I love Visual Complex Analysis. I just don't know what things are being graphed in the article! Sorry I didn't explain better. Ok thanks for the 13pp article, I will have a look sometime soon. I was hoping someone could just tell me the answer.
edit: I looked at the first few pages of the paper but I feel none the wiser, at all.
edit2: Ah... "the poles and zeros of a transfer function may be complex, and the system dynamics may be represented graphically by plotting their locations on the complex s-plane". The transfer function (whatever that is) is a rational function of the complex variable s, i.e. (in my words) it's a fraction with complex polynomials for numerator and denominator. The zeros are the roots of the numerator and the poles are the roots of the denominator.
Ok, I still don't know what the transfer function is or means or comes from, but am much less in the dark, thank you! :-)
> I know what that is, having done quite a bit of complex maths, but the kind that uses i, not the kind that uses j
Some things in life leave a lasting impression[1]. :eye_roll:
It sounds like what you're looking for is an explanation of root locus analysis[2].
In the simplest control case, a transfer function is nothing more than the expression of a continuous closed-loop LTI system's output Y(s) over its input X(s) in the Laplace domain, conveniently abstracted as its forward path G(s) and negative feedback path H(s).
From there, Routh-Hurwitz method[3] can be used to determine stability of the system.
I see that /u/metaphor has given you some formal references.
I'd like to chime in with a more intuition-based explanation of what transfer functions are, from my recollections of college control theory classes in both electrical signals and a more general "systems engineering" application:
Basically, the transfer function is a different perspective on modelling/representing a system's output as a function of its input. Classically, when modelling and/or reasoning about a system in physics, the perspective we adopt is that of "input" being the forward advance of time (and sometimes initial conditions) and "output" being the amplitude of the physical quantity(ies) or dimension(s) of the system that interest(s) us. The transfer function, then, is when we switch perspectives to consider the "input" to be a sinusoidal signal (characterized by amplitude and phase over time), and the "output" is the new amplitude and phase of that signal [after "traversing" the system]. Of course, you're actually working with a closed-loop, but most input/output systems can be modeled as a closed-loop if you sufficiently broaden the system's boundaries.
This turns out to be useful for/in several reasons/contexts:
- many physical phenomena are sine waves (or, thanks to Fourier, a sum of sometimes many different sine waves), and often times a system's purpose (to us humans) is to control such a phenomena precisely along the lines of "do this to the amplitude, and/or adjust the phase like so" - dampening, feedback loops, more sophisticated processes like hysteresis, maintaining a steady state given incoming perturbations, etc. In these cases the transfer function ends up being the mathematical expression of that system's function in the "domain language" of that problem, so to speak.
- It turns out that often, when working with systems whose "classical" representation involve components like exponentials or sine and cosine of time (which are "just" complex exponentials of those quantities), the corresponding transfer functions are "simple" fractions of polynomials. More precisely, passing into the Langrange domain allows transforming a differential equation problem into a complex polynomial fractions problem - often much easier to crunch/solve. Furthermore, in the Lagrange domain, de-phasing a signal by pi/2 is equivalent to simply adding 1/(j * signal's frequency) to that signal (if I recall correctly). This makes much of the math more accessible to human intuition, and especially on more complex systems that have several "moving parts" the linear quality of polynomials becomes invaluable.
Personally, I remember quickly adopting, once I'd grokked it, the transfer function perspective when trying to reason about the effect of introducing a capacitor into an existing circuit - analog or DC[0] - as well as things like how the material properties of a door contribute to its behavior as a low-pass filter on sound waves. Sitting down and doing the math, the formulas that I would arrive at spoke much more clearly to me. Also, you are sort of adopting a "time-agnostic" (or perhaps time-invariant) perspective, where the system itself does not change over time. Instead, its' input is characterized by how it behaves over time, and the transfer function (especially when plotted) gives you a clear, direct sense of what the output's "behavior over time" will accordingly be. Notably, it's here that the zeroes of the OP become so meaningful.
[0]: part of what initially started making things "tick" for me was when a professor explained that an impulse on an input signal (i.e. a quasi-instant variation, then back to the preceding "steady state" value of it - i.e. a DC current "turning on"), to a transfer function, "looks like" a sine wave signal with a constant a...
You had me at "a more intuition-based explanation of what transfer functions are". :-) Thank you so much for this.
edit: By "Lagrange" did you possibly mean to write "Laplace"? I confuse those two gentlemen too. p.s. I just learnt Lagrange was Italian! born Giuseppe Luigi Lagrangia.
Really good article. Make changes and corrections to it, sure, but be careful not to over react to the criticism and make too many changes such that you then get even more critical feedback and make more corrections and get worse feedback and bigger corrections and oh god help me worse feedback and bigger changes and stop me please worse feedback and help bigger changes seriously kill me bigger feedback worse changes arggggh
My signals processing professor apparently knew one joke, and one joke only.
"A LOT (Polish airline) airplane is about to land in New York City; as they align for final approach, the first officer notifies the passengers that those seated on the right can now see the Statue of Liberty. A number of passengers get up from their seats left of the aisle and lean over the people seated on the right to get a glimpse of the statue. Plane promptly crashes.
Why? There were too many Poles in the right half of the plane.
A control system with a pole (in the control systems sense) in the right hand half of the plane will be unstable. If the system changes during operation, the pole can move around the coordinate plane.* As it goes from the left (stable) towards the right (unstable) the system will begin to oscillate as the pole crosses the Y axis.
In the joke, a Pole (person of Polish origin) was in the left of the (air) plane. When they crossed the aisle to look out the window, the (air) plane became unstable and crashed (pole in the right hand plane).
*My control systems professor loved to explain using an example of a driver as a control system. The system (car + human driver) seeks to minimize error against the lines on the road. If the driver starts drinking, one of the system's poles will move right. The car will start overshooting first, then will start weaving, before finally crashing when the driver is too drunk.
Interestingly, I recently spoke to a loadmaster who told me that left/right side weight distributions are far less important than forward/aft, to the point that for the majority of aircraft they're loading, imbalance to the left or right side of the plane aren't accounted for at all.
Yes you want the center of mass to be more forward than the center of lift. Otherwise, a small deviation in the pitch becomes hard to impossible to recover -- the system is unstable and stalls extremely easily. If that is a fighter plane of course you want that, so you make sure the opposite is true, and have a computer counteract that during normal flight.
I didn't downvote it, because it's not a bad attempt at an answer if you don't know the context, but the actual joke is completely different and about calculus and control systems. The right side of the plane is double meaning for the right half of the complex plane in dynamical systems analysis, which is the area where the real part of every point is positive. If your poles are on the right half of the complex plane, then the system is unstable and the output will tend towards exponential growth (going out of control) for any change in input.
The question is about the literal meaning of the joke, he knows what a pole is within the context of calculus. He didn't understand within the context of the joke what lead to the crash.
It's a joke. There is no cause within the literal context. The humor comes from word play.
After the plane crashed, one survivor was stranded in the wilderness. Miles from civilization, he cried and screamed until he got hoarse. Then he mounted the horse and rode back to civilization. Back at home, he found himself locked out of his house, since he lost his house keys with his luggage on the plane. He sat on the porch and sang various lamentations, until he found the right key and unlocked the door.
The joke relies on the fact that keys unlock doors, this is the cause, just like the prior one relies on the assumption that people rushing to one side crashes the plane.
If there are 10 comments explaining what a key is in the context of music and I add another that says "I understand what the key refers to but how was the door opened", one can only assume I lack the knowledge that keys open doors.
Sometimes people understand the more complex behaviours but somehow miss the simpler explanations, it's happened to me before.
But the plane didn’t crash because of weight imbalance - if the Poles all went to the left half of the plane, it wouldn’t have crashed, because that would make the system stable!
tl; dr: The system is unstable as it has positive feedback loops. You can "first day of class" think of it as the implied series 1/(s-p) -- p the pole, s the Laplace variable -- exists and converges.
And in particular you want that series to converge on the imaginary axis which means it does not diverge in the frequency domain (Fourier transform). Essentially, that means that you have regions of frequencies where your system diverges/amplifies them excessively and thus breaks down: is unstable. Filters do the opposite.
P.S. The other note is that for real linear time invariant systems the region of convergence of the series/Laplace transform of the system must be positive for the system to be causal -- and thus real and implementable. So the joke could also have been modified to get a magical and unstable plane.
> You can "first day of class" think of it as the implied series 1/(s-p) -- p the pole, s the Laplace variable -- exists and converges. And in particular you want that series to converge on the imaginary axis which means it does not diverge in the frequency domain (Fourier transform)
If this was the first day of any class I took, I would have dropped it before the second day.
That's why I feel it's good to learn a bit about Laplace transform for anybody doing anything technical. It has so many applications you can hardly get away from it.
That makes me think of calculus in freshman's year. The first week the prof explained all maths we had learned in highschool, and then seemingly continued that same pace every week, it was rough. Especially for some of the smart kids who had never experienced learning material coming at them faster than they could take it in. The types who opened their textbook the night before the exam and would ace it in highschool got a real test of character.
That's why letting kids cruise in high school is a terrible mistake. So many school systems are uninterested in making sure everyone is challenged, especially in maths.
University is good because you'll meet lots of people who are smarter than you are.
I don't even know how kids cruised in high school and still got their diplomas.
I flunked out of high school despite getting A's and B's on all my tests because I never did my homework which was always at least 50% of our grade.
Trigonometry was so interesting to me as a 15 year old that I decided to make it my internet alias. 95+% on every test (even trig identities!), still got a C in the class, with the teacher taking me aside 1-on-1 to tell me "I'm breaking the rules to give you this C when I'm supposed to be giving you an F because you only did 2 of the 30 homework assignments."
In my highschool maths grades were always 100% based on tests.
I get the idea of motivating students to do their homework failing them when they test perfect doesn't make sense.
I like it when the homework allows the students to skip questions on the test. That way you reward the work but still let's the students catch up if they didn't do the homework.
I like what my Calculus teacher in college did. Homework was only 3% of your grade, but if you did at least 80% of the homework, then you could redo any questions you got wrong on the tests and midterm.
A dynamic control system is modeled by a set of dynamic equations, usually expressed as partial derivatives. To analyze the behaviour of such a system, the equation is solved or approximated in the complex time domain. The relevant part of the solution is where the real part of time is positive, i.e. the right-half plane.
A pole is a coordinate for which the dynamic equations have no solution (y = 1/z has a pole at z=0), which results in undefined or uncontrolled behaviour.
I don't think a vague but more precise mathematical explanation of the terms zero and pole are even that difficult to understand, x has a zero, 1/x has a pole, people kind of know what that means if you look at a graph of a pole, I don't think a rigorous definition of pole is that far off - a pole of f is just a zero of 1/f.
Instead we get waffle like:
> Again roughly speaking, zeros describe mathematically how a system reacts to some input in the short term, while poles describe how a system reacts in the long term.
I know it's "roughly" speaking, but isn't it too rough?
Did we have the same professor? Mine loved that joke too.
The students in the classroom next door always knew when Prof Lipovski told his joke because everybody along the hallway could hear the loud groan emanating from our room.
Heard a varient at Berkeley from a professor of Applied Math, which you would probably no longer hear.
Generic airline, specifically Polish people were asked to move to the left side of the plane. Because "Poles in the right half plane cause instability."
(As for application in economics, economist Steve Keen, for one, explicitly models time delays and dynamics, with results worth learning from, AFAIK.)
There was nearly a disaster earlier in that flight too, when the pilots got sick from food poisoning and the cabin crew had to ask if any of the passengers knew how to fly a plane. As it turned out, one of the passengers had flown many years previously, and offered to try.
When he reached the cockpit, however, he took one look at all of the controls on the modern aircraft and realized that he wasn't going to be able to operate it. When the chief steward asked why, he replied, "I am just a simple Pole in a complex plane".
It has a grain of truth to it. Poland could donate MiGs to Ukraine, but other countries with US fighters could not, because Ukrainian soldiers didn't know how to fly them.
Actually not true. Many Ukrainian fighter pilots have received training in the US, where they flew F-16:s. (That is, before the current phase of the conflict.)
The hard part is actually the maintenance crews. A modern fighter plane requires constant intensive mainentance, they generally spend much more time being worked on than they spend actually in the air. And this maintenance work requires a lot of specific skills that don't necessarily translate well or at all between aircraft types.
As a resident of post-Brexit Britain, I was horrified as I read this expecting it to have the opposite punchline and to turn into an anti-immigration joke.
For those that don't know, Polish (and other Eastern European) migration was a major issue raised by some in the Brexit campaign.
A more horrific and offensive version of the joke, which I actually saw recently as output from fortune [1], adds a part about the contour integral of the whole of Europe still being zero because the Poles are removable.
The article saying zeros (where the transfer function is 0) when it should be saying poles (where the denominator of the rational function is zero), right?
Controls engineer here. The author’s control theory knowledge is correct - a RHP zero indicates that corrective action will begin in the wrong direction (which the article compares well with countersteering on a bike). The technical term is a “non minimum phase system”. It’s possible this will lead to instability, but in general the long term stability of a system is determined by the location of its poles (which is more applicable to the author’s ice cream example). Poles in the RHP will cause a system to blow up.
My gripe with the article is that the author tries to wow you with some obscure technical points about a system which is unmodeled and he does not understand, to wave his hands at a vague conclusion. If he had made the same point using common English phrases that encapsulate the idea (“positive feedback loop”, “we have to let it get worse before it gets better”, etc), then it would be a lot clearer how wispy his argument is.
Something I don't understand: on the one hand, people on HN seems to enjoy this kind of articles. On the other hand, they upvote any article who decries interviews where candidates are asked things that involves knowing some theory.
So, if we think knowing theory is useful in cracking hard problems, why is it wrong to asses its knowledge in an interview?
HN's readership isn't homogeneous. There's room for both points of view.
I've done a lot of useful work in feedback systems without ever really grokking Laplacian notation and the notion of complex frequency in general. A lot of the actual numerical methods used in real life boil down to a few canned formulas. But I know enough about the underlying theory to appreciate where the canned formulas come from, and fully intend to sit down some day and go through the whole process. Articles like this are interesting if only for the occasional gems in the comments, such as John N.'s pointer to Maxwell's 'On Governors' paper that I'd never run across before.
At the same time, I don't see much upside in making hiring decisions on the basis of whether someone can regurgitate a bunch of textbook math. I'd rather spend the interview talking about control problems the candidate has dealt with personally, how they were handled, and what the candidate learned from them.
While I don't claim to have the answer to your question, I think there's a jump you're making that may not be so straightforward and somewhat explain things.
You say "people on HN seems to enjoy this kind of articles" which seems reasonable, given the comments here. But then you jump to "we think knowing theory is useful in cracking hard problems".
Going from the first to the second is not quite so clear. That is, someone may enjoy such an article and even learning some theory, but not necessarily because they think they will directly apply it. People sometimes just enjoy learning stuff or reading about it and then forgetting it.
You also make a second jump, because other factors may be involved. Maybe the theory asked in the interviews is completely unrelated to the things involved in the job. The job may not even require cracking hard problems. These are frequent occurrences -in my experience, at least-, and clearly seem compatible with thinking that knowing theory is good in general.
Programming and engineering are neighbors, so it is interesting to see what's going on over there. But many engineering analysis tools are not really useful for normal programming jobs (unless you happen to be working on engineering software, control systems, or something like that).
Because programming is rarely about cracking hard problems. That's actually why the people HN enjoy the kind of article, it takes them away from the drudgery of their job.
The classic paper, Maxwell's "On governors". (1869) [1] This is the first theoretical analysis of feedback.
It will be seen that the motion of a machine with its governor consists in general of a uniform motion, combined with a disturbance which may be expressed as the sum of several component motions. These components may be of four different kinds:-
(1) The disturbance may continually increase.
(2) It may continually diminish.
(3) It may be an oscillation of continually increasing amplitude.
(4) It may be an oscillation of continually decreasing amplitude.
The first and third cases are evidently inconsistent with the stability of the motion; and the second and fourth alone are admissible in a good governor. This condition is mathematically equivalent to the condition that all the possible roots, and all the possible parts of the impossible roots, of a certain equation shall be negative.
That is, in the left half-plane.
(Terminology has changed. Maxwell says "disturbance" where today, the term "error" would be used.
Today, "disturbance" means an input which disturbs stability, while error is an output.)
Maxwell got so much right in that paper, and it was a long time before anybody picked up on that result.
Now, where it looks like the author is going is into economic territory. Basic economics talks about "economic equilibrium". The concept is that restoring forces will bring supply and demand into equilibrium. But basic control theory tells us that may not happen. Any system with delay in it can potentially be unstable. Too much delay, and even simple systems will not stabilize.
In the real world all exponentials are sigmoids eventually, so what we actually get is is a recession with a drastic reallocation of resources (creative destruction).
Not really, there are plenty that are sinusoids which are just complex exponentials.
The real trouble with sigmoids is when the saturation point is beyond physically meaningful quantities of the system. See the tacoma narrows bridge collapse.
Isn't it true to say that a theoretical exponential becomes a practical sigmoid precisely because some property of the system has become saturated and gone nonlinear?
(Just trying to get this clear in my own head by writing it down.)
When a real world system goes non linear (like the Tacoma Narrows case) you don’t get a sigmoid but something catastrophic.
(If you graph the amplitude of the vibrations they increase and increase — and then — if it was a sigmoid they’d level out and stay at the max amplitude… but in reality they go to zero as there is no bridge left to vibrate.)
When a company is “growing exponentially” it may saturate the market and then the growth slows in a nice sigmoid function. That’s common. But if, for example, the investors insist that the company must maintain the growth at all costs… it breaks laws, gets destroyed and there’s no company left to grow. No exponential curve, no sigmoid, no signal at all.
Both the sigmoid and the total collapse are typical real world results of what a simple model would expect to be an unbounded exponential curve.
This is very well explained, but there should be a simpler name for this effect than right-half-plane zeros if the author wants to spread the concept beyond control theory.
The greatest sin of undergraduate engineering education is sequestering signals and systems into electrical engineering curricula. I understand why it's done that way (I even had to fight to take the course early, sidestepping some prereqs for reasons).
But it's really so foundational to understanding concepts of stability, resonance, information/energy flow (from the conceptual perspective), and the simple analytical tools for building a solid conceptual base. It takes a semester to hammer home that step response matters, positive feedback bad, negative feedback usually good, and topologies are useful.
I can give a few. In general, the theory behind rendering generally treats what's on the screen as a discretization of a continuous visual signal. Post processing especially is largely about signal processing.
Anti-aliasing (AA) is a very clear example where the lack of it leads to moiré patterns and jaggies. Understanding a lot of AA techniques is simplified by seeing the frame not as a discrete set of pixels but as a continuous signal being sampled (and can be sampled at multiple sub-pixel points per pixel).
A lot of other screen effects are essentially filters applied to the graphical signal (sobel, gaussian blur, ...) and understanding them from a signal processing view helps understanding how to modify and optimize them. A good example here is identifying whether your effect is a separable filter which can be split into a horizontal and vertical pass.
Seeing the image as a continuous signal/field being sampled is also the theoretical basis for a lot of visual effects used in physically-based rendering and things like screen-space ambient occlusion.
Finally, if you want to write your own ray-tracer it really helps to be able to take this view of things once you get past the basics.
Can you recommend any good introductory books on the topics you mentioned for someone who studied (theoretical/mathematical) physics but never electrical engineering or signal processing? (Read this as: I am more or less familiar with Nyquist-Shannon's theorem but that's about it.)
ime the books are very loaded on theory and it's hard to connect that to practice and concepts. I don't know of any book that touches on what poles/zeros mean or why they're useful outside what are (seemingly) contrived properties of formulae like stability. It's one of those things that's just useful to go through in a university course, even just auditing it. The practical problems and lectures are extremely useful, particularly due to the overhead of notation (the practice is relatively young and derived from a different tradition of education, and a lot of contemporary notation can seem a little foreign, or is filled with shorthand).
Applied Digital Signal Processing by Manolakis & Ingle is the book I always turn to for reference and the code examples don't suck. Oppenheim & Schafer is a classic but frankly only useful as a reference, that tome is a bit dated otherwise. The Scientists and Engineer's guide to DSP is also not bad as a practical text.
I went to school for mechanical engineering (though I now work in software). We were required to take signals and systems, but if I remember right it was a weed-out course for most MechEs (it certainly was a challenge for me, though I think that had more to do with the curriculum than the topic).
Those lessons might have been hard-won on my part, but I definitely still use them. The general concepts (feedback loops etc) are applicable basically everywhere in life, and I still find uses for literal actual math (like using a convolution kernel to do rolling window sampling in numpy).
That's not considered signals and systems, at least not where I went to school (unless you're talking about fully-active suspensions, but those are very rare and highly specialized). Rather, that would be down the "dynamics" course progression -- which is bread and butter for MechEs in those lines of work. That's also extremely useful, but it's generally a different subject matter, at least until you get into graduate-level dynamics combined with upper-undergrad-to-graduate-level numerical methods.
Vibration isolation can definitely be thought of within a systems framework, although it's perhaps overkill for passive filtering as you won't be doing much in the way of feedback.
Does anyone know of any courses which could explain concepts of stability, resonance, information/energy flow and help build a solid conceptual base for managers or entrepreneurs? These concepts are crucial when making business decisions. I've been building up an understanding of this through experience. If there was a way to shortcut this and provide such education deliberately, it would allow people to become better decision makers quicker.
I always thought my college education was backwards, with the exception that differential equations (and laplace transforms, which can help lay the groundwork for other transforms) came early enough that I could get by -- though it'd have been better if they were earlier, like high school, and if I hadn't been able to skip two semesters of calculus thanks to my HS calculus then differential equations would have come even later in college. But as a CE student at a school nominally more about video game making education I ended up first taking as CS electives an audio processing course, and then an image processing course, before the CE side reached control systems, which I had to retake after taking the next digital signal processing course, after which control systems made a lot more sense. It was only after graduating that I felt like I had reached a level of sophistication to go back and really grok all the related theory and go deep into applications. Maybe that's how graduate students are meant to feel? But I just went into full time enterprise work and 'retired' after 6 years of that, so I've since forgotten a lot... Still, the concept of feedback has proved useful in systems analysis from time to time, and it's a framework that I think could yield many low hanging fruit in other disciplines. (The book Behavior: The control of perception applies control theory to psychology in a convincing way but it's understandably been neglected by psychologists who aren't often very sophisticated mathematically.)
By the time you have a perfectly reasonable model of a system that is good enough such that computing the transfer function’s poles actually tell you something interesting about the system, there’s way more you can say about the system than “it is stable.”
There are maybe some lessons to be drawn from basic “classical” control theory, but many are better stated by just analyzing the system directly.
(As a side note, I’m not saying there’s Zero value in analyzing transfer functions, just that it’s a long way to the top from there.)
The follow-up article on inflation of shelter costs in response to mortgage interest rates is also fascinating and worth a read, imo [0]. The tl;dr is that in the medium and longer term, higher interest rates will decrease inflation, but there's a right-half-plane zero effect that will cause higher inflation rates in the short term in response to interest rate hikes (with a lot of simplifying assumptions).
Once you abandon the concepts of general equilibrium and a fixed amount of money for what happens in reality, then the functional control mechanisms get a whole lot more interesting.
This is some of the best non-rigorous writing about math that I've encountered. Far superior to the awful quanta articles that sometimes get posted here.
They are certainly something that your MPC controller will need to account for, and they will constrain the theoretical maximum performance you can get out of the system no matter how optimal your control algorithm is.
Always appreciate control theory articles. But this one needs some editing. Take ice cream example;that is not zero dynamics that's still pretty much convolution. Now zero dynamics examples must have no effect on the system. Thus it is not a zero if you continuously chugging ice cream. It is indeed a step input that you equilibriate at a constant ice cream input and some happiness comes out constantly. The moment you stop happiness goes away. That is not related to zero.
Also a pure zero action is supposed to cancel the input completely. Not at first but completely (restricting the discussion to linear systems).
Zeros effects are not so trivial to untangle as the article suggests unfortunately but fun read anyways and very nice flow.
> Now zero dynamics examples must have no effect on the system. Thus it is not a zero if you continuously chugging ice cream
Thank you for your input! I wonder if you might have misread that example. In this system there's indeed a RHP0 in the transfer function from ice cream consumption happiness. A continuously increasing rate of ice cream intake results in exactly no effect on the output.
Your happiness shouldn't change if ice cream input has a zero. Also it should be independent from the amount of ice cream. In other words if we have an ODE say
ddot y + 2 dot y + y = dot u - 2 u
As long as my input is pure C exp(2t) independent of C I see no happiness and it's not working on my mood. In your example input u effect is cancelled by decay of y cancelling the guilt. Making it not a zero.
In my personal case eating celery is a zero i see absolute no point eating it :) no harm and no benefit just pointless chewing
For those wondering: this article is an introduction into inflation of house prices in Canada. You can easily find the next article (it's already online) by going to the substack's index.
Very good article, and well worth your time to read.
Great read. I’ve been thinking about how this applies to earth/climate change for a while, so I was surprised that the system he worries about is inflation/the economy.
This is weird to say, but I've never had this happen before: as someone who's never heard of control theory, the initial illustrations and the leading icecream example seemed highly confusing and put me off from reading the rest.
It’s a bit disappointing that an article purporting to educate us about something we should know but may be unaware of, is completely wrong about the example of how an airplane climbs - you don’t climb by pitching up, you have to increase power.
Right up to the stall speed limit. You can't just keep pitching up, you'd have to apply some power too if you don't eventually want to run out of forward (air)speed.
In a glider you can't do that so there when in level flight you have a limited amount of forward momentum available to help you climb if the air itself isn't moving up, you are continuously trading altitude for speed and vv (easy to see in a dive: everybody expects you to gain speed in a dive because can all relate so something falling, it's obvious the reverse has to happen when you climb and the stall speed is a design parameter of the aircraft at a given altitude combined with a bunch of other factors).
Exactly. A glider in air that doesn't rise is like a yo yo on a string, you need to add energy to the system (rising air, pulling up on the string at the right moment) to be able to overcome the eventual return to the ground state.
I would also mention, that we essentially design controllers to shift the poles and zeroes of the total system (which consists of the plant system and the controller system) to more desirable positions, than those of the plant system alone.
I am not sure what to take from this. The title certainly makes sense from a engineers perspective. But from a layman's? I don't know.
It seems, that he tries to explain an important concept in control theory but does not explain the meaning of "plane" at all. Even worse: He uses airplanes as an example.
Isn't it terribly confusing for non-control-theory people? If I don't know control theory, then how on earth would I know that he means a 2D-plane? And what's this "minimum-phase-system" he mentions once? Is a pole a number? And what about RHP poles?
I would be interested in how readers without a background in control theory and higher maths understood that article and what questions arose.
That's only half of the story. The second half of the story is "if the getting worse temporarily cancels out the getting better, stop trying to correct, or you're going to crash!"
And, critically, you potentially need to ignore the signal of "things getting worse". Otherwise you might creature a vicious cycle of more corrective action -> more things getting worse (at first) -> even more corrective action, until your system crashes and you never got into the phase where most of the desired result of the corrective action materialized.
And a second important point: You mustn't ever get into a state where the "things getting worse at first" already pushes you over a red line (see the example of the plane that loses even more altitude before it rises again. If you hit the ground in between you don't care that you theoretically would have risen later on).
I think "when things get worse we tend to double down on what caused things to get worse, until everything around us crash and burn" would be more accurate, given the current state of affairs.
Not sure I share the pessimism. It seems to me that we're adjusting to situations pretty rapidly as a species. We're definitely at least attempting to find out what inputs lead to which short- and long-term outputs, which is a unique behavior among mammals.
It really all depends on how low to the ground you are when things begin to get worse.
For example, a virus that takes 10 IQ points off people who've been infected with it might make China more apt to consume Disney movies, while it might plow America straight into the ground.
As someone with a rapidly (exponentially?) decaying background in engineering, all the article did was create an insufferable itch of mathematical fuzziness about why these were called zeros until I got to the footnote and the actual article began.
Thanks for the tip, the rest made way more sense after reading that. I don't think I'm particularly poorly read or mathematically versed but I've never heard a pole called a "right-half-plane zero" before, so maybe the author could have lead with that (or even just called it a pole, which I have heard of so at least I'd have been less lost.)
The article wasn’t doing that, and specifically distinguished poles from zeroes:
>> Control theorists like to classify the behaviour of dynamical systems based on what we call poles and zeros. … Again roughly speaking, zeros describe mathematically how a system reacts to some input in the short term, while poles describe how a system reacts in the long term.
Seemed a decent if over-long article to explain something I needed to know about feedback theory. Summary: to do x you may have to do, or briefly get, anti-x which you need to be aware of and account for. Key sentence where the importance clicked for me was:
"Let’s say our airplane is running in auto-pilot. We’ve sent a request to gain altitude, so the flight controller tilts the elevators to initiate a climb. But suddenly the airplane is losing altitude, moving farther away from our target? Do we pull up even harder?"
So, to me, this is just calibrating against a continuum. Right? I think of this as binary-searching a kinda normal'ish distribution? I'm not good at math so I had a hard time once the OP article got into differential equations
I mean, to a layman like myself, the takeaway is something about stateful, irreversible systems where x is on both sides of the equation in unequal or inverse measures, and how those systems (maybe? sometimes?) progress toward equilibrium by going through unexpected phases that seem to contradict what you're trying to input. I read the whole thing as a metaphor for Fed policies or how we elect Democrats every time the economy is about to crash, and Republicans every time it's just recovered.
To the degree that some field of math can be best exemplified by various types of aircraft stalls, this didn't do a great job of explaining either the types of stalls or the feedbacks (what you might call negative REPL loops) leading to them.
First of all, I'd call airplane/plane an "aircraft" instead, not because that's what aviators and Wikipedia editors do, but because it's super confusing in an article about some other thing called "plane".
And, as an aviator would probably tell you, in order to climb you should care more about the throttle (i.e. increase power) than about them elevators! So, in many cases there is absolutely no such dip.
And, I know of no aircraft capable of achieving that loopy flight path using just elevators. That would require quite a bit of kinetic energy, to say the least.
The bike counter-steering example clicked instantly with me, but I guess not many people have an intuition about that. I rode for decades before learning this and I think most other cyclists are not aware as well. (Most motorbike instructors teach that however.)
> And, as an aviator would probably tell you, in order to climb you should care more about the throttle (i.e. increase power) than about them elevators! So, in many cases there is absolutely no such dip.
An autopilot responds the same way, where an altitude error input affects the throttle control. (wincing... when implemented with classical SISO controls...).
> The bike counter-steering example clicked instantly with me, but I guess not many people have an intuition about that. I rode for decades before learning this and I think most other cyclists are not aware as well.
As a mathematician it is just a lot of fuzzy rambling, until they have the actual definition. I really don’t know what an average person is supposed to take away, you can end up in some feedback loop, lol okay. Communicating maths to a wider audience you can still be correct but there is zero reason to make it fuzzy. It’s okay to use an analogy if there is something people can latch onto, carry it with them mentally, and then you slowly deform it into the correct statement, but you have to be careful to not be fuzzy.
If you are writing something just minimise the number of non informative sentences. They probably could have explained poles, planes, etc all in the same space instead of rambling. Cutting to the examples and then giving the definition would have been better.
Yeah, as someone with a math degree, I already know what the right half-plane refers to, I already know what zeroes and poles are (in a complex analysis way, not a control theory way), and I am just befuddled. The article doesn't really seem to have much concrete content at all, and could be cut down by a lot. Which is an achievement considering how short it already is.
Just cutting out this junk:
> Again roughly speaking, zeros describe mathematically how a system reacts to some input in the short term, while poles describe how a system reacts in the long term.
and similar waffle would be good. It's so vague as to be counter-productive.
The conclusions in the article aren't easily drawn from the vague tools we're given, in my opinion. Maybe I'm just not the target audience, but I don't really understand who that is.
I never studied control theory, but I was fine with this. My pure maths education stopped at say first year undergrad. I didn't even consider that there were two kinds of plane. I thought the example was a good example of the subject.
To answer the confusion about poles...I think the teaching method of, 'here are some terms you won't understand until later' is very common, isn't it. I bet it even has a name
It's a nice explanation of the phenomenon of "getting tilted" in games:
Tilt originated from Poker and it's usually a state of emotional frustration and confusion.
It's most commonly used if you're going on a losing streak and then you become so frustrated that you start playing worse because you cannot focus anymore.
Part of it, as I see it, is that you are using that frustration to fuel further efforts, which ends up in a downward spiral feedback loop
> The danger of the right-half-plane zero is that it lures you into reacting to it, but that is precisely the wrong thing to do. Attempting to apply a new control input to cancel the inverse response only sets off an even worse chain of events, where the resulting secondary inverse reaction becomes even more severe, requiring even more corrective action, until finally you’ve slammed into the ground.
> In this situation, the flight controller’s only option is to ignore the initial misdirection and wait patiently until the airplane eventually begins to climb as intended.
Of course that is easier said than done; adding a sleep() to your control loop to ignore the initial misdirection is also very bad. The right way to solve this is to not just tell the control loop to "go up", but to plan a realistic trajectory that the control loop can execute. That way, the error between the desired trajectory and the actual trajectory will be much smaller, and the closer the error is to zero, the less chance of a control loop to go wild.
The danger of "systems thinking" is that it misleads otherwise clever people into believing they've found a cheat sheet for subjects they don't have deep knowledge in. This article is a fine example of that.
I didn't know what right-half-plane zeroes are. I knew some of the examples it gave (Veritasium has a fun video on the bicycle steering phenomenon), but not that there was a category they all fit into. Neat.
But I got squinty when the author said the intended audience was everybody, and got a hunch it was going to wander into the current economy ... which it did, sort of, except that in this case, "wandering" into the subject meant, "wrap it up with a graph and then point at it and go, see! See! I can predict the economy now!"
The follow-up at https://jbconsulting.substack.com/p/on-shelter-futures-part-... goes into more detail and concludes that interest rate hikes will increase inflation over the next 5-ish years, but there's no "part 2" in the series to be found (paywalled?).
There are lots of graphs and the author tries to build a case out of several arguments, buuuuut in the end it feels like that IASIP conspiracy board meme. I smell a faint whiff of gish galloping here and there, but one thing that stands out to me is that the author chooses to normalize housing costs against inflation, but there's no mention of wage stagnation anywhere.
Rents and housing costs can't rise a whole lot more, certainly not to the extent the author seems to be predicting, because people can't afford them. This is already a conversation happening in every housing market in at least several countries. In the US, pick literally any local subreddit and ask if anyone knows of an affordable place to rent, I dare you. There's already a huge epidemic of unhoused people and van-dwelling is more popular than it has ever been, and consumers are currently getting squeezed in a lot of directions. Here, one of the things in my browser history before this article was this thread: https://old.reddit.com/r/news/comments/v8knl5/gas_prices_hit...
So, if wages don't rise to meet these costs, then something big is going to break way before the cost increases the article is doomsaying.
> Rents and housing costs can't rise a whole lot more, certainly not to the extent the author seems to be predicting, because people can't afford them.
House prices are passively controlled because there's only so much money to spend on housing?
> the first important lesson of inverse response is: don’t ride your bicycle on the edge of a cliff
I don't know if many people often ride their bicycle on cliff edges, but many plane (as in airplane) accidents occur because it's difficult / impossible to recover from a stall near the ground.
You can also get your weight to the inside of a turn for a bicycle by leaning while riding straight.
Every time this comes up there is a big debate with a bunch of people saying counter steering is required. Please, go out and try it. Drive perfectly straight along a painted line. Lean left, turn left. Lean right, turn right. There is no requirement for counter steering.
I think it's somewhat speed-dependent. I ride motorcycles and bikes. On a motorcycle at high speed it's impossible (in my experience) to take a turn without counter steering. You sometimes have to push really hard on the handle on the side where you want to go.
Also, leaning is very similar to counter steering; counter steering makes the bike "fall" on the side where you want to go.
Interestingly, you can also steer a horse without doing anything on the reins; the horse will usually go where you put your weight; I think it's because it needs to compensate for the weight differential; or maybe it takes it as a hint about which way you're looking. In any case it works.
294 comments
[ 3.1 ms ] story [ 257 ms ] threadFascinating subject though, in engineering class it was quite surprising how this bunch of functions tracing lines and dots on the complex plane would be relevant to just about everything. Perhaps the first lesson is that even if you know how a system works, you can't just take the inverse function to control what comes out.
Author here. Yes! Very fair criticism. I was trying to strike a balance between making the concept approachable for those who don't have a background involving complex numbers, but that certainly leaves the name of the concept more confusing. I should add it in a footnote at least.
And I did honestly not think about the potential for confusion between plane // airplane. An airplane was the most familiar example system I could think of to explain the concept. Oops!
> Perhaps the first lesson is that even if you know how a system works, you can't just take the inverse function to control what comes out.
That's a great point too. It probably even deserves its own article.
Stuff like Nyquist criterion just sort of appears out of nowhere as functions.
I guess the big one is feedback being the magic, and then the complex plane tells you where that blows up.
Techniques often need very strong assumptions about the systems being modeled, which severely limits their usefulness.
In fact, CT is sort of the antitheses of the currently most hyped way of modeling systems: Machine Learning.
Also systems modeling is not the same as control theory. You could indeed utilize machine learning to model a system, which you could then control by classical controllers. On the other hand, control algorithms that use machine learning are a thing.
Perhaps just a coincidental namespace collision: Process ID, not Proportional-Integral-Derivative.
Black's canonical 1934 paper[1] Stabilized Feedback Amplifiers, which had an outsized influence on EE classical control theory, may have something to do with that:
Results of experiments, however, seemed to indicate something more was involved and these matters were described to Mr. H. Nyquist, who developed a more general criterion for freedom from instability applicable to an amplifier having linear positive constants.
...which directly cites Nyquist's canonical 1932 paper[2] Regeneration Theory.
[1] http://archive.org/details/bstj13-1-1
[2] http://archive.org/details/bstj11-1-126
This reminds me of the famous (possibly apocryphal) story of the algebraic geometer of middle eastern descent who was brought aside by Air Marshals for talking about how a particular problem could be solved by “blowing up points on a plane”
Also see page 4 here: https://web.mit.edu/2.14/www/Handouts/PoleZero.pdf
edit: I looked at the first few pages of the paper but I feel none the wiser, at all.
edit2: Ah... "the poles and zeros of a transfer function may be complex, and the system dynamics may be represented graphically by plotting their locations on the complex s-plane". The transfer function (whatever that is) is a rational function of the complex variable s, i.e. (in my words) it's a fraction with complex polynomials for numerator and denominator. The zeros are the roots of the numerator and the poles are the roots of the denominator.
Ok, I still don't know what the transfer function is or means or comes from, but am much less in the dark, thank you! :-)
Some things in life leave a lasting impression[1]. :eye_roll:
It sounds like what you're looking for is an explanation of root locus analysis[2].
In the simplest control case, a transfer function is nothing more than the expression of a continuous closed-loop LTI system's output Y(s) over its input X(s) in the Laplace domain, conveniently abstracted as its forward path G(s) and negative feedback path H(s).
From there, Routh-Hurwitz method[3] can be used to determine stability of the system.
...and I will continue to use j, thanks.
[1] https://youtu.be/1rqJl7Rs6ps?t=1828
[2] https://en.wikipedia.org/wiki/Root_locus
[3] https://en.wikipedia.org/wiki/Routh%E2%80%93Hurwitz_stabilit...
edit: Took a lil while to work out that LTI system is Linear time-invariant system.
https://en.wikipedia.org/wiki/Linear_time-invariant_system
I'd like to chime in with a more intuition-based explanation of what transfer functions are, from my recollections of college control theory classes in both electrical signals and a more general "systems engineering" application:
Basically, the transfer function is a different perspective on modelling/representing a system's output as a function of its input. Classically, when modelling and/or reasoning about a system in physics, the perspective we adopt is that of "input" being the forward advance of time (and sometimes initial conditions) and "output" being the amplitude of the physical quantity(ies) or dimension(s) of the system that interest(s) us. The transfer function, then, is when we switch perspectives to consider the "input" to be a sinusoidal signal (characterized by amplitude and phase over time), and the "output" is the new amplitude and phase of that signal [after "traversing" the system]. Of course, you're actually working with a closed-loop, but most input/output systems can be modeled as a closed-loop if you sufficiently broaden the system's boundaries.
This turns out to be useful for/in several reasons/contexts:
- many physical phenomena are sine waves (or, thanks to Fourier, a sum of sometimes many different sine waves), and often times a system's purpose (to us humans) is to control such a phenomena precisely along the lines of "do this to the amplitude, and/or adjust the phase like so" - dampening, feedback loops, more sophisticated processes like hysteresis, maintaining a steady state given incoming perturbations, etc. In these cases the transfer function ends up being the mathematical expression of that system's function in the "domain language" of that problem, so to speak.
- It turns out that often, when working with systems whose "classical" representation involve components like exponentials or sine and cosine of time (which are "just" complex exponentials of those quantities), the corresponding transfer functions are "simple" fractions of polynomials. More precisely, passing into the Langrange domain allows transforming a differential equation problem into a complex polynomial fractions problem - often much easier to crunch/solve. Furthermore, in the Lagrange domain, de-phasing a signal by pi/2 is equivalent to simply adding 1/(j * signal's frequency) to that signal (if I recall correctly). This makes much of the math more accessible to human intuition, and especially on more complex systems that have several "moving parts" the linear quality of polynomials becomes invaluable.
Personally, I remember quickly adopting, once I'd grokked it, the transfer function perspective when trying to reason about the effect of introducing a capacitor into an existing circuit - analog or DC[0] - as well as things like how the material properties of a door contribute to its behavior as a low-pass filter on sound waves. Sitting down and doing the math, the formulas that I would arrive at spoke much more clearly to me. Also, you are sort of adopting a "time-agnostic" (or perhaps time-invariant) perspective, where the system itself does not change over time. Instead, its' input is characterized by how it behaves over time, and the transfer function (especially when plotted) gives you a clear, direct sense of what the output's "behavior over time" will accordingly be. Notably, it's here that the zeroes of the OP become so meaningful.
[0]: part of what initially started making things "tick" for me was when a professor explained that an impulse on an input signal (i.e. a quasi-instant variation, then back to the preceding "steady state" value of it - i.e. a DC current "turning on"), to a transfer function, "looks like" a sine wave signal with a constant a...
edit: By "Lagrange" did you possibly mean to write "Laplace"? I confuse those two gentlemen too. p.s. I just learnt Lagrange was Italian! born Giuseppe Luigi Lagrangia.
the author should have clarified this, you are correct, as the author also makes clear he is writing for a non-technical audience.
He probably forgot to mention it because the concept is so fundamental to signal processing that he assumed it was common knowledge.
"A LOT (Polish airline) airplane is about to land in New York City; as they align for final approach, the first officer notifies the passengers that those seated on the right can now see the Statue of Liberty. A number of passengers get up from their seats left of the aisle and lean over the people seated on the right to get a glimpse of the statue. Plane promptly crashes.
Why? There were too many Poles in the right half of the plane.
I'll lead myself out.
I do know what a “pole” refers to, but I don’t follow the crash bit.
In the joke, a Pole (person of Polish origin) was in the left of the (air) plane. When they crossed the aisle to look out the window, the (air) plane became unstable and crashed (pole in the right hand plane).
*My control systems professor loved to explain using an example of a driver as a control system. The system (car + human driver) seeks to minimize error against the lines on the road. If the driver starts drinking, one of the system's poles will move right. The car will start overshooting first, then will start weaving, before finally crashing when the driver is too drunk.
After the plane crashed, one survivor was stranded in the wilderness. Miles from civilization, he cried and screamed until he got hoarse. Then he mounted the horse and rode back to civilization. Back at home, he found himself locked out of his house, since he lost his house keys with his luggage on the plane. He sat on the porch and sang various lamentations, until he found the right key and unlocked the door.
If there are 10 comments explaining what a key is in the context of music and I add another that says "I understand what the key refers to but how was the door opened", one can only assume I lack the knowledge that keys open doors.
Sometimes people understand the more complex behaviours but somehow miss the simpler explanations, it's happened to me before.
P.S. The other note is that for real linear time invariant systems the region of convergence of the series/Laplace transform of the system must be positive for the system to be causal -- and thus real and implementable. So the joke could also have been modified to get a magical and unstable plane.
If this was the first day of any class I took, I would have dropped it before the second day.
University is good because you'll meet lots of people who are smarter than you are.
I flunked out of high school despite getting A's and B's on all my tests because I never did my homework which was always at least 50% of our grade.
Trigonometry was so interesting to me as a 15 year old that I decided to make it my internet alias. 95+% on every test (even trig identities!), still got a C in the class, with the teacher taking me aside 1-on-1 to tell me "I'm breaking the rules to give you this C when I'm supposed to be giving you an F because you only did 2 of the 30 homework assignments."
I get the idea of motivating students to do their homework failing them when they test perfect doesn't make sense.
I like it when the homework allows the students to skip questions on the test. That way you reward the work but still let's the students catch up if they didn't do the homework.
https://www.researchgate.net/publication/253627368_Feedforwa...
A dynamic control system is modeled by a set of dynamic equations, usually expressed as partial derivatives. To analyze the behaviour of such a system, the equation is solved or approximated in the complex time domain. The relevant part of the solution is where the real part of time is positive, i.e. the right-half plane.
A pole is a coordinate for which the dynamic equations have no solution (y = 1/z has a pole at z=0), which results in undefined or uncontrolled behaviour.
(also see https://en.wikipedia.org/wiki/Zeros_and_poles)
Instead we get waffle like:
> Again roughly speaking, zeros describe mathematically how a system reacts to some input in the short term, while poles describe how a system reacts in the long term.
I know it's "roughly" speaking, but isn't it too rough?
The students in the classroom next door always knew when Prof Lipovski told his joke because everybody along the hallway could hear the loud groan emanating from our room.
Generic airline, specifically Polish people were asked to move to the left side of the plane. Because "Poles in the right half plane cause instability."
(As for application in economics, economist Steve Keen, for one, explicitly models time delays and dynamics, with results worth learning from, AFAIK.)
When he reached the cockpit, however, he took one look at all of the controls on the modern aircraft and realized that he wasn't going to be able to operate it. When the chief steward asked why, he replied, "I am just a simple Pole in a complex plane".
I'll follow lb1lf out.
The hard part is actually the maintenance crews. A modern fighter plane requires constant intensive mainentance, they generally spend much more time being worked on than they spend actually in the air. And this maintenance work requires a lot of specific skills that don't necessarily translate well or at all between aircraft types.
(sorry)
For those that don't know, Polish (and other Eastern European) migration was a major issue raised by some in the Brexit campaign.
[1]: https://en.wikipedia.org/wiki/Fortune_(Unix)
My gripe with the article is that the author tries to wow you with some obscure technical points about a system which is unmodeled and he does not understand, to wave his hands at a vague conclusion. If he had made the same point using common English phrases that encapsulate the idea (“positive feedback loop”, “we have to let it get worse before it gets better”, etc), then it would be a lot clearer how wispy his argument is.
So, if we think knowing theory is useful in cracking hard problems, why is it wrong to asses its knowledge in an interview?
I've done a lot of useful work in feedback systems without ever really grokking Laplacian notation and the notion of complex frequency in general. A lot of the actual numerical methods used in real life boil down to a few canned formulas. But I know enough about the underlying theory to appreciate where the canned formulas come from, and fully intend to sit down some day and go through the whole process. Articles like this are interesting if only for the occasional gems in the comments, such as John N.'s pointer to Maxwell's 'On Governors' paper that I'd never run across before.
At the same time, I don't see much upside in making hiring decisions on the basis of whether someone can regurgitate a bunch of textbook math. I'd rather spend the interview talking about control problems the candidate has dealt with personally, how they were handled, and what the candidate learned from them.
You say "people on HN seems to enjoy this kind of articles" which seems reasonable, given the comments here. But then you jump to "we think knowing theory is useful in cracking hard problems".
Going from the first to the second is not quite so clear. That is, someone may enjoy such an article and even learning some theory, but not necessarily because they think they will directly apply it. People sometimes just enjoy learning stuff or reading about it and then forgetting it.
You also make a second jump, because other factors may be involved. Maybe the theory asked in the interviews is completely unrelated to the things involved in the job. The job may not even require cracking hard problems. These are frequent occurrences -in my experience, at least-, and clearly seem compatible with thinking that knowing theory is good in general.
It will be seen that the motion of a machine with its governor consists in general of a uniform motion, combined with a disturbance which may be expressed as the sum of several component motions. These components may be of four different kinds:-
(1) The disturbance may continually increase.
(2) It may continually diminish.
(3) It may be an oscillation of continually increasing amplitude.
(4) It may be an oscillation of continually decreasing amplitude.
The first and third cases are evidently inconsistent with the stability of the motion; and the second and fourth alone are admissible in a good governor. This condition is mathematically equivalent to the condition that all the possible roots, and all the possible parts of the impossible roots, of a certain equation shall be negative.
That is, in the left half-plane.
(Terminology has changed. Maxwell says "disturbance" where today, the term "error" would be used. Today, "disturbance" means an input which disturbs stability, while error is an output.)
Maxwell got so much right in that paper, and it was a long time before anybody picked up on that result.
Now, where it looks like the author is going is into economic territory. Basic economics talks about "economic equilibrium". The concept is that restoring forces will bring supply and demand into equilibrium. But basic control theory tells us that may not happen. Any system with delay in it can potentially be unstable. Too much delay, and even simple systems will not stabilize.
[1] https://en.wikisource.org/wiki/On_Governors
The real trouble with sigmoids is when the saturation point is beyond physically meaningful quantities of the system. See the tacoma narrows bridge collapse.
When a real world system goes non linear (like the Tacoma Narrows case) you don’t get a sigmoid but something catastrophic.
(If you graph the amplitude of the vibrations they increase and increase — and then — if it was a sigmoid they’d level out and stay at the max amplitude… but in reality they go to zero as there is no bridge left to vibrate.)
When a company is “growing exponentially” it may saturate the market and then the growth slows in a nice sigmoid function. That’s common. But if, for example, the investors insist that the company must maintain the growth at all costs… it breaks laws, gets destroyed and there’s no company left to grow. No exponential curve, no sigmoid, no signal at all.
Both the sigmoid and the total collapse are typical real world results of what a simple model would expect to be an unbounded exponential curve.
So in trad undergrad control theory instability implies "And then the system blows up" - numerically, literally, or sometimes both.
But depending on the system you can end up in regions of recursive instability which are better modelled by logistic/chaos theory:
https://en.wikipedia.org/wiki/Period-doubling_bifurcation
But it's really so foundational to understanding concepts of stability, resonance, information/energy flow (from the conceptual perspective), and the simple analytical tools for building a solid conceptual base. It takes a semester to hammer home that step response matters, positive feedback bad, negative feedback usually good, and topologies are useful.
The more I specialize in graphics the more I realize I need much more knowledge about signal processing than we were taught at the university.
Anti-aliasing (AA) is a very clear example where the lack of it leads to moiré patterns and jaggies. Understanding a lot of AA techniques is simplified by seeing the frame not as a discrete set of pixels but as a continuous signal being sampled (and can be sampled at multiple sub-pixel points per pixel).
A lot of other screen effects are essentially filters applied to the graphical signal (sobel, gaussian blur, ...) and understanding them from a signal processing view helps understanding how to modify and optimize them. A good example here is identifying whether your effect is a separable filter which can be split into a horizontal and vertical pass.
Seeing the image as a continuous signal/field being sampled is also the theoretical basis for a lot of visual effects used in physically-based rendering and things like screen-space ambient occlusion.
Finally, if you want to write your own ray-tracer it really helps to be able to take this view of things once you get past the basics.
https://www.youtube.com/watch?v=Pi7l8mMjYVE&list=PLMrJAkhIeN...
> familiar with Nyquist-Shannon's theorem
BTW: In control theory there is also https://en.wikipedia.org/wiki/Nyquist_stability_criterion
Applied Digital Signal Processing by Manolakis & Ingle is the book I always turn to for reference and the code examples don't suck. Oppenheim & Schafer is a classic but frankly only useful as a reference, that tome is a bit dated otherwise. The Scientists and Engineer's guide to DSP is also not bad as a practical text.
Thank you!
Those lessons might have been hard-won on my part, but I definitely still use them. The general concepts (feedback loops etc) are applicable basically everywhere in life, and I still find uses for literal actual math (like using a convolution kernel to do rolling window sampling in numpy).
You need it in economics, biology, chemistry, physics, computer science, statistics, electrical engineering, robotics , automation, logistics, ...
It should be taught like calculus or linear algebra, so that everyone gets gist of the basics before learning to apply it into their specific field.
By the time you have a perfectly reasonable model of a system that is good enough such that computing the transfer function’s poles actually tell you something interesting about the system, there’s way more you can say about the system than “it is stable.”
There are maybe some lessons to be drawn from basic “classical” control theory, but many are better stated by just analyzing the system directly.
(As a side note, I’m not saying there’s Zero value in analyzing transfer functions, just that it’s a long way to the top from there.)
[0] https://jbconsulting.substack.com/p/on-shelter-futures-part-...
In other words if you can have a wage/price spiral you can have a profit/price spiral and an interest/price spiral for the same reasons.
[0]:https://new-wayland.com/blog/interest-price-spiral/
Once you abandon the concepts of general equilibrium and a fixed amount of money for what happens in reality, then the functional control mechanisms get a whole lot more interesting.
Also a pure zero action is supposed to cancel the input completely. Not at first but completely (restricting the discussion to linear systems).
Zeros effects are not so trivial to untangle as the article suggests unfortunately but fun read anyways and very nice flow.
Thank you for your input! I wonder if you might have misread that example. In this system there's indeed a RHP0 in the transfer function from ice cream consumption happiness. A continuously increasing rate of ice cream intake results in exactly no effect on the output.
ddot y + 2 dot y + y = dot u - 2 u
As long as my input is pure C exp(2t) independent of C I see no happiness and it's not working on my mood. In your example input u effect is cancelled by decay of y cancelling the guilt. Making it not a zero.
In my personal case eating celery is a zero i see absolute no point eating it :) no harm and no benefit just pointless chewing
Very good article, and well worth your time to read.
The interesting thing is that his modelling concludes that raising interest rates is inflationary which is what Warren Mosler also says.
Anyone interested in what to do about inflation would enjoy the recent Macro n Cheese podcast episode featuring Randall Wray
In a glider you can't do that so there when in level flight you have a limited amount of forward momentum available to help you climb if the air itself isn't moving up, you are continuously trading altitude for speed and vv (easy to see in a dive: everybody expects you to gain speed in a dive because can all relate so something falling, it's obvious the reverse has to happen when you climb and the stall speed is a design parameter of the aircraft at a given altitude combined with a bunch of other factors).
https://aviation.stackexchange.com/questions/27693/how-does-...
If you pitch up you can only exchange speed for a little bit of altitude, briefly.
I would also mention, that we essentially design controllers to shift the poles and zeroes of the total system (which consists of the plant system and the controller system) to more desirable positions, than those of the plant system alone.
It seems, that he tries to explain an important concept in control theory but does not explain the meaning of "plane" at all. Even worse: He uses airplanes as an example.
Isn't it terribly confusing for non-control-theory people? If I don't know control theory, then how on earth would I know that he means a 2D-plane? And what's this "minimum-phase-system" he mentions once? Is a pole a number? And what about RHP poles?
I would be interested in how readers without a background in control theory and higher maths understood that article and what questions arose.
Oh wow, i didn't notice that. It's either pretty clever, or unfortunate wording.
I think the author is using a lot of words to say "things often need to get a bit worse in order to start getting better"
And a second important point: You mustn't ever get into a state where the "things getting worse at first" already pushes you over a red line (see the example of the plane that loses even more altitude before it rises again. If you hit the ground in between you don't care that you theoretically would have risen later on).
For example, a virus that takes 10 IQ points off people who've been infected with it might make China more apt to consume Disney movies, while it might plow America straight into the ground.
>> Control theorists like to classify the behaviour of dynamical systems based on what we call poles and zeros. … Again roughly speaking, zeros describe mathematically how a system reacts to some input in the short term, while poles describe how a system reacts in the long term.
"Let’s say our airplane is running in auto-pilot. We’ve sent a request to gain altitude, so the flight controller tilts the elevators to initiate a climb. But suddenly the airplane is losing altitude, moving farther away from our target? Do we pull up even harder?"
It's ok.
To the degree that some field of math can be best exemplified by various types of aircraft stalls, this didn't do a great job of explaining either the types of stalls or the feedbacks (what you might call negative REPL loops) leading to them.
I agree it's ok.
Edit: removed ambiguity
First of all, I'd call airplane/plane an "aircraft" instead, not because that's what aviators and Wikipedia editors do, but because it's super confusing in an article about some other thing called "plane".
And, as an aviator would probably tell you, in order to climb you should care more about the throttle (i.e. increase power) than about them elevators! So, in many cases there is absolutely no such dip.
And, I know of no aircraft capable of achieving that loopy flight path using just elevators. That would require quite a bit of kinetic energy, to say the least.
The bike counter-steering example clicked instantly with me, but I guess not many people have an intuition about that. I rode for decades before learning this and I think most other cyclists are not aware as well. (Most motorbike instructors teach that however.)
An autopilot responds the same way, where an altitude error input affects the throttle control. (wincing... when implemented with classical SISO controls...).
Veritasium did a video on this:
https://youtu.be/9cNmUNHSBac
If you are writing something just minimise the number of non informative sentences. They probably could have explained poles, planes, etc all in the same space instead of rambling. Cutting to the examples and then giving the definition would have been better.
Just cutting out this junk:
> Again roughly speaking, zeros describe mathematically how a system reacts to some input in the short term, while poles describe how a system reacts in the long term.
and similar waffle would be good. It's so vague as to be counter-productive.
The conclusions in the article aren't easily drawn from the vague tools we're given, in my opinion. Maybe I'm just not the target audience, but I don't really understand who that is.
To answer the confusion about poles...I think the teaching method of, 'here are some terms you won't understand until later' is very common, isn't it. I bet it even has a name
Tilt originated from Poker and it's usually a state of emotional frustration and confusion.
It's most commonly used if you're going on a losing streak and then you become so frustrated that you start playing worse because you cannot focus anymore.
Part of it, as I see it, is that you are using that frustration to fuel further efforts, which ends up in a downward spiral feedback loop
https://gaming.stackexchange.com/questions/190507/what-is-th...
Of course that is easier said than done; adding a sleep() to your control loop to ignore the initial misdirection is also very bad. The right way to solve this is to not just tell the control loop to "go up", but to plan a realistic trajectory that the control loop can execute. That way, the error between the desired trajectory and the actual trajectory will be much smaller, and the closer the error is to zero, the less chance of a control loop to go wild.
I didn't know what right-half-plane zeroes are. I knew some of the examples it gave (Veritasium has a fun video on the bicycle steering phenomenon), but not that there was a category they all fit into. Neat.
But I got squinty when the author said the intended audience was everybody, and got a hunch it was going to wander into the current economy ... which it did, sort of, except that in this case, "wandering" into the subject meant, "wrap it up with a graph and then point at it and go, see! See! I can predict the economy now!"
The follow-up at https://jbconsulting.substack.com/p/on-shelter-futures-part-... goes into more detail and concludes that interest rate hikes will increase inflation over the next 5-ish years, but there's no "part 2" in the series to be found (paywalled?).
There are lots of graphs and the author tries to build a case out of several arguments, buuuuut in the end it feels like that IASIP conspiracy board meme. I smell a faint whiff of gish galloping here and there, but one thing that stands out to me is that the author chooses to normalize housing costs against inflation, but there's no mention of wage stagnation anywhere.
Rents and housing costs can't rise a whole lot more, certainly not to the extent the author seems to be predicting, because people can't afford them. This is already a conversation happening in every housing market in at least several countries. In the US, pick literally any local subreddit and ask if anyone knows of an affordable place to rent, I dare you. There's already a huge epidemic of unhoused people and van-dwelling is more popular than it has ever been, and consumers are currently getting squeezed in a lot of directions. Here, one of the things in my browser history before this article was this thread: https://old.reddit.com/r/news/comments/v8knl5/gas_prices_hit...
So, if wages don't rise to meet these costs, then something big is going to break way before the cost increases the article is doomsaying.
House prices are passively controlled because there's only so much money to spend on housing?
I don't know if many people often ride their bicycle on cliff edges, but many plane (as in airplane) accidents occur because it's difficult / impossible to recover from a stall near the ground.
Every time this comes up there is a big debate with a bunch of people saying counter steering is required. Please, go out and try it. Drive perfectly straight along a painted line. Lean left, turn left. Lean right, turn right. There is no requirement for counter steering.
Also, leaning is very similar to counter steering; counter steering makes the bike "fall" on the side where you want to go.
Interestingly, you can also steer a horse without doing anything on the reins; the horse will usually go where you put your weight; I think it's because it needs to compensate for the weight differential; or maybe it takes it as a hint about which way you're looking. In any case it works.