微分几何初步理解

解微分方程,很多时候都不好求解,但是从几何的角度就很容易解释,虽然可能不能得到精确的表达式,但是从几何的角度很容易得到解方程的性质。

比如说:$y^{‘}=1+x-y$这个方程看起来简单但是不好求解,但是我们可以从几何的角度解释。

$f(x, y) = 1+x-y$表示一个方向场,在每一个点都有一个方向,或者说斜率,而$y^{‘}$表示的是解函数(我们假设解为$y_1(x)$)的斜率,所以解函数就是,斜率和方向场相同的曲线,或者叫做,积分曲线。

要证明微分方程的解就是方向场的积分曲线也可以简单说明下。

  • 首先微分方程的解肯定是满足微分方程的。
  • 也就是说,满足微分方程的函数就是微分方程的解。
  • 另一方面,方向场的积分曲线斜率都是和解函数的斜率一样的。

下面我们就来画画这个方向场和积分。

  • 计算机在画方向场的时候,
    • 取一个点$(x, y)$,
    • 计算$f(x, y)$,
    • 画图
  • 人在画方向场的时候,是和计算机不一样的,
    • 去一个方向,$f(x, y) = C$,然后画出$x, y$曲线,并标上方向,这样的线,叫做等斜线。
    • 然后更换C,画出其他所有的等值线。这样一来,速度就块多了。

所以,我们继续看这个例子。

$$ f(x, y)=1+x-y = C , y = x+1-c, $$

如图,是$C\in [-4:6:2]$,箭头表示此处的方向场,也就是$C$,$C$代表的是斜率。所以,每一条直线又叫做等斜线。

weifenfangcheng-1

我们把线画得更多一点)

积分曲线就是沿着一个方向的曲线。

Using Octopress

这篇文章参考了生命之氢

新建一个github.io

  1. 创建了域名后千万不要在其他地方引用,不然会很麻烦,push 需要pull, pull 前需要branch, 反正就是各种麻烦事,把它当做最干净的时候用来写博客可以免去很多麻烦
  2. 新建后只需要ssh , 连密码都不用,当然最好是有一个git客户端,但是千万别把github.io 从客户端放到本地,一定要从octopress。

合并远程仓库

在octopress中,是有两个仓库的,一个是source,用来存放后台代码的,一个是master,也就是主分支,是前端显示的。

我们刚开始在github是建立了一个远程仓库的,第一次使用的时候是还没有将远程仓库和本地仓库合并的,这是两个不同的仓库,会提示unrelated histories,所以这时候需要先使用

cd _deploy
git pull origin master --allow-unrelated-histories

更换octopress 主题,

  1. 先把source 中atom.xml 和robots.txt中的nil 改成null

添加上公式

需要mathjx支持,不知道能不能有用。

$$f(x) = \sin(x)\int_{0}^{1}\sum \cos(x)dx$$

显然是没有用的。$\sin(x)$

$$f(x) = \int^{10}_0\sin(x)dx$$

但是修改最后一句javascript这样的代码后就可以了,主要原因是mathjax的那个source更新了。加载非常慢,我是放在script.html中的,千万别放在head.html中,会后悔的,加载特别慢。另外,如果翻墙,公式加载也非常慢,直接访问网站会快很多。其实不更改markdown 也没关系的。但是注意改又花括号的地方时不能省略的。

$$f(x) =x\cdot y$$

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<!-- mathjax config similar to math.stackexchange -->
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
  jax: ["input/TeX", "output/HTML-CSS"],
  tex2jax: {
    inlineMath: [ ['$', '$'] ],
    displayMath: [ ['$$', '$$']],
    processEscapes: true,
    skipTags: ['script', 'noscript', 'style', 'textarea', 'pre', 'code']
  },
  messageStyle: "none",
  "HTML-CSS": { preferredFont: "TeX", availableFonts: ["STIX","TeX"] }
});
</script>
<script type="text/javascript" async
  src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.1/MathJax.js?config=TeX-MML-AM_CHTML">
</script>

另外,在_config.yml中markdown的解释器换了后,要注意这时候的语法有一点不一样,就是公式中$$ 必须单独成行,代码块前后面也必须要有空行。

据说代码块也是有问题的,我要一起测试测试

1
2
3
4
5
6
import torch
import torch.nn
class g(nn.Module):
    def __init__(self):
        super(g, self).__init__()

确实,好像没有高亮。

原来是主题的原因,不过比较简洁,还是能够接受的,

插入图片

插入的图片放在/octopress/source/images/下,在引用的时候

1
![](/images/image.img)

提升速度

使用谷歌的源加载速度特别慢。

具体的就是把source/include/head.html和source/include/custom/head.html中的fonts.google.com和ajax.google.com都替换成userso.com然后就Okay,速度哗哗的

添加七牛图床

这个跟octopress无关。

下载qshell,将文件放在/usr/local/bin/下,然后在终端操作

qshell account ak sk#ak和sk分别是账户和密码这样就能生成账户文件

这时候可以在任何位置使用qshell命令

qshell qupload hello.txt#hello.txt是配置文件,这个配置文件是包含了上传信息的。参见qupload文档说明。