首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >为什么我们要对同形或基矩阵进行规范化?

为什么我们要对同形或基矩阵进行规范化?
EN

Stack Overflow用户
提问于 2022-09-27 23:33:44
回答 2查看 118关注 0票数 0

我想知道为什么我们要规范同形或基本矩阵?这是特别的代码。

代码语言:javascript
运行
复制
H = H * (1.0 / H[2, 2]) # Normalization step. H is [3, 3] matrix. 

我可以理解,由于线性最小二乘造成的不稳定性,我们必须在计算SVD之前对数据进行规范化,但为什么我们最终要将其规范化呢?

EN

回答 2

Stack Overflow用户

发布于 2022-09-28 09:28:42

三维空间中的同形定义为8自由度,利用透视从一个平面映射到另一个平面。这样的同形可以通过给出四个点来定义,这就形成了八个坐标(标量)。

一个3x3矩阵有9个元素,所以它有9个自由度。这比一个单调词所需要的要高出一个度。

当矩阵被缩放(乘以一个标量)时,单调性不会改变。所有的数学都一样。你不需要标准化你的同形矩阵。

正常化是个好主意。

首先,它使算术变得更容易篡改。有一些维基百科的链接到研究领域,因为所有这些编织成一个连贯的句子..。没有添加任何东西:数值分析条件数浮点算法数值误差数值稳定性 .

此外,规范化使矩阵更容易被人类解释。最常见的规范化方法是缩放矩阵,使最后一个元素成为1。这是很方便的,因为整个数学都发生在射影空间中,其中投影导致点被映射到w=1平面,使得向量具有最后一个元素的1

票数 1
EN

Stack Overflow用户

发布于 2022-09-28 03:17:42

同形矩阵是如何提供给你的?

例如,在某些库函数计算并向您提供同形矩阵的场景中,如果函数规范没有提到比例.

在极端情况下,该功能可以实现为:

代码语言:javascript
运行
复制
Matrix3x3 CalculateHomographyMatrix( some arguments )
{
   Matrix3x3 H = ...;  //Homogoraphy Calculation
   return Non_Zero_Random_Value * H;  //Wow!
}

元素值可能变得非常大或非常小,使用这些值可能会导致问题(浮点计算错误)。

票数 -2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73874757

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档