Armadillo复数稀疏矩阵逆
Armadillo complex sparse matrix inverse
本文关键字:Armadillo 更新时间:2023-10-16
我正在用Armadillo C++(4.400.1)编写一个程序
我有一个矩阵,它必须是稀疏和复杂的,我想计算这个矩阵的逆。由于它是稀疏的,它可能是伪逆,但我可以保证矩阵具有全对角线。
在Armadillo的API文档中,它提到了计算任何矩阵的逆的方法.i()
,但sp_cx_mat
成员不包含这种方法,而且inv()
或pinv()
函数显然不能处理sp_cx_mat
类型。
sp_cx_mat Y;
/*Fill Y ensuring that the diagonal is full*/
sp_cx_mat Z = Y.i();
或
sp_cx_mat Z = inv(Y);
它们都不起作用。
我想知道如何计算sp_cx_mat
型矩阵的逆。
Armadillo中的稀疏矩阵支持不完整,许多可用于密集矩阵的因子分解/复数运算不可用于稀疏矩阵。这有很多原因,最大的原因是高效的复杂运算,如稀疏矩阵的因子分解,仍然是一个非常开放的研究领域。因此,没有可用于cx_sp_mat
或其他sp_mat
类型的.i()
函数。另一个原因是稀疏矩阵开发人员(包括我)缺乏时间。
假设稀疏矩阵的逆通常是稠密的,那么你最好把cx_sp_mat
变成cx_mat
,然后使用与通常稠密矩阵相同的逆技术。既然你打算把它表示为一个密集矩阵,那么你有足够的RAM来做这件事是一个合理的假设。
相关文章:
- 有可能在Armadillo中复制MATLAB circshift方法吗
- 矩阵rowSums()与colSums(()在R与Rcpp与Armadillo中的效率
- Armadillo正在为共享的lapack库获取未定义的参考
- 如何在Visual Studio中并行化armadillo
- r-(C ,Armadillo)从矩阵中更换列矢量的一部分
- Armadillo是否支持布尔和8位型矩阵和立方体
- R- armadillo c :用其他两个向量对向量进行排序
- 将矩阵划分为Armadillo中的载体
- 将行附加到Armadillo .mat文件
- 使用高级构造函数将阵列转换为Armadillo Vec
- C :结构内部的Armadillo矩阵
- C 中矩阵的动态名称(Armadillo库)
- Armadillo节省双精度ASCII
- 是c armadillo find()输出排序
- 模板实例化与Armadillo和Boost :: Numeric :: Odeint
- Armadillo C :如何使用来自另一个矩阵的多个元素(特别是在立方体结构中)修改矩阵的多个数组元素
- 用Armadillo功能替换“稀疏”
- Armadillo CPP:3D字段的访问切片
- 如何向armadillo(C++)发送一个numpy数组,并从armadillo返回一个numdy数组
- 使用Armadillo和MKL库构建x86(win32)