我正在编写代码来计算一个非常大的n乘n矩阵的 Classical Multidimensional Scaling(缩写为mds),在我的例子中n = 500,000.

在mds的一个步骤中,我需要计算n×n矩阵的最高三个eigenvalues and their corresponding eigenvectors.该矩阵称为B矩阵.我只需要这三个特征向量和特征值.计算大矩阵的特征向量和特征值的常用方法需要很长时间,而且我不需要非常准确的答案,因此我正在寻找特征向量和特征值的估计.

一些参数:

> B矩阵是symmetric,real,相当于dense
>理论上B的特征值分解应该总是产生实数.
>我不需要完全精确的估计,只需要快速估算.我需要它在几个小时内完成.
>我用python和C编写

我的问题:有没有快速的方法来估算这么大的B矩阵的三个最高特征向量和特征值?

我的进步:我找到了method of approximating the highest eigenvalue of a matrix,但我不知道是否可以将它推广到最高的三个.我也找到了this paper written in 1996,但这对我来说非常技术性和难以阅读.

解决方法

G.Golub和C.F Van Loan矩阵计算第9章第2节说明lanczos算法是一个选择(除了矩阵理想地应该是稀疏的 – 它明显适用于非稀疏矩阵)

https://en.wikipedia.org/wiki/Lanczos_algorithm

python – 近似大对称矩阵的最高3个特征值和特征向量的快速方法的更多相关文章

  1. HTML利用九宫格原理进行网页布局

    这篇文章主要介绍了HTML利用九宫格原理进行网页布局,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

  2. ios – 围绕x轴旋转AVAssetWriter的输出180度

    我正在使用AVAssetWriter创建一个Quicktime电影文件.目前输出视频是“倒置”.理论上,我可以通过围绕水平轴旋转180度来纠正这个问题.最好的方法是什么?Appledocs和wikipedia都没有明确说明仿射变换矩阵是如何工作的.并且可能有更好的方式.解决方法如果要围绕z轴旋转视频180度,或者如果你想在x轴上反射

  3. Swift 2.0学习笔记Day 35——会使用下标吗?

    下标Swift中的下标相当于Java中的索引属性和C#中的索引器。getter访问器是一个方法,在最后使用return语句将计算结果返回。setter访问器“新属性值”是要赋值给属性值。参数的声明可以省略,系统会分配一个默认的参数newValue。可以自定义一个二维数组类型,然后通过两个下标参数访问它的元素,形式上类似于C语言的二维数组。

  4. Swift - 动画效果的实现方法总结附样例

    在iOS中,实现动画有两种方法。这三个方法都是类方法。里面可以设置动画的效果。

  5. 《从零开始学Swift》学习笔记Day 35――会使用下标吗?

    下标Swift中的下标相当于Java中的索引属性和C#中的索引器。getter访问器是一个方法,在最后使用return语句将计算结果返回。setter访问器“新属性值”是要赋值给属性值。参数的声明可以省略,系统会分配一个默认的参数newValue。可以自定义一个二维数组类型,然后通过两个下标参数访问它的元素,形式上类似于C语言的二维数组。

  6. 用Swift3实现n*n阶矩阵逆时针输出

  7. 用Swift3实现n*n阶矩阵顺时针输出

  8. 数组 – Swift中的二维数组

    我对于Swift中的2D数组感到困惑。如果我错了,请你纠正我。首先;声明一个空数组:其次填充数组。最后,编辑数组中的元素这可能是noob问题,但目标C后,我真的很困惑..定义可变数组要么:OR如果你需要一个预定义大小的数组:在位置更改元素要么更改子数组要么要么如果你有3×2数组或0(零),现在你有:因此,请注意,子数组是可变的,您可以重新定义表示矩阵的初始数组。在访问前检查大小/边界备注:3和N维数组的相同标记规则。

  9. 2.9 多维数组的创建和遍历 [Swift原创教程]

    它由两个数组元素组成。课程配套素材下载地址:资料下载

  10. Swift泛型:需要一种类型的加法和乘法能力

    现在,我想确保类型T可以比较,所以我可以写这个:这可能是有用的,以防我想比较2个矩阵,这意味着比较它们的值。我也想提供两个矩阵求和的能力,所以我也应该添加一个协议,要求可以添加由矩阵用户给出的类型“T”同样,我也想说:问题1:可以使用什么协议名称?更具体地说,这个)–>矩阵{产生错误:使用未声明的类型“T”。我的意思是结果将是一个具有相同类型的两个输入矩阵的矩阵,但我可能完全弄乱了语法。

随机推荐

  1. 10 个Python中Pip的使用技巧分享

    众所周知,pip 可以安装、更新、卸载 Python 的第三方库,非常方便。本文小编为大家总结了Python中Pip的使用技巧,需要的可以参考一下

  2. python数学建模之三大模型与十大常用算法详情

    这篇文章主要介绍了python数学建模之三大模型与十大常用算法详情,文章围绕主题展开详细的内容介绍,具有一定的参考价值,感想取得小伙伴可以参考一下

  3. Python爬取奶茶店数据分析哪家最好喝以及性价比

    这篇文章主要介绍了用Python告诉你奶茶哪家最好喝性价比最高,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习吧

  4. 使用pyinstaller打包.exe文件的详细教程

    PyInstaller是一个跨平台的Python应用打包工具,能够把 Python 脚本及其所在的 Python 解释器打包成可执行文件,下面这篇文章主要给大家介绍了关于使用pyinstaller打包.exe文件的相关资料,需要的朋友可以参考下

  5. 基于Python实现射击小游戏的制作

    这篇文章主要介绍了如何利用Python制作一个自己专属的第一人称射击小游戏,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起动手试一试

  6. Python list append方法之给列表追加元素

    这篇文章主要介绍了Python list append方法如何给列表追加元素,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

  7. Pytest+Request+Allure+Jenkins实现接口自动化

    这篇文章介绍了Pytest+Request+Allure+Jenkins实现接口自动化的方法,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

  8. 利用python实现简单的情感分析实例教程

    商品评论挖掘、电影推荐、股市预测……情感分析大有用武之地,下面这篇文章主要给大家介绍了关于利用python实现简单的情感分析的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考下

  9. 利用Python上传日志并监控告警的方法详解

    这篇文章将详细为大家介绍如何通过阿里云日志服务搭建一套通过Python上传日志、配置日志告警的监控服务,感兴趣的小伙伴可以了解一下

  10. Pycharm中运行程序在Python console中执行,不是直接Run问题

    这篇文章主要介绍了Pycharm中运行程序在Python console中执行,不是直接Run问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

返回
顶部