http://www.hokudai.ac.jp/science/science/H12_10/math/Math_2000_3.htm