7748 字
20 分钟
张量代数视角下的解析几何
2026-07-25

本文由 main.tex 源码转换为博客正文,公式使用 KaTeX 渲染。原始排版文件仍保留在文末。

摘要

一般教材的解几一般没什么高观点,不过也是,因为中国的大学教育体系是苏联来的, 解几单开一门课这种糟粕自然也就留下来了,反正不是他们学对吧.(笑)

所以我可以先强调一点,这门课如果最后得分不高,完全不用在意,我敢说这对你数学 生涯的影响就和高考多学几个导数圆曲的二级结论一样,几乎没有影响。不过毕竟走个 过场还是要走的,所以笔者也努力找角度竟然让这门课有点好玩的地方,所以就写了这 个玩意出来,当然也是一拍脑袋写的,错误很多,改不改取决于我闲不闲。

线性空间和映射,带度量的线性空间和映射#

一般教材解几的向量代数部分实在没什么意思,不少题目我觉得高中生都应该会做,东 西就那么多,所以我们用线性代数的语言在串一遍,因为不少东西线代也讲过。我总得 搞搞新意思嘛。

线性空间#

定义/提示

线性空间 V\mathbb{V} 是线性的空间,其中线性的意思是满足八条规则的两个运算:

加法:V×VV\mathbb{V} \times \mathbb{V} \to \mathbb{V}
纯量乘法:R×VV\mathbb{R} \times \mathbb{V} \to \mathbb{V}

加法交换律:u+v=v+u\mathbf{u} + \mathbf{v} = \mathbf{v} + \mathbf{u}
加法结合律:u+v+w=u+(v+w)\mathbf{u} + \mathbf{v} + \mathbf{w} = \mathbf{u} + ( \mathbf{v} + \mathbf{w} )
零元:存在 0V\mathbf{0} \in \mathbb{V},使得0+v=v\mathbf{0} + \mathbf{v} = \mathbf{v}
逆元:存在 v1V\mathbf{v}^{-1} \in \mathbb{V},使得v1+v=0\mathbf{v}^{-1} + \mathbf{v} = \mathbf{0}
数乘结合律:(ab)v=a(bv)(ab)\mathbf{v} = a(b\mathbf{v})
数乘单位元:存在1R1 \in \mathbb{R}, 使得1v=v1\mathbf{v} = \mathbf{v}
纯量向分配:(a+b)u=au+bu(a + b)\mathbf{u} = a\mathbf{u} + b\mathbf{u}
向量向分配:a(u+v)=au+ava( \mathbf{u} + \mathbf{v} ) = a\mathbf{u} + a\mathbf{v}

空间好理解,就是里边这些加粗的元素的集合嘛,然后线性的空间就是我们第一节的讨论基础:线性空间 (向量空间)。这些加粗的元素本来并不能理所当然的像这样:

(u1u2un)\left(\begin{matrix} u_{1} \\ u_{2} \\ \vdots \\ u_{n} \\ \end{matrix}\right)

这就像我们高中给你定义平面向量的时候,都是从“有向线段”出发的,应该不会有人上来就跟你说向量是个 有序数组或者说一堆实数集做笛卡尔积吧,除非它是做统计或者机器学习的?因为我们在这样用有向线段表 示向量的时候,算是预设这玩意始终拥有一个基了,(写了一组基又给我删了,尊重丘维声老师捏。)不过 在接下来的讨论中向量还是有基方便点,因此我们就把这个前提挑明了,如果我不说别的,我们都假设一个 向量始终拥有基,永远可以用矩阵表示。

我们都很熟悉这样一个n乘1矩阵的加法和纯量乘法了。就是这样:

u+v=(u1+v1u2+v2un+vn)ku=(ku1ku2kun)\mathbf{u} + \mathbf{v} = \left(\begin{matrix} u_{1} + v_{1} \\ u_{2} + v_{2}\\ \vdots\\ u_{n} + v_{n}\\ \end{matrix}\right) \qquad k\mathbf{u} = \left(\begin{matrix} ku_{1}\\ ku_{2}\\ \vdots\\ ku_{n}\\ \end{matrix}\right)

而且很容易验证这样构造的加法和数乘满足那八条,因此它和原来的那个空间就成为了一个线性空间,我们 向量代数的讨论都是在这个空间里边进行的。

我翻一眼书上写了什么……嗯,好像也没有什么,接着就是这个共线那个共面了,其实这些都是在考虑一个向 量组,我们只要给这个向量组有的那几个数列成一个数表,就可以整出一个矩阵来(顺带一提,这个矩阵是 不是也表示了这个向量组张成的线性空间),因为行列式里面的行向量或者列向量线性相关行列式就等于0, 所以我们就可以拿这个判断线性相关了,或者可以直接用矩阵的秩等于矩阵表示的向量组的维数得到,书上 也没介绍别的方法了,书上就算有判断线性相关的其它方法也是这两个的变体。

解析几何的“解析”就主要体现在我们把几何对象拆成几个独立的实数进行计算,不过这拆法绝大多数时候只 是在告诉我们这玩意一定能算,一旦问题跳出欧氏几何的范畴,变成仿射或者射影几何的问题,继续这么处理 ,像我这种计算能力一拖四的人如果不是数凑的足够刚好,有什么轮换对称性之类的东西的时候就麻爪了,所 以我们下一章就会介绍介绍新东西,在此之前我们先需要把背景和动机都交代充分,把书上理论上说是复习内 容范围内的玩意都走个过场。比如过一下一系列构思二级结论。

补充

定比分点,这玩意没什么好说的其实,因为这样的问题一般不会叫你求什么长度,角度之类需要引 入度量的东西,你只要跳出高中思维,把你的系建成斜的,这个就是书上说的仿射坐标系。

(你就是跳不出来也没关系,我跟你说,你在草稿纸上悄悄把它建成直的,给你和坐标轴共线的单位向量当成你 定比分点分的那俩玩意,之后再算完,回去把坐标写成正交分解的样子,反正你算出来了,而且比例和度量y又 没有关系,你就大胆的写,我给你打包票,这个玩意绝对是对的。)

等和线,其实就是定比分点的自然推广,没啥新东西。这里我们算是第一次尝到先给问题分成欧氏和 射影问题,之后大量减少计算量的甜头,你想想你建个初中那样的平面直角坐标系,证明个定比分点指定够呛。

线性映射#

还是一样的,线性映射T\mathsf{T}就是线性的映射,首先是线性的,然后是映射。

我们假设T\mathsf{T}是从前面那个nn维的V\mathbb{V}映射到W\mathbb{W}W\mathbb{W}的维数是 啥都可以,只要是非负整数就好了,那我们就假设dimW=m\dim \mathbb{W} = m,那么 T\mathsf{T} 可以表示为 一个 m×nm \times n 的矩阵。

如果我们很特别地让m = 1,那么这个线性映射和我们之前的线性空间V\mathbb{V}的元素,在代数上唯一的区别 就是行变成了列,列变成了行。此时我们就把这个线性映射T\mathsf{T}称为V\mathbb{V}上的一个线性函数, 或者说一个线性泛函,记之为f,此时T\mathsf{T}的元素也可以一样的定义加法和数乘,也是行和列互换一下的 事,我们就这样,又得到了一个线性空间,叫做V\mathbb{V}对偶空间,记作V\mathbb{V}^*,从线性代数 的角度看,这就是Gilbert Strang在mit 18.06上说的“行空间”和“列空间”。我找了下那张Gilbert Strang 的经典的四个基本子空间的图给大家回忆一下。

MIT 18.06 四个基本子空间示意图

MIT 18.06 中四个基本子空间示意图

而且对偶这个玩意有一点很好,对偶空间的对偶空间就是线性空间,即V=V\mathbb{V}^{**} = \mathbb{V},不 过这个如果要严格证明的还是没有我们聊的这么简单的,这个叫Risezs表示定理,感兴趣的自己去看吧,这里就不展 开了。

不难证明,线性泛函也可以写成一个基的线性组合的形式,因此线性函数和线性泛函都有分量,为了表示它们的性质不 一样,我们把线性泛函的分量记作f1,f2,,fnf_{1}, f_{2}, \cdots, f_{n},而线性函数的分量记作u1,u2,,unu^{1}, u^{2}, \cdots, u^{n}。这里写在上面的也是指标,不是幂运算,所以我们叫写在上面的指标为上指标,下面的叫下指标。

接下来才是重头戏,我们把线性泛函和向量找到了,马上就可以定义度量。

内积和度量#

我们之前一直在渲染度量多么多么重要:没有度量,几何问题的性质都变了,所以在搭好这么多架子之后,我们 终于可以开始定义度量了。

但是有个坏消息,从度量入手定义度量很烦,因为它定义的是任意两个点的距离,你要输入两个点才能返回一个 数字,所以学界很早就知道,度量不如赋范简单,赋范就是赋了个范数,范数其实就是某个点到原点的距离,现在我们 只需要一个点就能返回我们一个数字了,而且我们一定能用两个点的范数求出度量,你高中解三角形就在干这事(不严 谨的说,不过知道赋范能整出度量就行了。)

到这其实还有高手,我们又发现赋范不如内积简单,因为赋范的定义定义完之后赋范的线性空间是个拓扑空间,也就是说向量的夹角丢掉了,因此我们选择了定义内积,而且不难发现,内积定义出来之后只要和自 己一内积在开根号就能诱导出欧几里得范数,(L2\mathsf{L} ^{2}范数)之后再递归一层就是度量。

现在决定了,我们要定义内积,但是我们又遇到了困难:我们定义的内积是这样的:

U,V=R\langle\mathbb{U},\mathbb{V}\rangle = \mathbb{R} (u,v)=(u1,u2,,un)(v1v2vn)=u1v1+u2v2++unvn=C(\mathbf{u},\mathbf{v})= (u^{1}, u^{2}, \cdots, u^{n}) \left(\begin{matrix} v_{1} \\ v_{2} \\ \vdots \\ v_{n} \\\end{matrix}\right) = u^{1}v_{1} + u^{2}v_{2} + \cdots + u^{n}v_{n} = C

当C = 0的时候还挺有意义的,说明v这个“点”刚落好在u的分量为参数的超平面上。 就是说内积的对象必须一个表示成行向量,另一个同时就表示成列向量,只有它们才能自然的进行内积运算,这有没有 很反直觉,我们一直学的都是向量向量点乘,天经地义的,今天突然就不行了。至于今天为什么不行了,下一章会告诉你。

张量代数#

指标缩并,指标升降#

刚才好像向量和对偶向量整出了这个来(偷偷换个字母):

f1a1+f2a2++fnan=Cf_{1}a^{1} + f_{2}a^{2} + \cdots + f_{n}a^{n} = C

我说它是一个常数应该都没有意见吧,我们以后会为了方便把Σfiai=C\Sigma f_{i}a^{i} = C直接记成fiai=Cf_{i}a^{i} = C

定义/提示

显然,gjfiai=Cgjg_{j}f_{i}a^{i} = Cg_{j}。因为我们关心的是有多少个指标,至于系数那倒是无关紧要的。因此直接有:

gjfiai=gjg_{j}f_{i}a^{i} = g_{j}

我们发现这里原来求和求出常数的东西在某种意义上相当于不存在,这就是Einstein求和约定,我们也认为在这个约定下 一上一下的指标“抵消了”,这叫做指标缩并.

缩并后不存在的指标(比如这里的ii)称为哑指标,还在的(jj)称为自 由指标拥有mm个上标,nn个下标的元素称为(m,n)(m,n)型张量,或者(m+n)(m+n)阶张量(暂时先这么定义吧,如果像整个 严谨定义需要会多重线性代数,这玩意太超纲了)

从缩并的逻辑看只要mmnn都不为0,也就是说,对于一个mmnn满足前面条件的高阶张量,我们就可以在上指标和 下指标里边都选一个出来给它缩并掉,一直这样操作,一个张量一定可以缩并到nnmm里起码有一个是0,只剩下上标的 张量是逆变的,只剩下下标的则是协变的,所以我们发现矩阵同样是(2,0)或者(0,2)型张量的表示。说句题外话,这 就是为什么矩阵可以由标准型化成二次型。

补充

你如果看过我写的Abstract Algebra I里面的第六节,就可以知道“逆变向量是矩阵乘法群的左模,协变向量是右模。

我们已经很接近我们想要的东西了,只要我们选择一个合适的张量AijA_{ij},可以让我们的逆变向量经过它的作用变成 协变向量,协变向量经过它的逆张量(A1)ij(A^{-1})_{ij}变成逆变张量,就可以愉快的拿向量点乘向量,对偶向量点乘对偶向量 我们发现点乘的结果此时取决于AijA_{ij},它就是定义出来的内积,当然这个定义有要求:首先,AijA_{ij}得是可逆的,这 个很容易看出来,因为你要用它的逆张量,它的逆张量当然得存在。而且,AijA_{ij}还得是对称的,因为我们要求内积满足交换 律。最后,AijA_{ij}还得是正定的,因为我们要求内积满足正定性。如果我们用它进行升降指标,我们就称AijA_{ij}度规张量

定义/提示

  • 张量AijA_{ij}对称的,如果对于任意的iijj,都有Aij=AjiA_{ij} = A_{ji}

  • 张量AijA_{ij}可逆的,如果存在一个张量(A1)ij(A^{-1})_{ij},使得Aik(A1)kj=δijA_{ik}(A^{-1})_{kj} = \delta_{ij},其中δij\delta_{ij}是Kronecker delta。

  • 张量的正定,负定,不定依赖于它的号差,号差就是它的特征值的正负情况,如果它的特征值全是正的,那么这个张量就是正定的,如果全是负的,那么这个张量就是负定的,如果既有正的又有负的,那么这个张量就是不定的。

自此我们算是彻底解决了点乘,或者说度量的问题。我们高中的点乘就是欧氏空间的点乘,而欧氏空间的度规是Kronecker Delta,也就是单位阵, 过一遍度规出来发现协变向量就等于逆变向量,因此狗运好规避了点乘定义域的问题。

叉乘,外积,Levi-Civita符号#

先说一句,由于国内教材翻译不统一,vector product有的叫叉乘,有的叫外积,但是呢好死不死,wedge刚刚好不知道给谁音译成外积了,当然也有叫楔积的, 于是我以后会尽量避免使用外积这个叫法,把vector product叫叉乘,wedge叫楔积。你看我之前写的Differential Manifolds I(已佚)我还是经常忍不住把微分形式外代数的那个玩意叫外积。
我在后面也会说它们为什么不一样,现在言归正传,我们不是想构造出叉乘吗,还是和之前一样,回忆一下叉乘的性质。

定义/提示

  • 叉乘是一个二元运算,输入两个向量,输出一个向量。

  • 叉乘满足反交换律,即u×v=(v×u)\mathbf{u} \times \mathbf{v} = -(\mathbf{v} \times \mathbf{u})

  • 叉乘满足分配律,即u×(v+w)=u×v+u×w\mathbf{u} \times (\mathbf{v} + \mathbf{w}) = \mathbf{u} \times \mathbf{v} + \mathbf{u} \times \mathbf{w}

  • 叉乘的结果垂直于输入的两个向量所在的平面。

  • 叉乘的长度等于输入的两个向量长度的乘积再乘以它们夹角的正弦值,即u×v=uvsin(θ)|\mathbf{u} \times \mathbf{v}| = |\mathbf{u}| |\mathbf{v}| \sin(\theta),其中θ\thetau\mathbf{u}v\mathbf{v}之间的夹角。

依葫芦画瓢呗,有一点可以确定,你想想混合积[abl]=(a×b)l\left[\mathbf{a}\mathbf{b}\mathbf{l}\right] = (\mathbf{a} \times \mathbf{b}) \cdot \mathbf{l}最后不是有个点乘吗?这不就说明叉乘得到的结果是一个和输入向量的指标反过来的向量。 于是我们构造的张量得是(3,0)或者(0,3)型的,不妨设之为εijk\varepsilon_{ijk},我们还得让它满足反交换律,满足分配律,满足结果垂直于输入的两个向量所在的平面,满足长度等于输入的两个向量长度的乘积再乘以它们夹角的正弦值,这样就可以了。

这样的张量可以构造出一堆来,毕竟我给所有元素乘个啥数除个啥数就又整出来一个新的,所以我们找个最简单的,就是:

εijkεijk=6\varepsilon_{ijk}\varepsilon^{ijk}= -6

这个张量就是Levi-Civita符号,此时定义点矢叉乘:a×b=εijkaibj\mathbf{a} \times \mathbf{b} = \varepsilon ^{ijk} a_{i} b_{j}, 线矢叉乘:l×m=εijklimj\mathbf{l} \times \mathbf{m} = \varepsilon _{ijk} l^{i} m^{j}。显然εijk=εjik\varepsilon_{ijk} = -\varepsilon_{jik},不难发现这玩意是反对称的。

我看解析几何的书上介绍了二重外积公式:

(a×b)×(l×m)=[abm]l[abl]m(\mathbf{a} \times \mathbf{b}) \times (\mathbf{l} \times \mathbf{m}) = [\mathbf{a}\mathbf{b}\mathbf{m}]\mathbf{l} - [\mathbf{a}\mathbf{b}\mathbf{l}]\mathbf{m}

其实那些叉乘有关的恒等式我们都可以用这个式子给它推出来:

定义/提示

εijkεlmn=δilδimδinδjlδjmδjnδklδkmδkn\varepsilon_{ijk}\varepsilon_{lmn} = \left|\begin{matrix} \delta_{il} & \delta_{im} & \delta_{in} \\ \delta_{jl} & \delta_{jm} & \delta_{jn} \\ \delta_{kl} & \delta_{km} & \delta_{kn} \\ \end{matrix}\right|

其实吧,这个式子的特殊情况更有名:

εijkεlmk=δilδjmδimδjl\varepsilon_{ijk}\varepsilon_{lmk} = \delta_{il}\delta_{jm} - \delta_{im}\delta_{jl}

我们顺手把张量形式的混合积写了吧,虽然没什么意思:

[abc]=εijkaibjck\left[\mathbf{a}\mathbf{b}\mathbf{c}\right] = \varepsilon_{ijk}a^{i}b^{j}c^{k} [lmn]=εijklimjnk\left[\mathbf{l}\mathbf{m}\mathbf{n}\right] = \varepsilon^{ijk}l_{i}m_{j}n_{k}

补充

我想在这里补充一下叉乘和楔积的区别。 一个最明显的区别来源于

张量代数视角下的射影和仿射几何#

几何元素的张量表示#

话先说在前头,适合用欧氏几何解决的问题别硬凹造型,没有必要,我虽然不避讳超纲内容,但是我不会故意超纲。

我们和高中一样,让点表示向量,但是考虑到射影和仿射问题的特殊性,我们会把平面几何的元素升一维处理,于 是考虑下面的映射,像不像高考圆曲很火的齐次化套路(好吧只是形式有点幻视,实际上没啥关系):

(x,y)(λx,λy,λ)(x,y) \to (\lambda x, \lambda y, \lambda) (XZ,YZ)(X,Y,Z)(\frac{X}{Z},\frac{Y}{Z}) \leftarrow (X,Y,Z)

如果向量对应的是点,那么对偶向量对应的就是线了,因此不妨设向量是a,b,c\mathbf{a},\mathbf{b},\mathbf{c}; 对偶向量是l,m,n\mathbf{l},\mathbf{m},\mathbf{n},我们假设对偶向量l=(A,B,C)\mathbf{l} = (A,B,C) 此时la=0\mathbf{l} \cdot \mathbf{a} = 0就是AX+BY+CZ=0AX + BY + CZ = 0,或者说AXZ+BYZ+C=0A\frac{X}{Z} + B\frac{Y}{Z} + C = 0 意义很明确,就是点在线上,或者说线过这个点,没差啦,这也是为什么点乘满足交换律的一个解释。

不过这个操作我们暂时先默认Z\neq0吧,Z=0的情况我们下一节应该会讨论的。

点乘等于0是一个很特殊的时候,这个时候的l\mathbf{l}a\mathbf{a}无论变成自己多少倍或者多少分之一, 点乘等于0都成立,你想想也是,直线系数都乘个2还是那条直线,点乘个2也是沿着直线继续往远处走,啥都不影响。

我们称这种不受系数影响的关系具有规范不变性。不难发现,具有规范不变性的的关系才具有几何意义

补充

我补充点几何意义的意思,我们构造的关系当中,如果某个量乘以某个数之后,结果也得乘上某个数,那么就说这个 关系具有几何意义。

我们再举个具有规范不变性的关系吧,比如两个点矢量叉乘会得到线矢,两个线矢量点乘会得到点矢。几何意义就是 得到的线过两个点,或者两条线交于一点。

无穷远,射影和仿射几何#

我们刚才讨论问题的时候有一个假设,就是Z得不为0,这时我们发现(X,Y,0)(X,Y,0)这个三位矢量在平面上没有对应的点 因此我们就再构造出一个,结构,因为有限量除以个很小的数趋近无穷大,所以这个结构叫做无穷远结构。

我们把原来的平面叫做仿射平面射影平面就是添加了无穷远结构的仿射平面

所以我们把形式上是(X,Y,0)的点矢称为无穷远点,形式上是(0,0,C)的称为无穷远直线,记作l\mathbf{l}_{\infty},容易 得到以下事实。

定义/提示

  • 两条平行线交于无穷远点

  • 过两个无穷远点的直线是无穷远直线

  • 无穷远点在无穷远直线上

  • 不平行的直线必经过不同的无穷远点

  • 过两个无穷远点可以作出无穷远直线

  • l+λl\mathbf{l} + \lambda \mathbf{l}_{\infty}表出了所有和l\mathbf{l}平行的直线

二次曲线的一般理论#

圆曲度规,极点极线#

我们把一个对称不定的(0,2)型张量称为圆曲张量,记为gijg_{ij},把可逆去掉就是退化的圆曲张量。

如果选定gijg_{ij}对矢量进行指标升降,那么称gijg_{ij}为这个矢量空间的度规,因为它是圆曲张量,故得名 圆曲度规,当我们只有一个圆曲出现的时候会自然的想要让这个圆曲做度规进行指标升降,因为如果这样 gij=(g1)ijg^{ij} = ( g^{-1} ) ^ {ij} ,即gij=gijg^{ij} = g_{ij},性质很好。

此时,点矢a\mathbf{a}点乘自己等于0就是gijaibj=0g_{ij}a^{i}b^{j} = 0意思就是a在圆曲上,相应的 线矢l\mathbf{l}满足lij=gijliljl^{ij} = g^{ij}l_{i}l_{j}时说明线上有一点在圆曲上,也就是线矢和 圆曲相切。

由于可以随时降指标,我们的a和l就不需要区分是点还是直线了,这个时候呢,aia_{i}aja_{j} 互为对方的极点极线。在张量代数的视角下经典射影几何的配极原则是显然的。

我在下面罗列一下经典射影几何的常见理论,用以说明射影几何在我们这个体系下多么简洁:

补充

若极点a对应的极线过极点b,则b的极线过a ab=ba=0\Leftrightarrow a \cdot b = b \cdot a = 0
自极三角形 ab=bc=ca=0\Leftrightarrow a \cdot b = b \cdot c = c \cdot a = 0

切线,中心,渐进线#

求切线简单:就是在圆曲上的点过一遍圆曲度规就得到了对应的切线。下面随手举个例子:

定义/提示

3x2xyy2+3x+y1=03x^{2} - xy - y^{2} + 3x + y -1 = 0在(2,1)的切线方程。

解:gijai=aig_{ij}a^{i} = a_{i} (323.52547243)(21Z)=(A,B,C)\Rightarrow \left(\begin{matrix}3 & 2 & -3.5 \\2 & 5 & -4 \\ -\frac{7}{2} & -4 & -3 \\\end{matrix}\right) \left(\begin{matrix}2 \\ 1 \\ Z \end{matrix} \right) = (A,B,C)

C和Z都不重要,因此不妨令Z = 1,C就不解了,一会有更巧妙的方法解C,此时可以解得a = 92\frac{9}{2},b = 5。
于是切线方程Ax + By + C = 0,A,B已经有了,把(2,1)代入得到C就能求出切线方程为:

92x+5y14=0\frac{9}{2}x + 5y -14 =0

特别地,求中心和判断奇异点其实也可以这样:因为中心的极线是无穷远直线,奇异点的极线是零线矢量,不代表任何直线,所以反过来就行了。

定义/提示

5x22xy+3y22x+3y6=05x^{2} - 2xy + 3y^{2} -2x + 3y - 6 = 0的中心
解:我们可以先求中心坐标映到三维空间的一个像(x,y,1)(x,y,1),然后把结果给降到 二维,即映射成(x1,y1)=(x,y)(\frac{x}{1},\frac{y}{1})=(x,y),就得到答案了。

要求(x,y,1)(x,y,1)很简单,对应的无穷远直线li=(0,0,C)l_{\infty}^i = (0,0,C),此时有:

(51113321326)(xy1)=(0,0,C)\left(\begin{matrix}5&-1&-1\\ -1&3&\frac{3}{2}\\ -1&\frac{3}{2}&-6\end{matrix}\right) \left(\begin{matrix}x\\y\\1\end{matrix}\right) =(0,0,C)

C不重要就不用解了嘛,解出(x,y)=(328,1328)(x,y) = (\frac{3}{28},-\frac{13}{28})就是中心了。

这样我们有了求渐近线的第一个拼图:渐近线一定过中心点,现在我们需要第二块,就是斜率。 不过这样事情就起了变化,因为只有能通到无穷远的地方的二次曲线才能有渐近方向,所以我们 先粗浅的分个类吧。

定义/提示

我们把非退化的二次曲线根据和无穷远直线的相交情况分为三类:

  • 与无穷远直线相离的称为椭圆

  • 与无穷远直线相切的称为抛物线

  • 与无穷远直线相交的称为双曲线

那么结论就很明朗了,在Eucild平面的非退化二次曲线里面,只有二次曲线拥有(有限范围里的) 渐近线,同时曲线和无穷远直线的交点在渐近线上

定义/提示

6x2xyy2+3x+y1=06x^{2}-xy-y^{2}+3x+y-1=0的渐近线,因为刚才讲了求中心的方法,所以这里求中心就 不是我们的重点了,我就直接告诉你中心是(15,35)(-\frac{1}{5},\frac{3}{5})
解:设二次曲线与无穷远直线的交点为ai=(xy0)a^{i} = \left(\begin{matrix}x\\y\\0\end{matrix}\right),列出式子就有:

gijaiaj=0(612321211232121)(xy0)(xy0)=0g_{ij}a^{i}a^{j}=0 \Rightarrow \left(\begin{matrix} 6&-\frac{1}{2}&\frac{3}{2}\\ -\frac{1}{2}&-1&\frac{1}{2}\\ \frac{3}{2} & \frac{1}{2} &-1\end{matrix}\right) \left(\begin{matrix} x \\ y \\ 0 \end{matrix}\right) \left(\begin{matrix} x \\ y \\ 0 \end{matrix}\right) = 0

化到最后有:6x2xyy2=06x^{2} - xy - y^{2} = 0,(这就是解几课本上的方法,不过它没头没尾直接告诉你 把所有二次项取出来单列,然后得到个式子算出来的X:Y就是渐近方向,今天知道为什么了吧。)

之后是很技术性的方法解x和y,比如两边同除y2y^{2}就有关于xy\frac{x}{y}的一元二次方程, 然后就是初中知识。

但是一般不要急头白脸就这么硬算,你先观察一下能不能因式分解嘛,然后就会发现它真的可以:

(3x+y)(2xy)=0(3x+y)(2x-y) = 0

于是就解得:ai=(x3x0)a^{i} = \left(\begin{matrix}x\\ -3x\\0\end{matrix}\right)(x2x0)\left(\begin{matrix}x\\2x\\0\end{matrix}\right)
然后设渐近线是li=(A,B,C),l_{i} = (A,B,C),l:AX+BY+CZ=0l:AX+BY+CZ = 0,我们考虑中心点的映射为

定义/提示

ci=(15351)Tc^{i} = \left(\begin{matrix}-\frac{1}{5} & \frac{3}{5} & 1\end{matrix}\right)^{T} 有两个点我们就可以联立方程了,又因为那个无穷远点里的xx可 以移项到右边乘以0就没有了,所以方程一定能解,我直接说答案了,两个渐近线方程是:3x+y=03x+y = 02xy+1=02x-y+1=0 有个很好玩的特性,就是式子gijaiaj=0g_{ij}a^{i}a^{j}=0里边的aa如果混搭两个解,再把度规的常数项去掉, 之后等式仍然成立,初等意义就是把常数项扣掉之后的二次曲线可以因式分解成两个渐近线的乘积。

其实说这么多,这些题都是抓住三位矢量,极点极线的配极原则和无穷远就能解决。没有什么难度,而且甚至在我们 的理论里,或者说射影几何里,它们都是同一种东西的不同情况。

我们来理顺一些概念,不少难背的概念在我们的视角下特别好理解,好理解的自然就容易记住。

我们刚才求中心的时候用了这个式子:

gijci=(l)jg_{ij}c^{i} = (l_{\infty})_{j}

这就是个二元的非齐次线性方程组嘛(把最后一个0=0丢掉),解空间的维数就有三种可能, 于是我们就分三种曲线,我们把解空间是0维的叫做中心曲线,解空间是1维的叫做线心曲线,解空间是 2维的叫做无心曲线。这不比全国统一那本教材舒服多了。()

直径和主直径#

我们刚才无意间提到这个:若极点a的极线过极点b,则极点b的极线过极点b。

它就是点乘的交换律:aibj=biaj=0a_{i}b^{j} = b_{i}a^{j} = 0

此时我们把它们全部整成上标就会有gijaibj=0g_{ij}a^{i}b^{j}=0我们就把满足这个关系的线矢量 aia^{i}bjb^{j}互称为对方关于二次曲线的共轭直径

定义/提示

x12y8=0x-12y-8=0关于x2+2y24x2y6=0x^{2}+2y^{2}-4x-2y-6=0的共轭直径
设共轭直径l1    i=(1128)l_{1}^{\;\; i} = \left(\begin{matrix} 1&-12&-8\end{matrix}\right)l2    i=(abc)l_{2}^{\;\; i} = \left(\begin{matrix}a&b&c\end{matrix}\right) 于是他们关于圆曲度规的点乘为零,即:

gijl1    il2    j=0(102021216)(1128)T(abc)T=0g_{ij}l_{1}^{\;\; i}l_{2}^{\;\; j}=0 \Rightarrow \left(\begin{matrix}1&0&-2\\0&2&-1\\ -2&-1&-6\end{matrix}\right) \left(\begin{matrix}1\\ -12\\ -8\end{matrix}\right)^{T} \left(\begin{matrix}a\\b\\c\end{matrix}\right)^{T} =0

于是有:17a16b+58c=017a-16b+58c=0
然后我们又知道共轭直径一定过中心,求中心我们已经很熟了,我直接告诉你中心是(2,12)(2,\frac{1}{2}),于是:

定义/提示

17a16b+58c=02a+12b+c=0\begin{aligned} 17a-16b+58c=0\\ 2a+\frac{1}{2}b+c=0 \end{aligned}

abcabc此时解出来的答案有点恶心,是10x22y9=010x-22y-9=0

如果题目条件变弱,只有一族平行弦的方向,这个时候这族直线过中心的共轭直径是同一条。 所以说直径是一条直线,针对一族直线关于圆曲给出,在圆曲固定的情况下我们也可以说 直线族和直径的方向是共轭方向。而且你想他是关于圆曲画出来的,因此在圆曲里面的部分 应该是把圆曲分成一模一样的两半,因此直线族的共轭直径是直线族的中点轨迹

不过一刀切成一模一样的两半也是有说法的,有种特殊的切法两刀是垂直的,所以特别地,当一对共轭直径 在Eucild空间的意义上垂直的时候我们称之为主直径

所以我们可以设出来之后直接联立:

gijlimj=0δijlimj=0\begin{aligned} g^{ij}l_{i}m_{j}=0\\ \delta^{ij}l_{i}m_{j}=0 \end{aligned}

δij\delta^{ij}叫做Kronecker符号,在ijij相等的时候等于1,不相等的时候等于0。此时我们设l的分量是 a1,b1,c1a_{1},b_{1},c_{1}a2,b2,c2a_{2},b_{2},c_{2},而且可以简化问题,求他们在无穷远处的时候,也就是c=0的时候,此时就有:

a1a2+b1b2=0(a11a12a21a22)(a1b1)(b1b2)=0\begin{aligned} a_{1}a_{2}+b_{1}b_{2}=0\\ \left(\begin{matrix}a_{11}&a_{12}\\a_{21}&a_{22}\end{matrix}\right) \left(\begin{matrix}a_{1}\\b_{1}\end{matrix}\right) \left(\begin{matrix}b_{1}\\b_{2}\end{matrix}\right) =0 \end{aligned}

其实还可以写成这样(这下看懂了):

Ax=λx\mathbf{A}x=\lambda x

也就是说其实求主直径也就是求特征值,求出来之后给特征向量算出来就是两个主直径的 主方向。

到这里其实就差不多了,我没什么要讲的了,那就说最后两个显而易见的玩意,毕竟解析几何强行开一节课也很没有意思不是吗。

二次曲线的分类#

我们可以根据圆曲度规的性质给二次曲线进行分类:

定义/提示

  • 张量可逆:
    • 张量正定:虚椭圆
    • 张量不定:
      • 和无穷远直线相离:椭圆
      • 和无穷远直线相切:抛物线
      • 和无穷远直线相交:双曲线
  • 张量不可逆:
    • 张量的表示矩阵的秩为 2:两条直线或者两个点(因为配极原则嘛,很好理解)
    • 张量的表示矩阵的秩为 1:一条直线或者一个点

后记#

我觉得吧,其它问题,比如空间方向和距离,柱面锥面旋转面,都很无聊,我就介绍一些通过 射影几何和仿射几何来解决比较容易,解析几何解决比较难的东西,挺好玩的不是吗?暂时先写到这吧 ,不过我忘记补充内积和楔积的区别了。其实我的Differential Manifold I也介绍了,所以就先 这样吧,我能想到的话我就会补充。

原始文件#

分享

如果这篇文章对你有帮助,欢迎分享给更多人!

张量代数视角下的解析几何
https://yutsukarin.pages.dev/posts/analytic-geometry-tensor-note/
作者
yutsukarin
发布于
2026-07-25
许可协议
CC BY-NC-SA 4.0

部分信息可能已经过时

目录