2015-05-19 42 views
0

我想使用la4j庫從我的Java程序中的Matrix Market文件加載矩陣。使用la4j從Matrix Market文件中加載矩陣異常

使用方法

Matrix.fromMatrixMarket(file); 

其中 「文件」 是通過BufferedReader中解析到字符串的MTX文件的內容,它拋出了java.lang.IllegalArgumentException:

java.lang.IllegalArgumentException: Unknown majority: %-------------------------------------------------------------------------------. 
at org.la4j.Matrix.fromMatrixMarket(Matrix.java:235) 
at org.la4j.Test.main(Test.java:22) 

我想是因爲在mtx文件中,我沒有關於大多數的信息,正在矩陣矩陣。

我該怎麼辦?

回答

0

您可以將row-major假裝爲您的MatrixMarket格式的第一行,告訴la4j您希望將此矩陣視爲行優先。

這裏是一個行主要稀疏矩陣有效的報頭的例子(即CRSMatrix):

%%MatrixMarket matrix coordinate real general row-major 
+0

感謝您的回覆,但我認爲這不是最佳的改變,我已經將所有的MTX文件「行優先」。如果頭部下面有一些「%」的評論,la4j也會失敗。 – user3653803

+0

對。解決這個問題的最好方法是發送一個PR改進了Matrix.fromMatrixMarket方法。 –