Java中的数学矩阵
据我所知,数学中使用的二维矩阵可以使用二维数组在Java中创建。当然,你可以用真正的数学矩阵做一些事情,比如加和减。但是,使用Java时,您需要编写代码来实现这一点,并且有一些库可以提供这一功能 我想知道的是,Java数组是否是处理矩阵数据的最佳方式。我可以想象这样的情况:2d矩阵中填充了一些索引,而由于数据的性质,很多索引都是空白的。对我来说,这提出了一个问题,这是否是对内存空间的浪费,特别是当矩阵非常大并且有很多空索引时 专门的Java数学库是否以不同的方式处理矩阵,而不依赖于2d数组?或者他们也使用常规Java数组,只是在浪费内存的情况下生活?以下几点:Java中的数学矩阵,java,arrays,matrix,Java,Arrays,Matrix,据我所知,数学中使用的二维矩阵可以使用二维数组在Java中创建。当然,你可以用真正的数学矩阵做一些事情,比如加和减。但是,使用Java时,您需要编写代码来实现这一点,并且有一些库可以提供这一功能 我想知道的是,Java数组是否是处理矩阵数据的最佳方式。我可以想象这样的情况:2d矩阵中填充了一些索引,而由于数据的性质,很多索引都是空白的。对我来说,这提出了一个问题,这是否是对内存空间的浪费,特别是当矩阵非常大并且有很多空索引时 专门的Java数学库是否以不同的方式处理矩阵,而不依赖于2d数组?或者
- 连续数组将允许编译器使用,用于加法、减法等
- 如果零的相对数量非常高,并且您以一种智能的方式实现它,那么非连续数组将更快
希望这能有所帮助。关于效率,请参阅。有一些复杂的java数学库,其中包含稀疏矩阵和其他内容。java中的IMO矩阵数学是一个巨大的痛点,对于库来说并没有明确的赢家。也就是说,我通常使用高效的Java矩阵库。只要矩阵大小不变大,它就相当有效。