**形式幂级数(formal power series)**是一个数学中的抽象概念，是从幂级数中抽离出来的代数对象。形式幂级数和从多项式中剥离出来的多项式环类似，不过允许（可数）无穷多项因子相加，但不像幂级数一般要求研究是否收敛和是否有确定的取值。形式幂级数在代数和组合理论中有广泛应用。

简介
--

形式幂级数和多项式的形式定义有类似之处。对于熟悉幂级数的读者，也可以将其看作是不讨论幂级数敛散性，也就是将其中的不定元仅仅看作是一个代数对象，而不是任何具体数值的时候写出的幂级数。举例来说，以下的级数式子：

A = 1 - 3X + 5X^2 - 7X^3 + 9X^4 - 11X^5 + \cdots.
如果我们把它当成幂级数来研究的话，重点会放在它的收敛半径等于1、其对应的幂级数函数是否满足某些性质等等。但作为形式幂级数来研究时，我们关注的是它本身的结构。我们甚至可以把它简写为：[1,-3,5,-7,9, \cdots]这样，只关注它的系数。我们完全可以考虑各种系数的形式幂级数。比如说系数为阶乘的形式幂级数：[1,1,2,6,24,120,, \cdots]，即使说它对应的幂级数：

A = 1 + X + 2X^2+6X^3+24X^4 + 120X^5 + \cdots.
在X取任何的非零实数值时都不收敛，我们仍然可以将其作为形式幂级数进行运算。

和多项式环中的元素一样，形式幂级数之间也可以做加减和乘法的运算，具体的计算方式和多项式环一样。比如说设：

B = 2X + 4X^3 + 6X^5 +8X^7 + \cdots.
那么A与B的和就是：

A + B = 1 + 3X + 2X^2+10 X^3+24X^4 + 126X^5 + \cdots.
AB = 2X - 6X^2 + 14X^3 - 26X^4 + 44X^5 + \cdots.
其中A + B里面X^3的系数就是A与B中X^3的系数的和；AB里面X^5的系数就是A与B中X的阶数相加等于5的项的系数乘积的和：

44X^5 = (1\times 6X^5) + (5X^2 \times 4X^3) + (9X^4 \times 2X).
对每个确定的阶数n，这个计算是有限项（至多n+1项）的相加，所以在计算形式幂级数的加减法和乘法的时候，不需要像在对幂级数进行计算时一样，考虑诸如是否绝对收敛、条件收敛或是一致收敛的问题。另外，如多项式的形式运算一样，形式幂级数也满足加法的交换律、加法的结合律、乘法的交换律、乘法的结合律以及乘法对加法的分配律。

形式幂级数不仅能够定义乘法，也能定义乘法逆的运算。一个形式幂级数A的逆是指另一个形式幂级数C，使得AC = 1. 如果这样的形式幂级数C存在，就是唯一的，将其记为A^{-1}。同时我们也可以定义形式幂级数的除法：当A的逆存在时，B/A = B\cdot A^{-1}. 比如说，可以很容易验证：

\frac{1}{1+X} = 1 - X + X^2 - X^3 + X^4 - X^5 + \cdots.
形式幂级数上的一个重要映射是系数的提取操作：将一个形式幂级数映射到它的X^n的系数。这个操作常常记作[X^n]，比如说对形式幂级数A = 1 - 3X + 5X^2 - 7X^3 + 9X^4 - 11X^5 + \cdots.，就有：

[X^5]A = -11
对以上定义的形式幂级数B，也有：[X^3]B = 4。又比如：[X^2] ( X + 3 X^2 Y^3 + 10 Y^6) = 3 Y^3 ， [X^2 Y^3] ( X + 3 X^2 Y^3 + 10 Y^6) = 3。提取映射和多项式环中的对应映射一样，都可以看做是到一个子空间的投影映射。

形式幂级数的环结构
---------

所有的不定元为X，系数为某一个交换环R上元素的形式幂级数构成一个环，称为R上变量为X的形式幂级数环，记作R[[X]]。

### 定义

R[[X]]可以定义为R上变量为X的多项式环完备化（对于特定的度量）后得到的。这个定义自然就赋予了R[[X]]以拓扑环的结构（同时也赋予了完备度量空间的结构）。不过空间完备化所需要的步骤过于繁琐，而建构R[[X]]所需要的并没有那么多。以下将对R[[X]]的环结构和拓扑结构分别定义，更为明晰，容易理解。

#### 环结构

首先可以定义集合R[[X]]的范围。作为一个集合，R[[X]]可以用和R^{\mathbb{N}}一样的方法构造。R^{\mathbb{N}}是所有R上元素构成的数列(a\_n)\_{n\in \mathbb{N} }的集合：

R^{\mathbb{N}} = \{ (a\_n)\_{n\in \mathbb{N} }, \, \, \, \forall n\in \mathbb{N} , \, a\_n \in R \}.
R^{\mathbb{N}}中的元素可以定义加法和乘法：

(a\_n)\_{n\in\mathbb{N}} + (b\_n)\_{n\in\mathbb{N}} = \left( a\_n + b\_n \right)\_{n\in\mathbb{N}}

(a\_n)\_{n\in\mathbb{N}} \times (b\_n)\_{n\in\mathbb{N}} =
\left( \sum\_{k=0}^n a\_k b\_{n-k} \right)\_{n\in\mathbb{N}}.

其中乘法的定义方法也叫做求两个数列的系数的柯西乘积，也是一种卷积。可以证明，在以上的定义下，R^{\mathbb{N}}是一个交换环。环的加法零元是(0, 0, 0, ...)，乘法幺元是(1, 0, 0,...)。于是我们可以将R中的元素嵌入到R^{\mathbb{N}}之中，

x \in R \, \, \mapsto \, (x, 0, 0,...)

并将(0, 1, 0, 0, ...)映射到不定元X，这样通过以上定义的加法和乘法就可以将R^{\mathbb{N}}中的有限非零元元素同构为：

(a\_0, a\_1, a\_2, \ldots, a\_n, 0, 0, \ldots) \mapsto a\_0 + a\_1 X + \cdots + a\_n X^n = \sum\_{i=0 }^n a\_i X^i

这样的结构和多项式环是一样的。所以对于更一般的R^{\mathbb{N}}中元素(a\_n)\_{n\in \mathbb{N} }，就可以自然地**希望**将其对应到 \sum\_{i\in \mathbb{N} }a\_i X^i ：

但这个对应方式并不能通过有限项的加法和乘法得到，所以需要用一个约定上的映射\varphi : \, R^{\mathbb{N}} \rightarrow R[[X]]来做到：

(a\_0, a\_1, a\_2, \ldots, a\_n, \ldots) \mapsto \varphi ( a\_0, a\_1, a\_2, \ldots, a\_n, \ldots ) = a\_0 + a\_1 X + \cdots + a\_n X^n + \cdots = \sum\_{i\in \mathbb{N} }a\_i X^i

这个映射涵盖了之前的多项式的定义，并且可以定义

\left(\sum\_{i\in \mathbb{N} } a\_i X^i\right) + \left(\sum\_{i\in \mathbb{N} } b\_i X^i\right) =
\sum\_{n\in \mathbb{N} } \left( a\_n + b\_{n}\right) X^n.

以及

\left(\sum\_{i\in\N} a\_i X^i\right) \times \left(\sum\_{i\in\N} b\_i X^i\right) =
\sum\_{n\in\N} \left(\sum\_{k=0}^n a\_k b\_{n-k}\right) X^n.

这个定义使得\varphi 是一个同态，所以 R[[X]]也是一个交换环。 

#### 拓扑结构

以上的定义中建立了映射 

\varphi(a\_0, a\_1, a\_2, a\_3, \ldots) = \sum\_{i=0}^\infty a\_i X^i, \qquad (1)

但需要注意的是这里的定义中\sum\_{i=0}^\infty a\_i X^i还是一个符号性的对象，因为我们并没有定义其中无限求和号的意义。为了更好地定义\sum\_{i=0}^\infty a\_i X^i本身，我们需要引入拓扑的结构，将其作为极限来严格地说明。需要注意的是，适合的拓扑结构不止一个。

* 我们可以在R上定义离散拓扑的结构，然后将R^{\mathbb{N}} 作为可数个R的积空间，将其上的拓扑定义为积拓扑。
* 我们也可以直接在R^{\mathbb{N}} 上定义类似于p进数拓扑的I进拓扑，其中的I = (X)是环结构中由X生成的理想，也就是由所有 \sum\_{i=1}^\infty a\_i X^i 形式的形式幂级数构成的集合。
* 对不熟悉一般的点集拓扑学的读者，也可以建立一个具体的度量（也就是定义"距离"）来定义拓扑。比如定义两个数列a = (a\_n)\_{n\in \mathbb{N} }和b = (b\_n)\_{n\in \mathbb{N} }的距离：
d(a, b) = 
\begin{cases}
2^{-\omega(a - b)} &\quad a - b \neq 0 \\
0 & \quad a - b = 0
\end{cases}

其中\omega(s)表示数列s = (s\_n)\_{n\in \mathbb{N} }中第一个不等于0的系数的下标。这样的定义之下，我们说两个数列如果越来越"接近"，那么第一个系数不同的地方会出现的越晚，也就是说它们的距离也越小。对一个数列a = (a\_n)\_{n\in \mathbb{N} }，定义**部分和**数列为：

s\_k = (a\_0, a\_1, \ldots ,a\_k , 0 , 0 , \ldots)

那么部分和s\_k和a 的距离就会是2^{-(k+1)}，所以k趋于无穷大的时候，部分和数列和a 的距离趋于0. 这样，在定义了有限项非零元的数列和多项式的关系以后，就可以将任意的数列定义为部分和数列的极限。

 (a\_0, a\_1, a\_2, a\_3, \ldots) = \lim\_{k\to\infty} s\_k 

然后对形式幂级数也定义类似的距离：

d'( \sum\_{i=0}^\infty a\_i X^i , \sum\_{i=0}^\infty b\_i X^i ) = 
\begin{cases}
2^{-\omega' } ,\, \, \omega' = \min\_{n} \{ a\_n \neq b\_n\} & \quad \exists a\_n \neq b\_n \\
0 & \quad \forall n, \, \, a\_n = b\_n
\end{cases} 

然后形式幂级数也就满足：

 \sum\_{i=0}^\infty a\_i X^i =: \varphi(a\_0, a\_1, a\_2, a\_3, \ldots) = \lim\_{k\to\infty} \varphi(s\_k) = \lim\_{k\to\infty} \sum\_{i=0}^k a\_i X^i 

并且可以验证加法、乘法的交换律和结合律，以及乘法对加法的分配律。于是我们定义出了一个同构于R^{\mathbb{N}} 的拓扑环，将其称为R上的形式幂级数环R[[X]]。

参考来源
----

* Nicolas Bourbaki: *Algebra*, IV, §4. Springer-Verlag 1988.