color diff to pdf

7 December, 2015

Sometimes you want to explain changes you did to a text in (La)TeX, or perhaps to source code, as a coloured diff produced by your favourite VCS, such as git in my case, by attaching it to an email. The net is full of various scripts to do so, with various degree of success; however, all you need is an installation of enscript, something that is standard on most Linux systems, or at least used to be so.

enscript understands a lot of different programming languages, and can highlight them, and not only them, but also various diff files, e.g., something that git normally produces, unified diffs. Now if your diff is saved in a file blah.diff, you can do

enscript -o blah.ps --color -Ediffu blah.diff

to create Postscript file blah.ps with nicely coloured diff. (And you can also produce HTML instead, or convert Postscript to PDF.)

Re: Schonhardt polyhedron, IMS-2013/4 program, etc…

28 November, 2013

The program announced at this post is finally happening, here is
the official schedule etc.

Two of my graduate students at NTU, Svetlana Obraztsova and Nick Gravin, received their PhDs in the past 12 months.

And, on a personal note, there is Jacob Victor, a.k.a. Yasha, born in August 2012 :-)

Weak Nullstellensatz for C

20 August, 2012

Weak Nullstellensatz says, that for an algebraically closed field {\mathbb{K}} each maximal ideal {I} in {R=\mathbb{K}[X_1,\dots,X_n]} has form {I=(X_1-a_1,\dots,X_n-a_n)}, for {a:=(a_1,\dots,a_n)\in \mathbb{K}^n}, i.e. {I=I(\{a\})}, the ideal of an one-element subset of {\mathbb{K}^n}. Its proof in this generality needs quite a bit of commutative algebra. However, if we futher assume that {\mathbb{K}} is uncountable (thus covering a very important case {\mathbb{K}=\mathbb{C}}) we can give a much quicker proof.

Theorem 1 Let {\mathbb{K}} be an uncountable algebraically closed field, e.g. {\mathbb{K}=\mathbb{C}}, and {I} a proper maximal ideal in {R=\mathbb{K}[X_1,\dots,X_n]}. Then there exists {a:=(a_1,\dots,a_n)\in \mathbb{K}^n} such that {I=I(\{a\})}.

Proof: The first step is to show that {R/I\cong\mathbb{K}}. To see this, we will show that every {b\in R/I} is algebraic, i.e. a root a nonzero polynomial {f\in\mathbb{K}[z]}. Note that the dimension of {R/I} as a vectorspace over {\mathbb{K}} is at most countable, as {R/I} is generated by the images {\phi(X^J)} of the monomials {X^J} under the ring homomorphism {\phi:R\rightarrow R/I}, and the exponents {J} form a countable set. Thus for {b\in R/I\setminus\mathbb{K}} the set

\displaystyle  \left\{\frac{1}{b-t}\mid t\in \mathbb{K}\right\}

is linearly dependent, i.e. there exist {\mu_1,\dots,\mu_m} such that { \sum_{i=1}^m\frac{\mu_i}{b-t_i}=0. } Thus

\displaystyle  0=\sum_{i=1}^m\frac{\mu_i}{b-t_i}=\frac{P(b)}{\prod_i{(b-t_i)}},

where {P\in\mathbb{K}[z]} and {P(b)=0}. As {\mathbb{K}} is algebraically closed, we have that {P} is linear, i.e. {R/I\cong\mathbb{K}}.

Next, we observe that {\phi} maps {R} to {\mathbb{K}}, and set {a_i:=\phi(X_i)}, for {1\leq i\leq n}. As {\phi(X_i-a_i)=0}, we see that {X_i-a_i\in I}, for {1\leq i\leq n}. By maximality of {I}, we obtain {I=(X_1-a_1,\dots,X_n-a_n)}, as claimed. \Box

Here one can find reduction of the general case (not assuming non-countability of \mathbb{K}) to this one.

Schonhardt polyhedron and IMS-2013/4 program

28 May, 2012

One cannot always triangulate a non-convex polyhedron using only its vertices, sometimes one need to add more of them. A simple example of this phenomenon is Schonhardt polyhedron. Here is a picture illustrating how one builds it that I drew for a forthcoming paper, using Tikz LaTeX package, which is awesome, but totally overwhelming.

Image

It fact, it’s easy to see that the 6 vertices and 12 edges it has are not enough. Indeed, each pair of non-intersecting edges determines a simplex, but it’s easy to observe that any such selection will include one the forbidden pairs of vertices AC, A’B, or B’C’. (The LaTeX source of the picture is here).

The paper I mention is related to a topic of the program on inverse moment problems at IMS (NUS/Singapore) in late 2013-early 2014 which I co-organize.

Sage (sagemath.org) at GSoC 2012

19 March, 2012

Sage (not the accounting software, but sagemath.org) is accepted to Google Summer of Code 2012, and I will be one of many mentors. 

21 February, 2012

This is just SO wrong, that I find it hard to believe. I cannot boycott Springer, at least not yet, given that I have a number of papers under submission in Springer journals, but OK, I’m going to boycott Elsevier.

Experimental Sage-based Mathematics course

7 August, 2011

We are to embark upon teaching a 2nd year undergraduate course Experimental Mathematics, which will cover computer algebra basics, and refresh concepts from 1st year linear algebra, calculus, and combinatoris, with few more advanced things thrown in. The course will be based on Sage, with the actual software running on dedicated servers, and accessible via Sage web notebook interface (i.e. basically nothing but a web browser running on the student’s computer/laptop/ipad, etc).

Given the enrollment of about 120, this will be interesting…

PS. Most students did not appreciate the freedom given, and complained, complained, complained…


Follow

Get every new post delivered to your Inbox.