我想执行矩阵运算(例如,求给定矩阵A的转置矩阵)
我发现一些图书馆这样做,例如柯尔特:
http://acs.lbl.gov/software/colt/api/index.html
http://acs.lbl.gov/software/colt/api/cern/colt/matrix/package-summary.html
在第二个链接提到,如果你想打印转置,你键入:
System.out.println(matrix.viewDice());
但是,我不想打印转置矩阵,我想将它存储在第二个矩阵中,例如B,它将具有适当的维数。
有什么想法吗?
5条答案
按热度按时间gzszwxb41#
您看过库Apache Commons Math吗?例如:
hsgswve42#
下面是在la4j(Java线性代数)中转置矩阵的另一个示例:
92dk7w1h3#
使用Colt Library,您可以简单地
viewDice()方法返回一个DoubleMatrix2D。
r8xiu3jd4#
加上我的2分钱,因为我正在考虑自己实现矩阵转置。
我们可以给原始的java 2D数组添加一个 Package 器吗?
当转置矩阵时,根本不转置实际的数组,而是在 Package 器中简单地将其标记为transpose=true。
当您希望通过 Package 器访问(3,2)处的值时, Package 器交换行和列索引并返回(2,3)处的值
您可以对其他操作执行相同的操作,直到“真正”需要实际的转置。
我所说的“真正”是指实际转置矩阵比使用原始矩阵具有计算性能优势,这主要取决于您将对矩阵执行什么操作。
qkf9rpyu5#
在我的一个作业中,作为我学位的一部分,我们被要求得到一个函数的矩阵,并创建一个新的文件txt与矩阵的转置。我附上我的解决方案如下。我希望它会帮助别人:)