整理阅读的论文(四)
奇异值分解是计算数学中一个相当重要的内容,它被越来越广泛地应用于各种各样的实际问题中。
----马驷良老师语(匆匆十年,不由想起当年的青葱岁月) 由于具体问题的背景还在继续学习中,这里只给出文中涉及到的两个数学上的结果。 一,如何衡量两个矩阵很接近?如果是两个实数,那么我们只要度量它们两个之间的距离即可。推而广之,如果是向量和矩阵的话,也可以引进相应的距离来度量接近的程度。显然,引进的距离应该满足一些性质,一般地,需要满足非负性,对称性和三角形不等式三条性质。例如,对于向量来说,各个分量的平方和就是一种距离(它满足上面提到的三条性质,在最小二乘法中很多时候涉及的就是这个距离)。由于矩阵可以看成是一种特殊的向量(考虑按照行或者列展开成一个向量),将刚才给出的向量的距离引入到矩阵中,就得到矩阵的F-范数,它定义为矩阵的各个元素的平方和(自然也满足上面提到的三条性质)。 二,和最小二乘法相似,引进距离的定义之后,就要求出给定集合中离给定的元素(一般地,其不在给定集合中)最近的一个元素。从高等数学中,求导是求极值最常用的一种方法。这个时候就能显示出定义矩阵F-范数的妙处了。原因有二,一是矩阵的F-范数可以与矩阵的迹联系起来,二是关于矩阵迹的极值问题可以通过矩阵的奇异值分解(SVD)来求解[2]。 假设我们求解多组线性方程组,它们的系数矩阵相同,右端的常数项不同,这个时候可以采用数值分析中的LU分解算法[3]。它能将系数矩阵分解成两个简单矩阵的乘积(所谓简单,将原来的难以求解的一组线性方程组转化为两组容易求解的线性方程组,比如LU分解中,系数矩阵为上三角矩阵和下三角矩阵),那么求解整个线性方程组将变得容易。由于涉及到迭代法,迭代法的初值就必须考虑在内,幸运的是,按照文章的说法,算法不依赖于迭代初值的选取。 亮点之处,给出了一个带有参数的大框架算法,并说明了文中提到的两个方法是大框架算法取给定参数下的特殊情况。 美中不足之处,由于迭代算法中涉及到初值的选取,程序中并没有给出初值计算的方法,而是将结果预先存放。 摘录一句话:The local/global algorithm embodies the motif "think globally, act locally ", which is emerging as a powerful technique in geometry processing. 参考文献: [1] Ligang Liu, Lei Zhang, Yin Xu, Craig Gotsman, Steven J. Gortler. A Local/Global Approach to Mesh Parameterization. Computer Graphics Forum (Proc. Eurographics Symposium on Geometry Processing (SGP)), 27(5): 1495-1504, 2008 下载链接: http://www.math.zju.edu.cn/ligangliu/CAGD/Projects/ARAPPara/default.htm [2] https://zh.wikipedia.org/zh-cn/%E5%A5%87%E5%BC%82%E5%80%BC%E5%88%86%E8%A7%A3 [3] https://zh.wikipedia.org/zh-cn/LU%E5%88%86%E8%A7%A3 欲了解奇异值分解的更多内容: [4] http://www.cnblogs.com/leftnoteasy/archive/2011/01/19/svd-and-applications.html
|