线性分式变换(linear fractional transformation)的名称来源于其定义的形式:(ax+b)/(cx+d),其中分子分母是线性的,然后最外层是一个分式形式,所以叫做这个名字,但是这个名字其实基本没有对其几何的或者(可能的)物理内涵进行任何的解释或者表达,根据《Convex Optimization》中Remark 2.2对其的解释,这个线性分式变换可以分解为:P^-1QP(x),其中x就是初始的n维变量,首先P是一个逆透视变换(perspective transformation是透视变换,会将一个维度,那么逆透视变换自然是升一个维度了),称为投影变换(projective transformation,很明显这里的投影变换是升维度变换,和我以前常遇到的降维度变换不同,或许投影变换既可以表示升维度也可以降维度),经过第一个P就变成了n+1维变量,然后Q是一个矩阵变换,既然是矩阵变换那就存在非常多的可能性了,其中可以包括(平移、旋转、缩放、倒置等),然后将变换后的n+1维变量再进行一次透视变换(降一个维度,既然P是逆透视变换,那么P^-1自然就是透视变换了),又变成了n维的变量。可见这个线性分式变换的目的就是把变量提高一个维度(以统一的方式,也就是透视变换的方式,这种方式可以维持凸性和仿射性),然后在这个高维度的空间中对其进行一些处理(这个就需要由Q=[a,b;c,d]来决定了),然后再用同样的方式将其送回到原来的维度空间。这个过程,特别是透视变换中对变量最后一项元素必须等于1的强调,让我想起了在黄家祥论文中看到过的四元数变换,其实归根结底他想做的是,对三维空间变量进行一系列的操作(平行、旋转、缩放等),但是却硬是将变量变成了四维的(这个过程很简单,原来的三维变量最后加一项元素,这个元素就是1),这样的好处是什么呢,据我观察就是变换矩阵变得简单了。这其实是很有道理的,一个直观的理解就是,例如在二维平面xy(空间)中,我们想把一个封闭圆形内的一个三角形移到圆形外,这几乎是不可能的任务,非常难,但是如果在三维空间中这就非常简单了,只要将这个三角形在第三个维度z进行一个平移,然后再在二维平面xy的任意方向上进行平移, 然后再将这个三角形在z方向进行平移,将其还原到原来的xy平面内,就实现了二维平面内无法完成的任务。这个例子说明,在低维空间内很难(甚至不可能)的事情,在高维(甚至只需要高一个维度)空间中就会变得简单很多。我们将这个例子与线性分式变换进行对比发现了一些非常相似的地方,首先由二维空间到三维空间的出现,其实就是将变量进行了升维操作,也就对应于逆透视变换P,然后再三维空间的一系列操作就对应于Q,再然后由三维空间的消失恢复到二维空间就对应于透视变换P^-1,可以发现,在这个过程中,透视变换的主要作用其实就是一个规范化的升维(降维)操作。其实关于这个例子,我最初想到的是刘慈欣先生《三体》里地球的远航舰队碰到四维时空碎片时的情节,通过”四维空间通道“,一艘舰船里的人神不知鬼不觉得到了另一艘舰上,真是让人神迷的描述啊。后来由此很自然得想到了《兔子洞里到底是什么》里关于高维空间与低维空间关系的介绍。

线性分式变换(linear fractional transformation)的更多相关文章

  1. <<Differential Geometry of Curves and Surfaces>>笔记

    <Differential Geometry of Curves and Surfaces> by Manfredo P. do Carmo real line Rinterval I== ...

  2. <Differential Geometry of Curves and Surfaces>(by Manfredo P. do Carmo) Notes

    <Differential Geometry of Curves and Surfaces> by Manfredo P. do Carmo real line Rinterval I== ...

  3. H∞一般控制问题的鲁棒叙述性说明

    Robust Control System:反馈控制有承受一定类不确定能力的影响,这一直保持在这种不确定的条件(制)稳定.动态特性(灵敏度)和稳态特性(逐步调整)的能力. 非结构不确定性(Unstru ...

  4. martini-拓扑映射

    如何为一个新的分子创建拓扑文件? 这是martini应用的关键.http://jerkwin.github.io/2016/08/31/Martini%E5%B8%B8%E8%A7%81%E9%97% ...

  5. (邹博ML)凸优化

    目录 凸集的基本概念 凸函数的基本概念 凸优化的一般提法 凸集基本概念 思考两个不能式 两个正数的算术平均数大于等于几何平均数 给定可逆对称阵Q,对于任意向量x,y,有: 思考凸集和凸函数 在机器学习 ...

  6. 【线性代数】7-2:线性变化的矩阵(The Matrix of a Linear Transformation)

    title: [线性代数]7-2:线性变化的矩阵(The Matrix of a Linear Transformation) categories: Mathematic Linear Algebr ...

  7. 【线性代数】7-1:线性变换思想(The Idea of a Linear Transformation)

    title: [线性代数]7-1:线性变换思想(The Idea of a Linear Transformation) categories: Mathematic Linear Algebra k ...

  8. linear map (also called a linear mapping, linear transformation or, in some contexts, linear function

    Linear map - Wikipedia https://en.wikipedia.org/wiki/Linear_map

  9. Linear Algebra From Data

    Linear Algebra Learning From Data 1.1 Multiplication Ax Using Columns of A 有关于矩阵乘法的理解深入 矩阵乘法理解为左侧有是一 ...

随机推荐

  1. MAC上向GitHub上上传自己的项目

    1首先需要在github上创建你自己的github账户 2新建仓库(注意选择initialize this repository with a README) 3生成ssh(公钥.pub&私钥 ...

  2. ng-repeat

    <html ng-app="compile"> <head> <script src="http://apps.bdimg.com/libs ...

  3. C语言移位算符">>"

    右移算符>>是将二进制数的每一位右移.如:a=32,a>>2,就是将32的二进制数100000每一个二进制位向右移动两位.得到的是二进制数1000,也就是8. #include ...

  4. maven学习(中)- 私服nexus搭建

    接上回继续,相信大家对maven每次都联网从国外站点下载依赖项的龟速网络已经不坎忍受了,今天先来看看如何搭建"仓库私服",目前nexus是使用比较广泛的私服软件之一,下面将介绍基本 ...

  5. 与你相遇好幸运,使用redis设置定时任务

    参考链接: Nodejs中使用Redis来完成定时任务 自己在 window 7下编码实现: 1 > 首先查看redis版本: redis-server -v , 版本要求大于等于2.8 2&g ...

  6. Delphi的Trim函数

    三个Trim函数简介 函数原型 function Trim(const S: string): string; 将字符串前后的空白及控制字元清掉. 注意Trim函数只能清掉字符串前后的空格及控制字元, ...

  7. 重写AgileEAS.NET SOA 中间件平台账号密码的加密算法

    一.平台简介 AgileEAS.NET SOA 中间件平台是一款基于基于敏捷并行开发思想和Microsoft .Net构件(组件)开发技术而构建的一个快速开发应用平台.用于帮助中小型软件企业建立一条适 ...

  8. DNG格式解析

    Author:Maddock Date:2015.04.22 转载请注明出处:http://www.cnblogs.com/adong7639/p/4446828.html DNG格式基本概念 DNG ...

  9. git 用不同的邮箱配置不同的ssh

    首先,介绍一下配置背景: 1.有两个邮箱A@mail.com  , B@mail.com 2.两个git账号,一个公司gitlab上的A@mail ,另一个github上的B@mail 3. 目标:提 ...

  10. eclipse优化设置

    1. Eclipse的控制台console有时候经常的跳出来,非常的烦人! 让它不经常的调出来,可以按下面的操作去掉它: windows  ->   preferences   ->  r ...