实对称和hermitian问题的ral特征解

raleigh的Python项目详细描述


raleigh:实对称和hermitian问题的ral特征解算器

raleigh是块jacobi共轭梯度算法的python实现,用于计算大规模实对称和hermitian问题的几个特征对(特征值和相应的特征向量)。

主要功能

  • 可应用于实对称或厄米特矩阵a的标准特征值问题和矩阵铅笔a-λb或a b-λi的正定实对称或厄米特b的广义特征值问题。
  • 对于大型稀疏问题,可以采用两种已知的收敛性改进技术之一:移位反转和预处理。
  • 由于现代多核和gpu体系结构中矩阵乘法的高效性,它还可以计算奇异值和向量,是一种特别有效的稠密数据主成分分析工具。
  • 用户可以指定所需特征值的数目
    • 在频谱的任何一个边缘(例如左侧5,右侧10)
    • 最大震级
    • 在给定的实际值的两边
    • 最接近给定的实际值
    • 如果所需的特征值的数目事先不知道(通常是PCA的情况),则计算将持续到满足用户指定的停止准则(例如,对数据的PCA近似是令人满意的)。
  • 核心解算器是以抽象向量的形式编写的,因此,只要对向量执行基本的线性代数操作,核心解算器就可以在任何体系结构上一字不差地工作(在没有使用这些库numpy代数的情况下,目前mkl和cuda的实现都随包提供)。

依赖性

为了获得最佳性能,请安装mkl 10.3或更高版本(或在windows上安装numpy+mkl)。在Linux上,包含libmkl_rt.so的文件夹必须位于ld_library_path中。在Windows上,包含mkl_rt.dll的文件必须在路径中。大稀疏问题只有在mkl可用的情况下才能求解,pca等稠密问题没有它也能求解。

要使用GPU(必须启用CUDA),需要安装NVIDIA GPU计算工具包。在Linux上,包含libcudart.so的文件夹必须位于ld_library_path中。

基本用法

子文件夹drivers包含用户友好的scipy类接口,用于核心解算器处理numpy和scipy数据对象。子文件夹examples包含说明其使用的脚本,以及说明核心解算器基本功能的脚本。

文件

包的基本用法在文件夹drivers中模块的docstrings(了解raleigh用法的最佳起点)和示例脚本中进行了简要描述。高级用户可以在core/solver.py中找到罗利设计的基本原理的描述。

本文介绍了由罗利实现的算法的数学和数值方面。菲斯。227:9477-9497和暹罗数字。肛门。46:2567-2619。

问题

请使用GitHub issue tracker报告错误并请求功能。

许可证

罗利是根据3条BSD许可证释放的。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java Libgdx Android Gradle生成错误   java中的多线程不正确同步   java如何将带有子查询和计数的SQL查询转换为JPA条件生成器   java MQTT或RSMB可以处理多少用户和推送消息?   JAVAlang.IllegalArgumentException:setAttribute:不可序列化属性   JavaMaven/Eclipse试图用主代码编译测试   java Ormlite保存错误的日期日期,具体取决于一天中的时间   java从234树中搜索带有电话号码的单词   java为什么我在Eclipse包资源管理器中看不到我在文件资源管理器中看到的所有文件夹   java xpath表达式,用于选择具有特定字符串作为文本的父节点的子节点   使用Eclipse将wsdl转换为java类   java如何创建自定义JPanel扩展并从NetBeans调色板使用它?   java AspectJ模式签名   java小程序。加载本机时出现不满意的链接错误。动态链接库   java如何使用位图和画布?创建自定义水印   java如何解决OutOfMemoryError?