啊丢,线性代数学了这么久,突然想到齐次和非齐次是啥区别。
齐次方程组的右边等于0,因此每个方程中的单项式可以看作次数相等,就叫齐次。
非齐次方程组右边不等于0,因此每个方程中有1次项也有0次项,次数不相等,就不齐,就叫非齐次。
现在想想这个齐次好像不是这个意思,虽然在线性方程组里面,可以这么理解,但是非线性方程组,也存在齐次和非齐次。齐次的英文是homogeneous,很多地方都出现过这个词。
齐次和非齐次应该是针对常数项来说的,线性方程组和非线性方程组中都有可能存在常数项,常数项全为0就是齐次,非零就是非齐次。
进一步查了一下AI
homogeneous这个词,表示同质的,均匀的这个意思,引入数学中其实隐含了等比例缩放的思想,先介绍,然后后面添加一点我的理解。
最早是莱布尼茨1684年把这个词用于表示这种形式的微分方程dydx=f(yx)\frac{dy}{dx}=f(\frac{y}{x})dxdy=f(xy)。他注意到,如果将变量同时缩放,那么方程的形式不变,这就是齐次的核心思想 ,因为x,yx,yx,y同时乘以λ\lambdaλ,缩放为λ\lambdaλ倍,右边也同时缩放λ\lambdaλ倍,方程不变。莱布尼茨就用这个词表达这个现象,也表达这一类方程。
后来欧拉又用这个词定义了齐次函数,就是这种函数:如果存在一个正整数n,f(tx,ty)=tnf(x,y)f(tx,ty)=t^nf(x,y)f(tx,ty)=tnf(x,y),那fff就是齐次函数。这里可以看出齐次的中文翻译是怎么来的了,如果这个函数的单项式的次数不相等,那么这个条件就不会成立,比如
f(x)=x3+x2+xf(x)=x^3+x^2+xf(x)=x3+x2+x,那么这就不是一个齐次函数,因为f(λx)≠λnf(x)f(\lambda x) \neq \lambda^nf(x)f(λx)=λnf(x),
f(x,y)=x2+y+xf(x,y)=x^2+y+xf(x,y)=x2+y+x也不是一个齐次函数。
只有当函数中单项式的次数相等时这个函数才成立,比如
f(x,y)=x2+xy+y2f(x,y)=x^2+xy+y^2f(x,y)=x2+xy+y2
齐次就是次数整齐,就是次数一样的意义在这里也就可以望文生义了。
再比如齐次坐标[x,y,1]T[x,y,1]^T[x,y,1]T这里的两个变量可以等比例缩放[tx,ty,t]=t[x,y,1][tx,ty,t]=t[x,y,1][tx,ty,t]=t[x,y,1],是不是和齐次函数的形式很像,所以也是等比例缩放不变的意思,因此也可以冠以齐次homogeneous,齐次坐标的英文就是homogeneous coordinate。
再比如齐次变换homogeneous Transformation,本质上是一个旋转加平移变换p′=Rp+tp'=Rp+tp′=Rp+t,用普通的坐标,也就是非齐次坐标时,看不出和齐次有什么关系,但是用齐次坐标时,这个变换就变成了pˉ′=[Rt0⊤1]pˉ=Apˉ,R∈SE(3)\bar p' = \begin{bmatrix} \mathbf{R} & \mathbf{t} \\ \mathbf{0}^\top & 1 \end{bmatrix} \bar p = A\bar p, \mathbf{R} \in \mathrm{SE}(3)pˉ′=[R0⊤t1]pˉ=Apˉ,R∈SE(3),写成齐次的形式就是F(p)=ApF(p)=ApF(p)=Ap,AAA是齐次变换矩阵。一下就有了F(tp)=tF(p)F(tp)=tF(p)F(tp)=tF(p),因此齐次变换就是用齐次变换矩阵对齐次坐标的变换,本质上就是旋转+平移,只不过用齐次坐标表示了。
这里说一个homography,虽然前面有一个homo,但是homography是单应变换,不是齐次变换的意思,homography是针对2D平面间的对应,属于仿射变换,而齐次变换是欧氏变换,是仿射变换的一个子集。针对二维平面齐次坐标的homography就是一个任意的3×3的可逆矩阵,有9个变量满足可逆要求就行。
值得注意的是,在齐次函数f(tp)=tf(p)f(tp)=tf(p)f(tp)=tf(p)的概念下,homography确实是一个向量齐次函数,但由于齐次变换已经专指了上面一段的旋转+平移变换,因此,homography不是齐次变换,但它确实是一个齐次的变换函数,这是术语命名之间的冲突。
最好的命名就是望文生义,但是学数学的时候往往不太注重从这些数学名词的表面意思来理解背后的定义,老师基本也不会讲,可是我觉得很重要。