SVD算法的实现 [英] SVD algorithm implementation
问题描述
有谁知道C#的良好可扩展性的实现SVD的非常大的矩阵?
ILNumerics.net 似乎已经在其他SVD的东西。
框架
.NET 1.1,.NET 2.0, 即将推出:单1.2.3
语言
所有CLI遵循:C#(推荐), 托管C ++,Visual Basic中...
Array对象
*全OO一流的设计 *泛型类型化的容器类 *任意阵列尺寸单个对象:标量,矢量,矩阵,正朦胧阵列 *灵活的阵列修改全力支持:subarray- /创作,串联,尺寸去除,系列化 *自动引用管理:复制内存只有当真正需要 *对于细胞和逻辑阵列支持
Numerics的
*支持所有数值类型为数组元素:双,浮法,复杂的,浮点型复数,INT16,INT32,
Int64的,UINT16,UINT32,UINT64,焦炭,字节,布尔 *运算符重载(A + B,...) *静态操作功能(F.E.添加(A,B)) *特殊数字的状态支持(南安+/-天道酬勤)
处理器特定的优化
* BLAS,LAPACK * AMD:ACML,英特尔:MKL,一般:NETLIB *自动检测
代数函数
* ABS * ACOS * 加 * 所有 * 任何 * ASIN * (更多...)
线性代数
*矩阵乘法, - 逆,逆 - 伪 *线性方程组求解 *分解:LU,QR,SVD,乔里斯基 *特征值,特征向量
傅立叶变换
* 1,2,3,...,N维 *变换前向和;向后 *支持库:英特尔MKL,AMD的ACML,FFTW3 * 100%倍频程/基于Matlab / Scilab的兼容接口
排序
*串排序(辞书,桶排序) *数字数据的排序(快速排序) *任意用户定义类型的一般分类 通过定义keymapper(桶排序)
错误处理
*类型的异常
算法的基础类
*同步/异步 *易于扩展的用户自定义派生算法 *全Windows.Forms.Control兼容多线程三项赛
支持
可视化
*绘图板,从Windows.Forms.Control派生 *图对话框形式 * 1D,2D,3D数据图 *基于OpenGL。 (DirectX的:去precated) *高度可配置的图形/图特性 *自动用户交互:旋转,缩放,自动坐标轴的比例
其他
*的Visual Studio 2005(R)的AddIn:扩展监视工具窗口 *从导入/导出到Matlab的(R)* .MAT文件 *语法大大兼容Matlab的(R)(函数命名,参数) *测定延长了整机性能,数值常数 *内存池:自动回收大对象
Does anyone know good scalable implementation of SVD on C# for very big matrix?
ILNumerics.net seems to have SVD among other things.
Frameworks
.NET 1.1, .NET 2.0, available soon: mono 1.2.3
Languages
all CLI conform: C# (recommended), managed C++, Visual Basic ...
Array objects
* Full OO class design * Generic typed container classes * single object for arbitrary array dimensions: scalar, vector, matrices, n-dim arrays * full support for flexible array modification: subarray-/ creation, concatenation, dimension removal, serialization * automated reference management: copy memory only if really needed * support for cells and logical arrays
Numerics
* Supports all numeric types as array elements: double, float, complex, fcomplex, int16, int32,
int64, uint16, uint32, uint64, char, byte, bool * operator overloads (A + B,...) * static operator functions (f.e. Add(a,b)) * support for special numeric states (NaN, +/-Inf)
Processor specific optimizations
* BLAS, LAPACK * AMD: ACML, Intel: MKL, general: netlib * Automated detection
Algebraic functions
* abs * acos * add * all * any * asin * (more...)
Linear algebra
* matrix multiply, -inverse, -pseudo inverse * linear equation solver * decompositions: LU,QR,SVD,Cholesky * eigenvalues, eigenvectors
Fourier transforms
* 1,2,3...n dimensional * transforms forward & backwards * supported libraries: Intel MKL, AMD ACML, FFTW3 * 100% octave/Matlab/Scilab compatible interface
Sorting
* Sorting of strings (lexicographical, bucket sort) * Sorting of numeric data (quick sort) * generic sorting of arbitrary user defined types by definable keymapper (bucket sort)
Error handling
* typed exceptions
Algorithm base classes
* synchronous / asynchronous * easily extendable for user defined derived algorithms * full Windows.Forms.Control compatible multiple thread eventing
support
Visualizations
* Plot panels, derived from Windows.Forms.Control * Plot dialog forms * 1D, 2D, 3D data plots * Based on OpenGL. (DirectX: deprecated) * Highly configurable graphs/figure properties * Automatic user interaction: rotation, zoom, auto axis scaling
Miscellaneous
* Visual Studio 2005(R) AddIn: extends watch tool window * import from / export to Matlab(R) *.mat files * syntax vastly compatible to Matlab(R) (function naming, parameter) * determination of extended machine properties, numerical constants * Memory pool: automated recycling of large objects
这篇关于SVD算法的实现的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!