请选择 进入手机版 | 继续访问电脑版

开源计算机图形学社区(Open Source Computer Graphics Community) |OpenGPU Forum (2007-2013)| OpenGPU Project

 找回密码
 注册
搜索
查看: 998|回复: 8

刚完成SVD分解,增加论坛热度 [复制链接]

Rank: 17Rank: 17Rank: 17Rank: 17Rank: 17

注册时间
2010-3-27
积分
5647
发表于 2017-1-9 10:51:25 |显示全部楼层
刚完成SVD分解算法理解,EXCEL中矩阵相乘还是比较方便的。需要可以看excel文件。


这家伙什么也没有留下

Rank: 17Rank: 17Rank: 17Rank: 17Rank: 17

注册时间
2010-3-27
积分
5647
发表于 2017-1-9 10:52:32 |显示全部楼层
excel中使用mmult就可以完成矩阵乘,比较方便。

使用道具 举报

Rank: 24Rank: 24Rank: 24Rank: 24Rank: 24Rank: 24

注册时间
2010-10-8
积分
15539
发表于 2017-1-10 00:07:18 |显示全部楼层
lz物理引擎的研究不做了么

使用道具 举报

Rank: 17Rank: 17Rank: 17Rank: 17Rank: 17

注册时间
2010-3-27
积分
5647
发表于 2017-1-10 12:52:59 |显示全部楼层
做。大致原因:
一、大神Matthias Muller的《Real Time Physics Class Notes》想必都读过,其中第7部分Reduced-order deformable models作者就没有写,我也觉得奇怪。后来查询查询才了解,这部分较新颖,估计作者也还没有这方面的信息的综述(毕竟文章是近10年前写的)。那么Reduced-order deformable models是个什么东东呢?查询了下,这个可以译做可变性模型的降维,就是如何将一个高维模型降低到低维模型的方法(备注,此方法主要用于粒子的降维,人脸识别也用到类似的方法,实际上此方法由自动控制方面提出。此方法国外有较多论文,也有用于图形渲染方面的降维;国内知网查了篇,交大硕士论文,感觉写得很凌乱;国外由Jernej Barbiˇc首先(应该是,其主页提供更多信息)用于图形学中的大变形模拟降维,并提供了代码,可以运行,国内浙大有人在做,近期的博士论文有这方面的内容)。查了下这个降维,有PCA(主成分分析),POD(本征正交分解),SVD(奇异值分解)等方法,因此....。理解了吧。
二、此外,我对GPU做通用计算也感兴趣,因此用来做些数值计算方面的内容。
三、总体来说,国内水平与国外还是有,有了互联网让大家了解了这种差距,说得有些凌乱,希望有帮助。

使用道具 举报

Rank: 17Rank: 17Rank: 17Rank: 17Rank: 17

注册时间
2010-3-27
积分
5647
发表于 2017-1-17 16:48:32 |显示全部楼层
用EXCEL实现了求对称矩阵特征值,需要的化我上传。

使用道具 举报

Rank: 16Rank: 16Rank: 16Rank: 16

注册时间
2010-7-10
积分
2023
发表于 2017-1-18 18:18:03 |显示全部楼层
题主,可以试试matlab,求PCA,SVD什么还是很方便的,还有各种方法求解线性方程组。

使用道具 举报

Rank: 17Rank: 17Rank: 17Rank: 17Rank: 17

注册时间
2010-3-27
积分
5647
发表于 2017-1-19 14:24:56 |显示全部楼层
谢谢。但总不能在出产品时调用Matlab的库吧(这种可能性有),但想看看GPU下的性能。

使用道具 举报

Rank: 16Rank: 16Rank: 16Rank: 16

注册时间
2010-7-10
积分
2023
发表于 2017-1-20 23:59:09 |显示全部楼层
不是直接用matlab里面函数,而是用它的函数作为真值,来测试自己写的正确否,这个比excel方便且强大多了。我认为做数值计算,matlab 有几种用法:1. 直接调用matlab的函数达到我的目的(不追求性能);2.用它来测试自己造的轮子的正确性否,题主的这种情况;3. 比如,我有个研究idea,但不晓得靠谱否,直接用C/C++写代价略大(易出错,如果idea不靠谱则浪费时间)。那用matlab快速写个原型(简单,且可以调用丰富的函数库)。如果效果不好则放弃,如果效果好又要追求性能,就将原型中耗时的matlab代码,移植到C/C++,进行matlab和C++的混合编程 或者 全部移植(其实耗时不多)。
附件是我用matlab重写了题主用excel做的事情。题主可以用混编的方法将自己写的svd和matlab的svd做比较,比如正确性,内存,时间等方面。工欲善其事,必先利其器,matlab大大提高你的研究效率的。

使用道具 举报

Rank: 17Rank: 17Rank: 17Rank: 17Rank: 17

注册时间
2010-3-27
积分
5647
发表于 2017-1-22 12:39:56 |显示全部楼层
谢了!是的,matlab就是个草稿纸,来测试想法很方便的。我实际上要使用GPU来实现SVD,需要知道算法,因此使用了excel来验证。

使用道具 举报

最近看过此主题的会员

您需要登录后才可以回帖 登录 | 注册

‹‹
我的工具栏

关于我们|手机版|Archiver|开源计算机图形学社区(Open Source Computer Graphics Community) | OpenGPU Project | OpenGPU Forum (2007-2013)

GMT+8, 2017-2-23 01:28 , Processed in 0.052520 second(s), 12 queries .

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

回顶部