A random problem
Sunday, September 30th, 2007Let
What is the greatest real number
such that
for any
?
Let
What is the greatest real number
such that
for any
?
Qualification exams are over! I can do something other than study and worry now.
There were three exams. The first was on a boatload of applied complex variables stuff: the first term of the associated course covered basic complex analy, bilinear and conformal mappings, Schwarz-Christofel transformations, series solutions to ODEs with analytic and nonanalytic coefficients, integration by parts for asymptotic evaluation of integrals. The second term continued asymptotics with watson’s lemma and laplace’s method, fourier method, stationary phase, steepest descent, then we covered the basics of qualitative analysis of nonlinear ODEs– existence and uniqueness through Floquet theory– and regular perturbation theory. The third term covered singular perturbation theory, boundary layer expansions, WKB, fourier series, completeness of eigenfunctions of sturm-liouville problems, separation of variables, green’s functions, and basic integral equations. The actual exam had a question on asymptotic evaluation of an integral, a boundary layer problem, and a completeness of SL eigenfunctions problem.
The second covered three one term courses: the linear algebra course (pretty standard stuff there, I’d guess: invariant subspaces, jordan decomposition, special classes of operators like normal/self-adjoint, SVD, spectral theory, basic Hilbert space theory like projections, riesz representation, adjoints, square roots of positive operators), the functional/real analysis course (Banach, Hilbert space, spectral theory, and lebesgue integration in R and Lp spaces), and the probability course (non-measure theoretic applied probability: basic counting arguments, poisson spatial processes, guassian random variables, law of large numbers, branching processes, brownian motion). The functional analysis question was to show that a closed operator from one Hilbert space into another is bounded beneath iff it is invertible and has a closed range. The linear algebra question was to show that if T is a normal operator and W a T-invariant subspace, then W can be written as the direct sum of the intersections of itself with the eigenspaces of T. There were three probability questions: the first was an application of Bayes rule, the second was a multi-part question on Poisson processes and their conditioning properties, and the third was on a Galton-Watson process.
The final exam covered the numerical mathematics course: in the first term we talked about implementing various matrix decompositions like QR, LU, SVD, Cholesky using various transformations like Householder, Givens rotations, etc. and the stability/backward stability of these methods, their cost in terms of operations, and then iterative methods for solving systems and finding eigenvalues. The second term focused on various tools: splines, least squares, interpolation, etc. before getting to the numerical solution of IVPs and analysis of the convergence of the various methods, shooting and relaxing for solving BVPs. The third term covered the numerical solution of PDEs with finite difference methods, analysis of stability and consistency, shock capturing schemes, finite element methods, multigrid, and boundary element methods. The questions from the first term were to come up with an algorithm using Householder transformations to zero out the bottom rows in a rectangular lower triangular matrix, making it essentially a square lower triangular matrix; also, to use Gaussian elimination to show that at some point during the process of reducing a given matrix, the Schur complement replaces a part of the matrix, and given positive/negative definite conditions on two subblocks of the matrix, to show its nonsingularity, the existence and uniqueness of the LU decomposition, and that without pivoting the algorithm would be unstable. The second term questions were to prove the order of convergence of the RK2 method, then do some stuff with Hermite interpolation– which I don’t remember, because I skipped it– to improve the method, I think, and to approximate an exponentially decaying integral over all R using the trapezoid rule with unit step size over a small interval, while justifying the use of a small interval and explaining the fact that the resulting error is very small. The third term question was to find a backward in time, centered in space FD scheme for the solution of a linear advection equation, prove its consistency, prove unconditional stability via Neumann analysis, explain the advantages and disadvantages of implicit schemes such as this, and come up with a modified equation which the solution to the difference scheme satisfies to a higher order in time.
What’s the best way to learn a language (not master it, but get its basic concepts down)? If it’s a computer language, I’d argue that the best way would be to write an interpreter for it (or a compiler, but the added complexity of converting to machine code is overkill). Too bad we can’t do the same with a natural language… imagine if you took a Spanish 101 course and the end of term project was to write a natural language ‘interpreter’ for Spanish, to convert Spanish to another language, say English. That would be awesomely amusing.
So, with R6RS having been ratified recently, I’ve decided to add to my list of projects the task of coding up an interpreter for Scheme. I read through the Tiny Scheme code once, and was impressed by the apparent simplicity of the interpreter, and this was in C, so I’m sure throwing one together in a higher level language should be as painless as coding an interpreter can be. Just for the hell of it, I’m gonna give it a shot in both PHP and Javascript– partly to refamiliarize myself with the languages, and in the latter case for the novelty of using Scheme for browser scripting. (Although I recall having seen a Javascript Scheme implementation once, I’ve never used it).
One of my favorite series is finally making it to the theater. The Dark is Rising is being made into a movie! No doubt it will be butchered beyond recognition– it took me a while into the trailer to realize that it was indeed the Dark is Rising– but I’m stoked that the culture is such that the thought turned into a reality. My hopes aren’t raised by the fact that the director is on a self-proclaimed mission to spread the Gospel (he said this about his Hollywood career in general, not necessarily this specific movie). On the other hand, a little change may be essential for translating the sequence to the screen: it’s been a long time since I read them, but I recall part of what attracted me to the books as a middle schooler was that much of the action and development was internal and cerebral: completely unlike the usual heavy-handed young adult fare. Needless to say, it would be difficult to impossible to faithfully bring this over to the screen. But, I really hope it’s not in anyway evocative of Indiana Jones crossed with Harry Potter.
I discovered a painful lesson today. I’m trying to put together the bookmark management system I mentioned earlier, using Ajax, just because I haven’t used PHP in months or dabbled in serious Javascript in years, and I’ve never used Ajax. Got to keep those skill sets up! Also I’m avoiding studying.
So, I got the MySQL database set up, the tables working, and wrote up the PHP backend, all of which went fairly smooth. Then I start delving into the Ajax side of things and everything starts going bonkers– figuring out how to do cross platform XML parsing in plain Javascript seems to be beyond me, so I get Sarissa (which is so lightweight I haven’t noticed it’s there, much less worried about its API), and that problem’s solved. Next, I run into the weirdest problem: all my POSTs are disappearing! It’s like any requests sent via POST are lost, and when I document the POST handling code in the PHP backend with error_log, nothing shows up in the errorlog. So, I spent *hours* trying to figure out what the problem is, and where it is: is it the Ajax, or the backend…
Turns out it’s neither. I’d noticed earlier that since I left the action attribute on the form empty, the interface page reloads itself everytime you click on the submission button– an annoying fact, but one I couldn’t figure out how to remedy, and which didn’t seem important. After all else failed, I paid more attention to this, and it seems that whenever the page reloads, it chops off the ongoing Ajax transaction and submits a GET query. This makes no sense to me, because the page is HTML, so it should be calling itself on reload, and the only place where the cgi is called is in Javascript code, so it shouldn’t know where to submit data. If any of that makes sense to you, please explain it to me.
But the solution is simple: specify the button type to be button and the page won’t reload itself when you click the button. Turns out that the default type of a button is submit (I was leaving it blank). It seems more logical to me to make the button do nothing by default.
Recall the basic Gerschgorin circle theorem:
Let
and define
. Define the Gerschgorin discs
, then
.
Here’s a useful enhancement to the theorem: if the union of the discs can be split into two disjoint regions, the first consisting of the union of
discs and the second consisting of the union of
discs, then there are
eigenvalues in the first region and
in the second.
Prove it! Hint: use the continuity of eigenvalues as you vary the matrix.
Cornel West was a guest on Real Time with Bill Maher last night, and he was looking/acting kind of crazy. Although I don’t know much about him as I do say Mike Dyson, for a while his name has been synonymous with the black intelligista, so I decided to look into it and make sure he’s indeed worthy of the respect I was granting him willy nilly. I’m still not sure that’s the case, but I did come across an interesting factoid while reading an account of his run-in with Larry Summers (West has tenure at Harvard).
From the wikipedia entry on Leonard Jeffries:
Leonard Jeffries (born January 19, 1937) is an American professor in the Black Studies department at the City College in Harlem who achieved national prominence in the late 1980s and early 1990s for his antisemitic views. He was quoted in the New York Times saying that “rich Jews who financed the development of Europe also financed the slave trade.” The New York Post quoted him lecturing that Jews controlled the slave trade, and that they use their control of Hollywood to promote the subservience of blacks in the modern day.
After a lengthy legal battle that was appealed to the Supreme Court of the United States, Jeffries lost his chairmanship of the Black Studies department. He remains a professor at CCNY, and continues to promote his views on the alleged perfidious nature of Jews.
He also stirred controversy with his analysis of whites as “ice people” who are violent and cruel, while blacks are “sun people” who are compassionate and peaceful.[1] He further claims that blacks are superior to whites because of their higher melanin levels[2], and his lectures often turn to racist and antisemitic tirades. In an interview in Rutherford Magazine May 1995 Jeffries further expanded on his racial views when asked what kind of world he world want to leave to his children, he answered: “A world in which there aren’t any white people”[3].
Jeffries also caused controversy in 1991 when he said that the 1986 Challenger Space Shuttle disaster was “the best thing to happen to America in a long time,” as it would stop white people from “spreading their filth through the universe.”[1]
This strikes me as ridiculous– Larry Summers is fired for his comments, but this guy gets to promote his obviously delusional racist views? I mean really, ice people vs. sun people … from a professor? I suspect part of the problem is that Jeffries may be tenured, but if he were white I’m sure activists would find a way around that, or just make his life a hell until he left voluntarily. But he’s black, so he gets away with being a retard. Oh, boy.
I wanted to give PyCairo programming a go, and I’ve always been fascinated by some of the simple but important issues in computational geometry, like Voronoi diagrams and Delaunay triangulations, or in this case, calculating the boundary of the convex hull of a set of points.
Here’s the code: framework.py and convex_hull.py; PyGtk and PyCairo are required. The interface is basic: you enter points by clicking in the window, and the program updates the convex hull and its boundary as you add the points (you can resize the window during operation if you really want to pack in the points … to verify the probably exponential running time of the algorithm
).
The algorithm used to find the boundary is painfully obvious in hindsight: if an edge connecting two points in the set is such that all the points in the set lie to one side of it, then that edge is on the boundary of the hull.
My next goal is to orient the boundary– an algorithm for this follows immediately from an algorithm for the orientation of the boundary of a generic triangle, but I haven’t yet found a suitable algorithm. All the algorithms I’ve come up with seem forced, and more important, hairy to code.
(While I’m talking about Python and mathematical graphics, check Ghost Diagram out for a beautiful and more serious example of the possibilities)
I know this makes me a total dork, but I’m stoked about the fact that Degrassi: The Next Generation is going to be airing on the CW (KTLA 5 on Sats, 12n-2:30pm for those of you in the LA area). Ummmm… a weekly dose of five episodes of my favorite Canadian high school drama.
Looking back, it’s amazing how the original Degrassi was considered sensational and racy, dealing as evenhandedly as it did with controversial issues like teen pregnancy and drugs. Now, after shows like the OC and One Tree Hill have tired of these subjects and moved onto more adult diversions like murder, the only aspect of the show that might make viewers uncomfortable is the fact that the actors actually look the ages of their characters. So, instead of a 10th grader being played by Chad Michael Murray (who can’t act, btw), an actual 10th grader plays the part?! Shocking!
DNG would certainly be shocking if it was simply One Tree Hill with the current actors replaced by age appropriate actors. It would be downright freaky, in fact. Luckily– maybe it’s the fact that the show is Canadian– it’s a lot more grounded in reality.