vicious is currently certified at Master level.

Name: Jiri (George) Lebl
Member since: N/A
Last Login: 2009-08-27 18:51:39

FOAF RDF Share This

Homepage: http://www.jirka.org/

Notes:

Math geek, formerly software geek. This exhibits itself by putting latex code into C programs by mistake, rather than vice versa as used to happen previously.

Credentials: Mathematics: I have successfully used the Baire Category Theorem in actual research. See my UIUC page for more.
Coder: I have created more easter eggs in gnome software than anyone else at the time. For example, Wanda the fish, which appears in more than one place if you know where to look and what to press, gdm computing square root of 2 or pi by monte carlo method, asking for coins on login, killer gegls from outer space, and more... At various times I was actually paid for this by Eazel and RedHat.

Below it says I'm a developer in a buttload of projects, but I'm not really anymore on anything but genius, since I don't have much hacking time these days.

Projects

Articles Posted by vicious

Recent blog entries by vicious

Syndication: RSS 2.0

Math is a series of trivial observations

Mathematical proof is essentially a series of completely trivial observations wrapped in complicated-sounding notation (not complicated on purpose hopefully). The trick is not to understand the proof once it is written, but to notice those trivial observations to write a proof in the first place. I think this is what’s sometimes discouraging people from research mathematics. You work for two weeks on something that feels like a very hard problem, and then the solution seems trivial once found. In my case there are two operations and a limit involved. And the things you are trying to bound are not continuous with respect to that limit, so you flail around trying to do all sorts of complicated schemes. Then last night I think … hey why not do these two operations in reverse. I get rid of the limit and the problem becomes almost trivial after a bit of linear algebra. It feels good. But on the other hand it feels like: Why didn’t I think of this two weeks ago.


Syndicated 2013-03-29 16:38:56 from The Spectre of Math

Moving to Oklahoma

So, moving to OSU in Stillwater in the fall. This entails for the first time in my life quitting a job before it sort of naturally ends. The consulting gigs don’t really count I don’t think, and Eazel laid me off in the process of going under, so that counts as natural end of a job. At Red Hat it was just a summer gig, so there was no expectation of staying longer. Then at SDSU and UCSD I was a grad student, so any employment also ended when I graduated. In Urbana, they did make me send a “resignation letter”, but my appointment ended anyway as I stayed the whole 3 years I was hired for. At UCSD then I was hired for 1 year and stayed for one year. So now … I was hired for 3 and I am leaving after 2. Six years of postdoc in 3 different places are enough I think. One can always keep changing jobs every few years, but it’s nice to know I don’t have to now, I just can if I want to.


Syndicated 2013-03-11 20:06:18 from The Spectre of Math

The computation

So the computation has finished (actually a few days ago) for degree 19. I’ve only yesterday gotten around to finishing a short paper (addendum) to post to arxiv, which I’ve done yesterday, see arXiv:1302.1441. The really funky thing is that there are so many sharp polynomials in degree 19. Up to symmetry there are 16 in odd degrees up to degree 17, yet there are 13 in degree 19. And two of the new ones are symmetric, which is actually surprising, that seems it should be hard to achieve if you think about how they are constructed. There’s probably a bunch of interesting number theory that appears here. It should be fun to figure out what’s going on there.

This was the first time a paper of mine got reclassified to a different archive on arxiv. I put it into algebraic geometry because well, the motivation comes from geometry, but it got stuck into comutative algebra. Which actually makes a lot more sense. Especially since none of the motivation from geometry appears in this writeup.

Degree 21 has been running for about a week. It will probably be running for the next year or so at which point I really expect it to just spit out only one polynomial which is the group invariant one we already know about. Which would be also kind of funky since then there would be two degrees with as few polynomials as possible and in between there would be a degree with the most polynomials we have found so far in any degree.


Syndicated 2013-02-07 16:47:48 from The Spectre of Math

The correct finite field does wonders

So the computation I was running since thanksgiving was getting nowhere (finding degree 19 polynomials which are equal to 1 on x+y=1, which have fewest possible terms (11) and which have only positive coefficients, we know that there are finitely many, the trick is to find them). My code didn’t really have good status updates. Well it does tell you exactly where it is, but it takes a bit of computation to really see how it’s progressing, so I didn’t do that until a few days ago since I thought it was going way too slow.

And low and behold, it was going way too slow. I computed that it should take another 3-7 years or so (different parts of the search space take different times so it’s a bit hard to estimate). That was a bummer. That was about 10 times longer than I thought it should be. At first I was a bit resigned to this reality, but the next day I started to look into it, and one thing I figured out after running a bunch of tests was that one shortcut I was using was never triggered. The idea is that we need to find when a certain matrix with integer coefficients has 1 dimensional nullspace. Doing the integer row reduction is done with gmp, and is reasonably fast. But since we do this many times over and most of these matrices are simply full rank (no null space), we don’t really need to do the whole computation. So what we can do (and this is a useful trick to know), is to first do all computation in some small finite field, e.g. do everything mod p for some small prime p. If a matrix is full rank mod p, it is full rank. The computation can be done rather quickly this way and you don’t even have to involve modulo computation, since all the possible computations you can just precompute first and just build up a big table, so instead of two multiplications, an addition, and finding the remainder, you just look up in a table. Anyway, that gets us quite a bit of a speed up.

Now the thing is that I was using mod 19, since that worked for lower degrees. One thing I forgot when I started the run (remember this was a few years since I looked at this code and ran it last time), is that the modulus cannot be the same as the degree. The matrices we need to work with have most terms divisible by the degree. So moding out by 19 essentially always made the matrix all 0 (except for a few 1s scattered around). So these matrices were essentially always singular and the shortcut never triggered. So after doing a useless mod 19 calculation we had to do the actual integer arithmetic. That’s why it was slow. Damnit!

Well the calculations were not wrong, I just did a lot more computation than needed. After a small amount of testing it seemed that mod 23 was a good finite field to proceed in, so I restarted the code. Suddenly 3-7 years turned into first estimating 90 days and after running things for a day, that turned into an estimate of 30 days.

Then I noticed one more thing (and Danny pointed this out too), that his code used symmetry and just threw out half of the nonsymmetric polynomials, since the computations are the same. I remembered that my code didn’t do it. It didn’t make much sense if the longest run we did was 5 days on one core (for code that is only ever run once or twice, small speedups are somewhat pointless). I implemented this idea and it seems to achieve 33% reduction in time (there’s still the checking for symmetry, and there are of course symemtric polynomials, so that’s probably close to where we can get). So anyway, I guess within 20 days we should have the answer.

After it finsihes, I still have one more speedup up my sleeve. It could be that I can do the row reduction really fast mod 2 by using binary operations (each row would be an unsigned int). Not sure what speedup I can achieve though, at best 90%, since that’s how many cases mod 2 catches. While mod 23 or so catches essentially everything. So the idea is to do mod 2, then mod 23, and only then if the matrix is still singular do the integer arithmetic. If the speedup is another 50%, and my most optimistic estimates hold, that would put degree 21 within the realm of possibility, though at least half a year on 4 cores. That’s is, within something I’d be willing to run.

So, the mood went from “I’ll probably give up n d=19 soon” to “maybe d=21 is possible”. All this just by using a different prime :)


Syndicated 2013-01-21 17:26:57 from The Spectre of Math

Interesting calculation

An interesting back of the envelope calculation: UC Irvine is using the differential equations book as standard, that’s a couple of hundred students every quarter, and there are at least a few other places with large and small lectures using the book. A reasonable estimate at the current adoption, there are at least 1000 students every year who use the book. I recently checked on amazon how much does Boyce-DiPrima cost: the new edition is $184 (Yaikes!). It costs $110 just to rent for a semester (a used version was $165). That’s 110-184 thousand dollars a year saved by students, just because of one open book adopted in a couple of large lecture classes. Presumably, the adoption rate can only go up, so this number will go up, just from one of my books (savings from the real analysis book are going to be much smaller due to less students taking that kind of class).

Now I have nothing against the publishers, but they have their incentives wrong. Boyce-DiPrima is a fine book, but … There is really no reason to print big bulky books on expensive paper for these classes. Locally printed coursepacks or cheaply printed paperbacks are much more efficient. And the students might actually keep their books and they might help them along in other classes. Currently most students return their books as soon as they can to recover most of the cost. So if you’re teaching say a PDE class as I did this semester, you can hardly tell them to brush up on their calculus from their calculus book. They don’t have it anymore!

The incentive for me is to simply make the best book because I want to (makes me feel good, that’s I guess all I can expect). Since I make almost no money on it, I don’t really have to inflate page count just to make it more expensive, or add color and pretty pictures just for the hell of it (it would make the book quite a bit more expensive). Plus the book is more accessible. I already know students use the web version even from their phones.

So anyway, I guess I’m providing at least 2 to almost 4 times my salary in free books.

Anyway, if you do want to buy the books (and I make $2.50 on each, yay! I made almost $400 so far, it’s mostly for making me feel good rather than making money), here are the links to lulu:

Real Analysis, $13.09 + shipping

Differential equations, $16.78 + shipping

Yes, I’m a fan of arbitrary looking prices. Actually the reason for those prices is that I simply set the price so that I get $2.50 from the book, so it’s the (cost of printing)+2.50+(lulu’s cut).


Syndicated 2012-12-19 17:02:56 from The Spectre of Math

330 older entries...

 

vicious certified others as follows:

  • vicious certified raph as Master
  • vicious certified timj as Master
  • vicious certified andersca as Journeyer
  • vicious certified clahey as Journeyer
  • vicious certified federico as Master
  • vicious certified jacob as Master
  • vicious certified notzed as Journeyer
  • vicious certified yosh as Master
  • vicious certified miguel as Master
  • vicious certified terral as Journeyer
  • vicious certified tigert as Journeyer
  • vicious certified timg as Journeyer
  • vicious certified lolo as Journeyer
  • vicious certified hilaire as Journeyer
  • vicious certified stric as Journeyer
  • vicious certified aaronl as Apprentice
  • vicious certified mjs as Master
  • vicious certified pavlov as Journeyer
  • vicious certified jrb as Master
  • vicious certified jwz as Master
  • vicious certified sopwith as Master
  • vicious certified wichert as Master
  • vicious certified ettore as Master
  • vicious certified Darin as Master
  • vicious certified eskil as Master
  • vicious certified esr as Journeyer
  • vicious certified alan as Master
  • vicious certified uzi as Journeyer
  • vicious certified mathieu as Journeyer
  • vicious certified stephane as Apprentice
  • vicious certified Guillaume as Journeyer
  • vicious certified kelly as Journeyer
  • vicious certified advogato as Master
  • vicious certified lilo as Journeyer
  • vicious certified jlbec as Journeyer
  • vicious certified BrucePerens as Master
  • vicious certified octobrx as Journeyer
  • vicious certified hp as Master
  • vicious certified ramiro as Master
  • vicious certified jsh as Master
  • vicious certified rebecka as Master
  • vicious certified yakk as Journeyer
  • vicious certified flawed as Apprentice
  • vicious certified pepper as Journeyer
  • vicious certified dcm as Master
  • vicious certified Telsa as Journeyer
  • vicious certified Carbamide as Apprentice
  • vicious certified bartd as Apprentice
  • vicious certified martin as Master
  • vicious certified taj as Journeyer
  • vicious certified riel as Master
  • vicious certified gman as Journeyer
  • vicious certified gramps as Master
  • vicious certified Satan as Master

Others have certified vicious as follows:

  • timj certified vicious as Journeyer
  • andersca certified vicious as Master
  • campd certified vicious as Journeyer
  • clahey certified vicious as Journeyer
  • raph certified vicious as Journeyer
  • yosh certified vicious as Journeyer
  • frb certified vicious as Journeyer
  • sjburges certified vicious as Journeyer
  • Slow certified vicious as Master
  • shawn certified vicious as Journeyer
  • ole certified vicious as Master
  • jamesh certified vicious as Master
  • terral certified vicious as Journeyer
  • notzed certified vicious as Journeyer
  • xach certified vicious as Journeyer
  • lolo certified vicious as Journeyer
  • hilaire certified vicious as Master
  • Acapnotic certified vicious as Journeyer
  • kwayne certified vicious as Journeyer
  • jayc certified vicious as Journeyer
  • Iain certified vicious as Journeyer
  • mjs certified vicious as Master
  • harold certified vicious as Journeyer
  • bombadil certified vicious as Journeyer
  • mathieu certified vicious as Journeyer
  • booch certified vicious as Journeyer
  • listen certified vicious as Journeyer
  • aaronl certified vicious as Journeyer
  • duncan certified vicious as Journeyer
  • matias certified vicious as Master
  • jimmac certified vicious as Master
  • jlbec certified vicious as Journeyer
  • broonie certified vicious as Journeyer
  • bagfors certified vicious as Master
  • diskzero certified vicious as Journeyer
  • harvey certified vicious as Master
  • eskil certified vicious as Master
  • dsueiro certified vicious as Master
  • nils certified vicious as Master
  • Satan certified vicious as Apprentice
  • djcb certified vicious as Journeyer
  • Guillaume certified vicious as Master
  • alan certified vicious as Master
  • nelsonrn certified vicious as Master
  • NetHunter certified vicious as Master
  • jsheets certified vicious as Master
  • jae certified vicious as Journeyer
  • synap certified vicious as Master
  • timg certified vicious as Journeyer
  • rtmfd certified vicious as Master
  • whatever certified vicious as Master
  • ettore certified vicious as Master
  • pepper certified vicious as Master
  • nixnut certified vicious as Master
  • tetron certified vicious as Journeyer
  • kimusan certified vicious as Master
  • kanikus certified vicious as Master
  • mfleming certified vicious as Master
  • flawed certified vicious as Master
  • jsh certified vicious as Master
  • glenn certified vicious as Master
  • jbowman certified vicious as Master
  • inri certified vicious as Journeyer
  • ErikLevy certified vicious as Master
  • timur certified vicious as Master
  • menthos certified vicious as Master
  • lerdsuwa certified vicious as Master
  • hadess certified vicious as Master
  • gman certified vicious as Master
  • rossigee certified vicious as Master
  • viper certified vicious as Journeyer
  • bneely certified vicious as Master
  • taj certified vicious as Master
  • MikeGTN certified vicious as Master
  • jfleck certified vicious as Master
  • cinamod certified vicious as Master
  • gregf certified vicious as Master
  • chrisime certified vicious as Master
  • gleblanc certified vicious as Master
  • Wilddev certified vicious as Master
  • mikeszcz certified vicious as Journeyer
  • rebecka certified vicious as Master
  • Liedra certified vicious as Master
  • monk certified vicious as Master
  • auspex certified vicious as Journeyer
  • jono certified vicious as Master
  • skeezix certified vicious as Master
  • ricardo certified vicious as Master
  • fxn certified vicious as Master
  • sulaiman certified vicious as Master
  • sdodji certified vicious as Master
  • cwinters certified vicious as Master
  • jao certified vicious as Master
  • typezero certified vicious as Master
  • Hallski certified vicious as Master
  • robster certified vicious as Master
  • braden certified vicious as Master
  • riggwelter certified vicious as Master
  • tcurtis certified vicious as Master
  • bratsche certified vicious as Master
  • Rockwalrus certified vicious as Master
  • Uraeus certified vicious as Master
  • mitr certified vicious as Master
  • lucasr certified vicious as Master
  • murajov certified vicious as Master
  • badvogato certified vicious as Master

[ Certification disabled because you're not logged in. ]

New Advogato Features

New HTML Parser: The long-awaited libxml2 based HTML parser code is live. It needs further work but already handles most markup better than the original parser.

Keep up with the latest Advogato features by reading the Advogato status blog.

If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!

X
Share this page