在特征3.2中,稀疏矩阵有一个名为'nonZeros'的方法,它返回非零元素的计数。 Eigen 3.3中似乎没有这种方法。如何获得3.3中的非零数?特征3.3中的稀疏矩阵非零计数
1
A
回答
1
它仍然存在。在Eigen/src/SparseCore/SparseCompressedBase.h
第56行有一个定义(对于SparseCompressedBase
)。
template<typename Derived>
class SparseCompressedBase
: public SparseMatrixBase<Derived>
{
...
protected:
typedef typename Base::IndexVector IndexVector;
Eigen::Map<IndexVector> innerNonZeros() { return Eigen::Map<IndexVector>(innerNonZeroPtr(), isCompressed()?0:derived().outerSize()); }
const Eigen::Map<const IndexVector> innerNonZeros() const { return Eigen::Map<const IndexVector>(innerNonZeroPtr(), isCompressed()?0:derived().outerSize()); }
public:
/** \returns the number of non zero coefficients */
inline Index nonZeros() const
{
if(Derived::IsVectorAtCompileTime && outerIndexPtr()==0)
return derived().nonZeros();
更是这样,一个快速的grep显示所有的定义(3.3.0):
$的grep -rn “指数非零()” *
SRC /核心/ DenseBase.h: 210:内联索引nonZeros()const {return size(); }
src/SparseCore/AmbiVector.h:39:Index nonZeros()const;
src/SparseCore/SparseBlock.h:42:Index nonZeros()const
src/SparseCore/SparseBlock.h:436:Index nonZeros()const {return Dynamic; }
src/SparseCore/SparseCompressedBase.h:56:内联索引nonZeros()const
src/SparseCore/SparseMap.h:87:内联索引nonZeros()const {return m_zero_nnz [1]; }
src/SparseCore/SparseTranspose.h:31:内联索引nonZeros()const {return derived()。nestedExpression()。nonZeros(); }
src/SparseCore/SparseVector.h:140:内联索引nonZeros()const {return m_data.size(); }
相关问题
- 1. 稀疏矩阵的非零元素
- 2. 稀疏矩阵和本征
- 3. Python稀疏矩阵非零值交点
- 4. 计算稀疏矩阵的零空间
- 5. 计算Python中稀疏矩阵的广义特征值
- 6. 稀疏矩阵的特征向量的快速计算
- 7. 如何叠加几个稀疏矩阵(特征矩阵)?
- 8. 如何用密集矩阵乘以稀疏矩阵与特征?
- 9. 本征稀疏矩阵乘法似乎计算全矩阵
- 10. 征:使用稀疏矩阵的selfAdjointView
- 11. 征库:在稀疏矩阵*行*设置所有非零元素,以零
- 12. 与本征稀疏矩阵乘法
- 13. 本征稀疏矩阵储备NNZ
- 14. 征:如何初始化一个稀疏矩阵与一些子稀疏矩阵
- 15. 稀疏矩阵
- 16. JAVA中的大型稀疏矩阵特征分解
- 17. 稀疏矩阵中的特征缩放和均值归一化
- 18. 稀疏矩阵和矩阵
- 19. 在R中分配最大非零元素的稀疏矩阵
- 20. 在稀疏矩阵中寻找最大特征值
- 21. 在(稀疏)文档 - 特征矩阵中拆分ngram
- 22. 使用特征3稀疏特征值/稀疏
- 23. 灌装在本征稀疏矩阵是非常慢
- 24. 稀疏矩阵的高效内存小型特征值算法
- 25. 稀疏矩阵的特征 - 对角线更新
- 26. 使用特征的高效块稀疏矩阵乘法
- 27. 大型稀疏矩阵的全SVD(只需要特征值)
- 28. 关于稀疏(csr)特征矩阵的分层KFold
- 29. Numba中的稀疏矩阵
- 30. 如何在Matlab中计算大型稀疏矩阵的零点?
要完成,确实在3.3 nonZeros()已经从一些表达式中删除了,nonZeros只能返回一个粗略的估计值。 – ggael