1

在 Java 中实现稀疏向量的最佳方法是什么?

当然,好的东西是可以很容易地操作的东西(标准化、标量积等)

提前致谢

4

3 回答 3

3

MTJ有一个稀疏向量类。它具有范数函数(1-范数 2-范数和 ∞-范数)和点积函数。

于 2009-12-19T22:04:27.253 回答
3

JScience有一个SparseVector实现,它是其线性代数包的一部分。

于 2009-12-20T02:38:35.210 回答
3

您还可以尝试查看la4jCompressedVector实现。它使用一对数组:值数组和它们的索引数组。再加上二进制搜索,它就飞起来了。所以,这个实现保证了/操作O(log n)的运行时间。getset

只是一个简单的例子

Vector a = new CompressedVector(new double[]{ 1.0, 2.0, 3.0 }).

// calculates L_1 norm of the vector
double n = a.norm();

// calculates the sum of vectors elements
double s = a.fold(Vectors.asSumAccumulator(0.0));
于 2013-06-04T09:05:52.140 回答