[英]Matrix multiplication in java
我想用Java進行矩陣乘法,並且速度必須非常好。
我當時想通過Java調用R來實現這一點。
我有幾個問題:
使用Java調用R是個好主意嗎? 如果是,是否可以共享任何代碼示例?
在Java中可以考慮采用其他哪些方法進行矩陣乘法?
我辭職的同事是C#程序員,他被迫編寫涉及矩陣乘法的Java代碼。
-他已經用Java編寫了自己的DataTable類,以便能夠
a)創建索引以對其他DataTable進行排序和聯接
b)矩陣乘法。
因此,我想從本質上清理代碼,並認為在Java中使用類似R的東西將幫助我專注於業務邏輯,而不是排序,聯接,矩陣乘法等。
您可以使用矩陣包,例如JAMA 。
關於將R與Java結合使用,有一些stackoverflow問題。 使用JRI很簡單。 參見以下示例示例: Java中的R。 集成代碼后,在R中執行矩陣乘法就很簡單了。 如果您有兩個矩陣a
和b
,則只需調用: a %*% b
。
如果您希望使用純Java並使用數學庫,也可以考慮使用Colt (從JAMA改編而成),盡管直接使用JAMA可能會更好。
另一個選擇是使用Clojure的Incanter (除其他功能外,它提供了Parallel Colt的包裝),然后從Java稱為Jar。 將Clojure集成到Java中很簡單,如果只需要矩陣乘法,那將比使用R更容易。
jblas
再次投票。 所有方法都像您期望的那樣。
EJML似乎是一種有前途的快速乘法新方法。 他們在自己的站點上有基准測試,以顯示他們聲稱是矩陣乘法的快速時間。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.