ypxrain

正式用户

最新动态 4月前

  1. 7月前
    2018-06-06 13:52:11
    ypxrain 修改了简介为: 喜欢数学的高中生/前oier
  2. 2018-06-06 13:30:24

    @laserdog 先说第一感觉:
    没有创新啊朋友,还是非常古典的微积分顺序,虽然说这种课程的逻辑已经基本定死了按照这么个顺序讲下来是基本没办法的事(没说你布尔巴基君),但既然是给高中小朋友的话你得顾及一下适合他们的逻辑吧?不然和市面上的微积分教材有啥区别吗?
    再说一下优点,排版美观(废话这个模板大家用了这么多年当然美观),chapter image漂亮。。内容的话,把离散数列&函数的异同说的相对比较清楚。
    总之还是希望多多努力,看好后续~

    区别大概是不用钱吧 划去。
    课程逻辑和亲民性的问题我考虑了其实也卡了我很久,因为如果调整顺序的话会导致有些东西没有办法严谨的考虑,所以就只好从语言上来让他亲民一点,但是 emmm 我的语文,说实话我觉得写的像笔记,希望关于顺序调整的方面能够稍稍具体一点点,我会回去在好好思考一下的QAQ。

  3. 2018-06-04 20:06:07
    ypxrain 发表了帖子 简明微积分读本(雾)

    这是一个我觉得类似于笔记但是初心是打算作为科普读物的东西。受众是高中生,仅打算学习微积分作为工具或希望对微积分有个初步了解的同学。
    不过还只有上册,为什么呢,因为我懒,因为latex真的好难用。
    各位读者如果是初学的,请提出你的疑惑或者想了解的部分,我将添加或作相应修改,如果是dalao,请提出你的批评,这真的对我会很有帮助,会很重要。
    另外是关于排版,因为是第一次用latex写成文的东西所以排版可能真的不好,希望能得到有用的建议。
    最后链接:https://pan.baidu.com/s/16jr-0jG57vNKLJU768ON5w,密码:4oyp

  4. 9月前
    2018-03-29 21:14:32
    ypxrain 更新于 一道算法题

    这个题目的n太小了,如果把n变成1000000的话你就会发现时间上完全过不去。
    我们考虑一个递减序列,假如想让他满足条件是不是我们只需要把所有数都变成中位数就可以了,并且满足答案最优。
    于是我们有了一个简单的想法:设w[i]表示第i段的中位数,我们把序列分成m段,只要满足中位数不递减就好了,那么我们假设我们现在处理的是第i个数字,我们把它单独变成一段,假如加上这一段一共有m段的话,假如a[i]<w[m-1],我们就把这个数合并到上一段里面,然后去维护这一段的中位数,事实上你可以看成我们把一段变成了一个数,这个数是这一段的中位数,现在我们就是要考虑维护中位数,怎么维护呢?
    我们只需要一个大根堆,如果这个堆得元素个数>n/2,n为这一段的元素个数,那么我们就把堆顶弹掉,那么我们现在需要的就是合并两个大根堆,上左偏树即可。

  5. 2018-03-28 19:54:45
    ypxrain 更新于 一道算法题

    我们拿左偏树维护一下中位数就好了

  6. 去年
    2017-11-27 18:40:10
    ypxrain 发表了帖子 自然数幂和的若干种解法

    抱歉了,好久没有更新,前一段时间在背考,这不就更新了吗。QAQ(其实还是更新了的,只不过在逼乎上就懒得搬了QAQ)
    不过感觉这又是一篇“会的不看,看的不会”的文章呢,果然自己不适合科普QAQ。

    拉格朗日插值法

    就是设一个函数再把式子推出来。道理很简单,了解什么是拉格朗日插值法之后应该不难得到做法,在此不赘述,若不了解的可以看以前的文章。

    差分法

    我们令 $S_t(n)=\sum_{k=0}^{n}k^t$,易得 $S_t(n)+(n+1)^t=0+\sum_{k=1}^{n+1}k^t$

    等式右边易得为: $S_t(n)+(n+1)^t = \sum_{k=0}^{n}(k+1)^t$ ,可以用二项式定理化简为: $\sum_{k=0}^{n} \sum_{i=0}^{t} \binom{t}{i} k^i$ ,交换求和顺序易得:

    $$\begin{aligned} S_t(n)+(n+1)^t & = \sum_{i=0}^{t} \binom{t}{i} \sum_{k=0}^{n} k^i \\ & = \sum_{i=0}^{t} \binom{t}{i} S_i(n) \end{aligned}$$

    所以我们用 $t+1$ 代替式子中的 $t$ 就可以得到

    $$(n+1)^{t+1} = \binom{t+1}{t} S_t(n) + \sum_{i=0}^{t-1} \binom{t+1}{i} S_i(n)$$

    移项得到:

    $$S_t(n) = \frac{1}{t+1} \left( (n+1)^{t+1} - \sum_{i=0}^{t-1} \binom{t+1}{i} S_i(n) \right)$$

    然后我们就得到了一种递推求自然数幂和的方法,并且注意到这个递推式还帮我们证明了$t$次的自然数幂和是一个$t+1$次多项式。

    伯努利数法

    这个基本上是在算法竞赛中最常用的求自然数幂和的方法。

    如果我们用别的算法算出对于不同的t的自然数幂和的多项式,然后写在一张纸上,其实可以观察到一些性质(这里就不列出来了)。雅各布·伯努利就发现了其中的规律…

    这里为了方便,我们修改一下我们的记号: $S_t(n) = \sum_{k=0}^{n-1} k^t$ 。我们把 $n^t$ 的一项去掉了。这会比较方便接下来的分析,并且影响不大

    伯努利的结果是:

    $$S_t(n) = \frac{1}{t+1} \sum_{k=0}^{t} \binom{t+1}{k}B_k n^{t+1-k}$$

    其中 $B_k$ 是伯努利数,至于这个式子的证明嘛,超出了本篇文章的范围,关键是我也不会啊QAQ。

    注意到,当 $n=1$ 时,$ S_t(n)$ 就变成了 $0^t$ ,所以只有 $t=0$ 时它才是$1$,其它时候都是$0$。注意到在这个时候,我们得到了一个一侧含有伯努利数的式子:

    $$\sum_{k=0}^{t} \binom{t+1}{k} B_k = 0,t>0$$

    而如果$t=0$,我们可以得到 $B_0=1$ 。现在我们就可以递推算 $B_k$ 了,移项即可得到递推式

    $$ B_k = -\frac{1}{k+1} \sum_{i=0}^{k-1} \binom{k+1}{i} B_i$$

    接下来我们需要证明这个东西…这个东西可以用归纳法证明,但是看起来非常复杂暴力…好在还有一种方法是指数生成函数。

    一个数列 $f_n$ 的指数生成函数是 $\hat F(z) = \sum_{n \geq 0} f_n \frac{z^n}{n!}$ 所以如果我们把两个指数生成函数相乘,得到的指数生成函数是它们的二项卷积的指数生成函数。比如对于 $\hat F(z) \hat G(z) = \hat H(z)$ 那么结果就是: $h_n = \sum_{k=0}^{n} \binom{n}{k} f_k g_{n-k}$

    我们可以对开始那个递推式使用指数生成函数:我们用$n$代替$t+1$,然后在两侧加上 $B_n$ 得到:

    $$\sum_{k=0}^{n} \binom{n}{k} B_k = B_n,n>1$$

    不难得到伯努利数的指数生成函数就是: $\hat B(z) = \frac{z}{e^z-1}$ ,接下来考虑t次方和,我们尝试利用指数生成函数凑t次方和:

    $$e^{kz} = \sum_{i \geq 0} k^i \frac{z^i}{i!}$$

    这就是数列 $k^0,k^1,k^2,\cdots$ 的指数生成函数,所以如果我们要求自然数幂和,我们只要把$0$到$n-1$的 $e^{kz}$ 相加:

    $$\sum_{k=0}^{n-1} e^{kz} = \frac{e^{nz}-1}{e^z-1}$$

    联系伯努利数的生成函数就有:

    $$\hat S_t(z) = \hat B(z) \frac{e^{nz}-1}{z} $$

    右侧又可以变成类似两个数列的二项卷积的形式,不过有一点不同,其中 $\frac{e^{nz}-1}{z}$ 其实就是把 $n^0,n^1,n^2,\cdots$ 的生成函数去掉常数项再在普通生成函数意义下挪了一位。这就导致了公式的二项式系数里面那个奇怪的$+1$最后我们取$ \hat S_t(n)$ 的第$t$项系数再乘以$t!$就能得到上面的公式了,利用fft优化的话,算法的时间复杂度是十分可观的。

    斯特林数法

    我们可以通过斯特林数转化为下降幂,然后用离散微积分帮助我们求和,最后再转化回去的方法来得到自然数幂和,我们不难直接写出狮子:

    $$\begin{aligned} \sum_{k=0}^{n} k^t & = \sum_{k=0}^{n} \sum_{i=0}^{t} (-1)^{t-i} \left\{ \begin{matrix}t\\i\end{matrix} \right\} k^{\underline{i}} \\ & = \sum_{i=0}^{t} \left\{ \begin{matrix}t\\i\end{matrix} \right\} \sum_{k=0}^{n} k^{\underline{i}}\\ & = \sum_{i=0}^{t} \left\{ \begin{matrix}t\\i\end{matrix} \right\} \frac{(n+1)^{\underline{i+1}} }{i+1} \\ & = \sum_{i=0}^{t} \left\{ \begin{matrix}t\\i\end{matrix} \right\} \frac{1}{i+1} \sum_{j=0}^{i+1} \left[ \begin{matrix}i+1\\j\end{matrix} \right] (-1)^{i+1-j} (n+1)^j \end{aligned}$$

    如果我们想求得多项式的系数也很容易:注意到这个$n+1$有些扎眼,我们可以把$0$到$n-1$的幂和用这个公式算(那样这里就是$n$了),然后单独加上一个 $n^t$ 。而加上 $n^t$ 只是在多项式的$t$次项系数加一而已。

    知道怎么用斯特林数转化为下降幂的可以跳过去下一个方法了,在这里我稍微啰嗦一下什么是斯特林数以及斯特林数转化下降幂的东西。

    首先什么是斯特林数:

    斯特林数有两类,第一类是轮换数,代表n个数排成k个非空的环的方案数,我们用 $\left[ \begin{matrix}n\\k\end{matrix} \right]$ 表示,第二类是子集数,代表n个数形成k个非空集合的方案数,我们用 $\left\{ \begin{matrix}n\\k\end{matrix} \right\}$ 表示。

    我们根据它的定义,不难得到:

    $$\left[ \begin{matrix}n\\k\end{matrix} \right]=\left[ \begin{matrix}n-1\\k-1\end{matrix} \right]+(n-1)\left[ \begin{matrix}n-1\\k\end{matrix} \right]$$

    $$\left\{ \begin{matrix}n\\k\end{matrix} \right\}=\left\{ \begin{matrix}n-1\\k-1\end{matrix} \right\}+k\left\{ \begin{matrix}n-1\\k\end{matrix} \right\}$$

    我这次要用它们在我们使用的通常幂 $n^k$ 和更加易于求和的下降幂 $n^{\underline{k}}$ 之间转化。其中 $n^{\underline{k}}=n(n-1)(n-2) \cdots (n-k+1)$ 同样,我们用上划线代表上升幂 $n^{\overline{k}}=n(n+1)(n+2) \cdots (n+k-1)$ ,并且我们可以得到下列公式:

    $$ x^n = \sum_{k=0}^{n} \left\{ \begin{matrix}n\\k\end{matrix} \right\} x^{\underline{k}} x^{\overline{n}} = \sum_{k=0}^{n} \left[ \begin{matrix}n\\k\end{matrix} \right] x^k$$

    这两条式子都可以归纳证明,在此就不赘述。观察到上升幂和下降幂的式子中刚好是符号反转,如果我们写成多项式的话就会发现下降幂除了带有交错符号外和上升幂是一样的。不难发现第二条式子加以变形可以得到下降幂的版本。

    $$x^{\underline{n}} = \sum_{k=0}^{n} (-1)^{n-k} \left[ \begin{matrix}n\\k\end{matrix} \right] x^k$$

    于是对于一个和式 $\sum_{k=a}^{b} f(k)$ 我们找到一个原函数 $g(x) \Delta g(x)=f(x)$ ,那么原来的和式就可以写成: $\sum_{k=a}^{b} g(k+1)-g(k) = g(b+1)-g(a)$

    所以如果我们能够方便地求出原函数,就能快速计算所有和式了。不过通常的问题是原函数并不好求,这就是我们选择下降幂的原因。

    由于 $\Delta x^{\underline{n}} = (x+1)^{\underline{n}}-x^{\underline{n}} = [x+1-(x-n+1)]x^{\underline{n-1}} = nx^{\underline{n-1}}$

    这就像通常幂的求导一样,非常简单。反过来我们也能轻易地求出原函数就是 $\frac{x^{\underline{n+1}}}{n+1}$ 剩下的步骤就是很显然的了。

    高阶差分

    首先我们有一个结论 $\Delta^n f(x) = \sum_{k=0}^{n} \binom{n}{k} (-1)^{n-k} f(x+k) $,这个结论可以用数学归纳来证明。

    我们先来引入一个概念叫做牛顿级数: $f(x)=c_d \binom{x}{d} + c_{d-1} \binom{x}{d-1} + \cdots + c_1 \binom{x}{1} + c_0 \binom{x}{0}$

    我们可以唯一地把一个多项式写成牛顿级数,因为二项式系数可以写成下降幂除以卷积的形式,而上一部分中斯特林数告诉我们通常幂可以唯一地转化为下降幂的和,我们把式子重新整理为下降幂的和,然后在每一项系数上乘以一个阶乘,于是我们就会得到一个牛顿级数。

    牛顿级数的差分具有非常好的性质,因为按照二项式系数的递推公式可以得到二项式系数的差分 $\Delta\left( \binom{x}{k} \right)=\binom{x+1}{k}-\binom{x}{k}=\binom{x}{k-1}$

    于是我们经过$i$次差分后, $\binom{x}{0}$ 的系数就是原来的$ c_i$ 。同时我们还能注意到,当$x$取$0$时,除了这一项以外的其他项全部会变成$0$,所以 $\Delta^i f(0)$ 就等于 $c_i$ 。

    现在回过去看上面的式子,它告诉了我们$ \Delta^n f(0)$ 只和 $f(0),f(1),\cdots,f(n)$ 有关,所以如果我们知道了前面这些项的值,我们就可以得到整个多项式了。

    我们就可以暴力算出差分然后带回牛顿级数里面得到原多项式,如果只是想求值不需要系数的话,我们还可以直接把高阶差分公式带进牛顿级数里面:

    $$\begin{aligned} f(n)&=\sum_{k=0}^{d} \binom{n}{k} \sum_{i=0}^{k} \binom{k}{i} (-1)^{k-i} f(i) \\ &= \sum_{k=0}^{d} \sum_{i=0}^{k} \binom{n}{i} \binom{n-i}{k-i} (-1)^{k-i}f(i)\\ &= \sum_{i=0}^{d} f(i)\binom{n}{i} \sum_{k=i}^{d} \binom{k-n-1}{k-i} \\ &= \sum_{i=0}^{d} f(i)\binom{n}{i} \sum_{k=0}^{d-i} \binom{k+i-n-1}{k} \\ &= \sum_{i=0}^{d} f(i)\binom{n}{i} \binom{d-n}{d-i} \\ &= \sum_{i=0}^{d} (-1)^{d-i}f(i)\binom{n}{i} \binom{n-i-1}{d-i} \\ &= \sum_{i=0}^{d} (-1)^{d-i}f(i) \frac{n!}{(n-i)!i!} \cdot \frac{(n-i-1)!}{(d-i)!(n-d-1)!} \\ &= \sum_{i=0}^{d} (-1)^{d-i}f(i) \frac{n^{\underline{d+1}}}{(n-i)i!(d-i)!} \end{aligned}$$

    以上的解法都是比较好用算法实现的,那么接下来的几个解法就不是那么好用算法实现了。

    定积分做法

    我们定义$m=0$时 $f_m(x)=x$ ,当 $m\geq 1$ 时 $f_m(x)=m\int_{x}^{0}f_{m-1}(t)dt+xm\int_{-1}^{0}f_{m-1}(t)dt$ 称该一元$m+1$次多项式 $f_m(x)$ 为多项式 $x^m$ 的求和多项式,有定义可以得到这个刚好就是$1-x$的$m$次自然数幂和的式子,在证明之前我们先来看看这个函数有什么性质。

    性质1 对于任意正整数$m$,有 $f_m(0)=0,f_m(-1)=0$ 。

    性质2 对于任意正整数$m$有 $\frac{d}{dx}f_m(x)=mf_{m-1}(x)+m\int_0^{-1}f_{m-1}(t)dt$

    性质3 $\int_{0}^{x+1}f_m(t)dt=\int_{-1}^xf_m(t+1)dt$

    性质4 对于任意的非负整数$m$,恒有: $f_m(x+1)-f_m(x)=(x+1)^m$

    性质4可以由数学归纳法来证明,性质1-3的证明不难,请读者自行证明。

    根据性质4我们易得定理:

    对于任意非负整数$m$,恒有: $1^m+2^m+...+n^m=f_m(n)$

    后记

    好了,自然数幂和的介绍到这里就告一段落啦,其实本来还有安排傅里叶级数,矩阵和行列式的内容的,不过实在是太难写公式了,所以我就打算以后再说了,望见谅QAQ

  7. 2017-11-27 18:28:53
    ypxrain 更新于 数列极限题目求助

    否则$(1+x_{n+1})/x_n-1<a/n,a<1$,即$x_{n+1}<(1+a/n)x_n-1$,容易得出$x_n<C*n^a$,C是某个常数。取N使得$N^{1-a}>C*2^a$,于是$x_{2N}<\prod _{k=N}^{k=2N}(1+a/k)x_N-N<C*\exp(a*\log(2))*N^a-N<0$,矛盾

  8. 2017-10-22 07:33:37
    ypxrain 发表了帖子 复数基础

    嘛,估计之后的文章跟高中衔接的概率不会很大,因为我最近在读数学分析。不过高中数学这种东西主要都是看心情的吧。那么言归正传,今天我就来稍微介绍一下复数基础,为之后的一些乱七八糟的学习做做铺垫(其实并不会)

    对了,事先说一下,本篇文章默认你有一定的线性代数基础,不过倒也无所谓,因为我实在是太弱了,所以我写出来的东西也不会要太多的基础知识,大家遇到不知道的百度一下,现学现卖想必也是够了的。

    起源

    如果我们想要预见数学的将来,适当的途径是研究这门学科的历史和现状
    ——庞加莱

    每一个东西的引入自然有他的道理,就好像说为什么要引入无理数呢?那自然是因为有理数不够用啊!其实为什么要引入复数域呢?很显然的原因就是:实数不够用啊!

    那这个时候相信有一部分人就会想了:那为什么没听过什么其他的更“大”的数系了呢?那当然是因为复数域已经足够的”大“了啊!

    嗯,很好,我义正言辞的似乎说了很多废话。

    虚数是神灵遁迹的精微而奇异的隐避所,它大概是存在和虚妄两界中的两栖物
    ——莱布尼茨

    复数域的出现无疑可以说是很艰难的,因为事实上他的出现并不是那么的“理所应当”,你如说无理数的出现是很自然的,因为你会发现在日常生活中你很自然的会使用到无理数,但是虚数却并非如此,这个时候你可能会想:也很正常啊,你比如说我解一元二次方程的时候虚数的使用很显然啊。

    但是你仔细想想,如果我一开始告诉你其实对于一元二次方程复数解其实是不存在解的意思你也并不会觉得很难以接受,就好像tan 90°不存在一样,但是如果我告诉你没有面积为2的正方形你就会觉得很难以接受。

    但是你会发现引入复数却又是那么的显然和理所应当,因为引入复数之后很多东西变得十分的完美,比如说代数基本定理,所以我们现在就来稍微的介绍一下复数。

    第一次认真讨论这个数的是文艺复兴时期意大利有名的数学家“怪杰”卡丹,他是1545年开始讨论这个数的,当时复数被他称为“诡辩量”。几乎过了100年笛卡尔才给这种“虚幻之数”取了个名字---虚数。但是又过了140年,欧拉还是说这中数只是存在与“幻想之中”并用i(imaginary,即虚幻的缩写)来表示她的单位。后来德国数学家高斯给出了复数的定义,但他们仍感到这种数虚无缥缈,尽管他们也感到他的作用。1830年高斯详细论述了用直角坐标系上复平面上的点表示复数a+bi,使复数有了立足之地,人们才最终承认了复数。到今天复数已经成为现代数学科技中普遍运用的数学工具之一。如,流体力学、热力学、机翼理论的应用;渗透到代数学、数论、微分方程等数学分支。复数在理论物理、弹性力学、天体力学等方面得到了广泛应用,是现代人才必备的基础知识之一。

    大概的了解了一下复数的起源之后我们就来看看复数的定义和他的一些基本运算。

    基本概念

    其实复数相比较于其他的数并没有太大的区别,复数的定义是这样的:

    A complex number takes the form \(z=x+iy\) where \(x\) and \(y\) are real, and \(i\) is an imaginary number that satisfies \(i^2=-1\) 。

    我们称\(x\)是\(z\)的实部,也就是实数部分,用\(\Re(z)\)表示,即\(x=\Re(z)\),\(y\)为\(z\)的虚部,用\(\Im(z)\)表示,即\(y=\Im(z)\)。

    特别的,当\(x=0\)时,\(z\)为纯虚数,\(y=0\)时\(z\)为实数。

    其实大家仔细观察你会发现,我们需要用到两个实数才能够很好的表示一个复数,所以自然的复数直接就是在平面上的,其中\(x\)轴为实数轴,表示复数\(z\)的实部,\(y\)为虚轴,表示\(z\)的虚部。

    那么我们就可以发现,似乎复数的运算法则也会稍稍有些不同,那么我们现在将给出复数的基本运算的一些定义和性质:

    我们设 \(z_1=x_1+iy_1 , z_2=x_2+iy_2\) ,那么我们有:

    \[z_1+z_2=(x_1+x_2)+i(y_1+y_2)\]

    同样的也有:

    \[z_1z_2=(x_1x_2-y_1y_2)+i(x_1y_2+y_1x_2)\]

    加法是显然的,而对于乘法而言,注意到 \(i^2=-1\)的话 推导也将是不难得到的。并且呢稍加验证我们也不难得到一下运算规律:

    Commutativity: \(z_1+z_2=z_2+z_1\) and \(z_1z_2=z_2z_1\) for all \(z_1,z_2\in C\)
    Associativity: \((z_1+z_2)+z_3=z_1+(z_2+z_3)\) and \((z_1z_2)z_3=z_1(z_2z_3)\) for \(z_1,z_2,z_3 \in C\)
    Distributivity: \(z_1(z_2+z_3)=z_1z_2+z_1z_3\) for all \(z_1,z_2,z_3 \in C\)
    我们之前提到过:对于一个复数我们需要在平面上用一个点来表述,自然而然地我们可以想到,复数之间的加法跟在\(R^2\)里面的向量加法是一样的,但是复数乘法的几何意义就很有趣了,乘上一个i就等同于逆时针旋转90°,至于为什么嘛,我们后面会提到。

    我们考虑一下在欧几里得空间中我们定义一个向量的“绝对值”为他的长度,同样的,我们定义复数z的绝对值为: \(|z|=(x^2+y^2)^{1/2}\) ,那么根据三角不等式呢我们可以得到下面的结论:

    \(|z+w|\leq|z|+|w| \) for all \(z,w \in C\)

    嘛,根据上面那个结论我们可以得到几个很有趣的推论:

    \(||z|-|w||\leq |z-w|\) and \(|z| \leq |z-w|+|w|\) and \(|w|\leq |z-w|+|z|\)

    对与每个复数而言,他都有一个“孪生子”,也就是 complex conjugate,他是这么定义的:

    the complex conjugate of \(z=x+iy\) if defined by : \(\bar{z}=x-iy\) ,

    根据上面的定义,我们不难发现,complex conjugate 是和原复数关于\(x\)轴对称滴,并且我们可以很容易发现,当复数\(z\)是实数的时候当且仅当 \(z=\bar{z}\) ,当复数z是纯虚数的时候当且仅当 \(z=-\bar{z}\) ,并且呢,关于一个数字的实部和虚部我们可以得到下面两个表达式:

    \[\Re(z)=\frac{z+\bar{z}}{2} \;\text{and}\; \Im(z)=\frac{z-\bar{z}}{2}\]

    并且呢,我们也不难得到: \(|z|^2=z\bar{z}\) 并且 \(\dfrac{1}{z}=\dfrac{\bar{z}}{|z|^2}\) 当 \(z\ne0\)

    稍作讨论了在直角坐标系下的复数情况之后呢,我们就来看看极坐标系下是怎么样的吧。

    对于任意一个非零复数\(z\),在极坐标系下可以被写成:

    \[z=re^{i\theta}\]

    当\(r>0\)并且 \(\theta \in R\)的时候被称为argument of \(z\),经常被表示为 \(\arg z\),并且我们有:

    \[e^{i\theta}=\cos \theta + i\sin\theta\]

    没错了,这就是传说中的欧拉公式。

    不难的得到如果 \[z=re^{i\theta},w=se^{i\varphi}\] ,那么我们有 \[zw=rse^{i(\theta+\varphi)}\] 。

    其实相信大部分读者读到现在都基本上不难发现复数的很多性质跟\(R^2\)的很多性质是一样的,包括我们没有提到的极限之类的,不过鉴于篇幅(其实就是懒,你能怎么样,来咬我呀)就暂时先介绍到这里,下面我们来看看一些很有意思的东西,就是复数的矩阵同构。

    同构意义下的复数和矩阵

    数学是赋予不同事物相同名字的艺术
    ——H. Poincare

    在我第一次看到这句话的时候我以为是书的作者搞错了,原话可定不是这样的,直到我学习了同构这个伟大的概念。

    同构是什么呢,同构其实是一种保持结构的双射,他的完整定义是这样子滴:

    同构是在数学对象之间定义的一类映射,它能揭示出在这些对象的属性或者操作之间存在的关系。若两个数学结构之间存在同构映射,那么这两个结构叫做“是同构的”。一般来说,如果忽略同构对象的属性或操作的具体定义,单从结构上讲,同构的对象是完全等价的。
    而这样子,我们就可以把“不同的事物”指定以相同的“名字”,因为他们是同构的,我们来看看矩阵和复数之间的同构关系。

    我们构造代数系统 \(<C_1,+,*>\)

    其中集合 \(C_1=\left\{ a+ib\;|\;a,b\in R \right\},i^2=-1\) ,两种运算定义如下:

    \[+:\forall a+bi,c+di\in C_1,(a+bi)+(c+di)=(a+c)+(b+d)i\]

    \[*:\forall a+bi,c+di\in C_1,(a+bi)*(c+di)=(ac-bd)+(ad+bc)i\]

    我们由此易得该集合关于运算是一个代数系统,记作 \(<C_1,+,*>\)

    同样的我们构造代数系统 \(<C_2,+,*>\)

    其中集合 \[C_2=\left\{ \begin{bmatrix} a & -b \\ b & a \end{bmatrix} \;|\;a,b\in R\right\}\] ,两种运算如下:

    \[+:\forall \begin{bmatrix} a & -b \\ b & a \end{bmatrix},\begin{bmatrix} c & -d \\ d & c \end{bmatrix}\in C_2,\begin{bmatrix} a & -b \\ b & a \end{bmatrix}+\begin{bmatrix} c & -d \\ b & c \end{bmatrix}=\begin{bmatrix} a+b & -(b+d) \\ b+d & a+c \end{bmatrix}\]

    \[*:\forall \begin{bmatrix} a & -b \\ b & a \end{bmatrix},\begin{bmatrix} c & -d \\ d & c \end{bmatrix}\in C_2,\begin{bmatrix} a & -b \\ b & a \end{bmatrix}*\begin{bmatrix} c & -d \\ b & c \end{bmatrix}=\begin{bmatrix} ac-bd & -(ad+bc) \\ ad+bc & ac-bd \end{bmatrix}\]

    我们同样不难得到该集合关于运算是一个代数系统,记作 \(<C_2,+,*>\)

    我们构造对应法则 \(\varphi :a+bi\rightarrow \begin{bmatrix} a & -b \\ b & a \end{bmatrix}\) ,由于篇幅问题(其实还是懒)关于该映射是一一映射关系且保持运算的证明就不赘述,留给读者作为思考。

    所以 \(<C_1,+,*>\) 与 \(<C_2,+,*>\) 同构。

    我们十分粗糙的了解了关于矩阵和复数同构的问题我们就可以回过头去看为什么乘i相当于是旋转了。

    我们根据对应法则不难得到,i对应的二阶矩阵为: \(\begin{bmatrix} 0 & -1 \\ 1 & 0 \end{bmatrix}\) ,是不是感觉很眼熟?没错,这个矩阵就是平面上逆时针旋转90°的变换所对应的矩阵!

    乱七八糟的东西

    关于复数的基础内容至此也就告一段落啦,其实关于复数还有很多没有讲,比如说他的集合,开集,闭集的定义之类的,不过其实本来写这篇东西也不是为了讲那些,只是刚知道了矩阵同构之后十分的兴奋所以就顺便写下了这一篇文章。

    在写专栏的时候我终于明白为什么书本上那么多易得了,因为要给读者留下思考空间啊,不然的话读者多无聊(你懒就算了,干嘛找借口)。

    你们说我下一次是写复变函数呢,还是DL呢,还是数列极限呢,不过感觉下一篇将会变成有生之年?

  9. 2017-10-12 21:27:15

    @长岛冰茶 这个m大概是打错了吧

    唔,确实的说,已改

  10. 2017-10-10 19:31:53

    @涂效灰 话说LZ的标准是数学老师要能一眼看出来普通的题目么……那我觉得大概有不少人应该被开除(中学)数学老师籍了 /<<

     只是有时候我都写出来了数学老师还没有写出来,就觉得很奇怪 /<<

查看更多