I expect to be drafting another post on quaternions today… mostly examples.
But what I’ve been putting time into when I could during the week, is linear programming.
Speaking for myself, I would say: forget about the specific linear programming functions in Mathematica®. Instead, just use Minimize or NMinimize (resp. Maximize or NMaximize).
No matter what we use in Mathematica, however, we face the problem that we get the optimal solution, but sensitivity analysis requires that we have what’s called the “final tableau”… and Mathematica doesn’t give that to us.
Well, it turns out that we can construct the final tableau from the initial tableau – which is just the problem statement, after all – and the optimal solution.
I’m looking forward to showing you how to do that.
It turns out that what I’m doing in linear programming, and what I’ve just done in quaternions, have something in common. They are both problems that I put down about five years ago, because I had gone as far as I could, or wanted. You might say, I’d had enough, and other things looked more interesting.
For finding Euler angle sequences of a rotation, I got discouraged trying to find all possible solutions… using matrices. My recent breakthrough was to realize that I could start by finding just one solution… using quaternions instead.
For sensitivity analysis of linear programming solutions, I got discouraged using Mathematica to implement the transition from one tableau to another. My recent breakthrough was to understand that I could go directly from the problem statement to the final tableau, given only an optimal solution. Now that I can get the final tableau easily, I’m figuring out sensitivity analysis.
On the one hand, I am delighted by these two breakthroughs. On the other hand, I am sorry that they come so many years after I dropped the subjects.
But it’s not as though I haven’t been doing other mathematics in between. Principal component analysis… the singular value decomposition… regression (for which I’ve done far more than I have posted, along with controls and time series)… color theory… wavelets… topology… differential geometry….
Now that I think of it, my recent work on logic is similar. Okay, it is another example of something I put down a few years ago because I had gone as far as I wanted to. Nevertheless, the work on tautologies and quantifiers was new this year.
As usual, however, I came to a wall. And it was the same wall I had hit years ago: solving for logical variables. (George Boole did it by dividing by zero, and I wanted something else!)
This time, however, I found a book that showed me how to do that. I’m still working through it, and I have yet to organize it… but I certainly expect to be posting about it.
So, I picked up rotations again because I got an idea, triggered by a newsgroup post, for getting around the stopping point: finding Euler angle sequences.
I picked up linear programming again almost by accident (looking at network flows for a friend), not because I had an idea for making progress… and then with fresh eyes, I found my way around the stopping point: go straight to the final tableau in one step by using Mathematica’s unadorned optimal solution.
I picked up logic again simply because the kid (my inner child) wanted to do logic one morning back in January, and my grownup got interested. This time I learned some new things before hitting the same old wall I had hit before… and a new book showed me how to proceed.
And, speaking of new books that show me how to proceed….
I found another book on the control of aircraft (Thomas Yechout et al., “Introduction to Aircraft Flight Mechanics…”, AIAA 2003, ISBN 1-56347-4344)… and it shows me a way around – what else? – the wall that stopped me in that subject.
Have I shown you that? A quick search of the blog says that I mentioned what I call the “magic omega formula” in 2009, February 6… but I never showed it to you. I still don’t understand it, and I certainly can’t derive it, but it looks magical to me. (Showing you the equation would be easy enough, but it requires more than a little explanation.)
Anyway, it appears that I do not need it. Oh, I still want to understand it… but now I can move forward in studying the control of aircraft.
But first, quaternions and linear programming.