2022年8月11日 星期四

Euler的絕招

Euler 的絕招很多,介紹一個最有名的。
 
$$P(x)=1+Ax+Bx^2+Cx^3+\cdots=(1+\alpha_1x)(1+\alpha_2x)(1+\alpha_3x)\cdots$$
 
這式子有什麼大不了呢?根據Euler的看法,這式子延伸到無窮項也成立,$P(x)$不是多項式也成立。這就非常大不了了。兩邊取對數之後微分,可以得到

$$\frac{P'(x)}{P(x)} = \frac{\alpha_1}{1+\alpha_1x}+\frac{\alpha_2}{1+\alpha_2x}+\frac{\alpha_3}{1+\alpha_3x}+\cdots$$

2022年6月30日 星期四

兩個方法求冪次和公式

以$1^2+2^2+3^2+...+n^2$為例。更高次仿此可得。

方法一:牛頓差分法

首先我們需要一個數列,這個數列的每一項都是冪次和。 注意必須從零開始,因為我們要用的公式是差分版的麥克勞林級數:

假定數列是$F(0),F(1),F(2),...$

$$
\begin{multline*}
F(n)=F(0)+\Delta F(0)n+\frac{1}{2!}\Delta^2F(0)n(n-1)+\frac{1}{3!}\Delta^3F(0)n(n-1)(n-2) \\
+\cdots+\frac{1}{r!}\Delta^rF(0)n(n-1)(n-2)...(n-r+1)+\cdots
\end{multline*}
$$

2022年4月7日 星期四

Burnside 定理的證明

    這是一個計數定理,用來計算一個有限集合被群作用(排列)下的等價類個數。其實這定理不是 Burnside 發現或證明的,只是 Burnside 最早把它寫進教科書。證明這定理要用到一些群論的定理,雖然這些定理的證明也可以直接全部寫入本定理的證明當中,但是證明會變得很冗長,其實會更不容易懂。

2022年1月12日 星期三

如何做 Haskell 的 η conversion,以 (.).(.)為例

 Haskell的函數直接支援 η(eta) conversion,也就是說函數的撰寫可以變成完全無參數。事實上還是會接收參數,只是經過 η conversion 之後可以不寫。於是就有像 (.).(.) 這種完全不知道在幹什麼的函數。這不是乳房的象形文字,是一個合法的函數,而且還很有用。當然最好別這樣寫,這樣寫沒人看得懂。(.).(.) 函數可以經由 η conversion 轉回來變成有參數,Haskell當中有一種機械化的代數運算方式計算出 (.).(.) 的型別,有了型別就知道它在幹什麼了。