如何在Groovy中转置矩阵?

4

我需要将一个数组中的行转换为列,列转换为行

def mtrx = [
   [1,2,3],
   [4,5,6]
]
//mtrx.anyMethod()
//expected result
//[[1,4],[2,5],[3,6]]

你知道一种直接的方法吗?

我不知道一个Groovy方法可以转置这种情况;如果你知道另一种转置的方法,请告诉我。

2个回答

12

Groovy的列表具有一个transpose()方法:

def transposed = mtrx.transpose()

0

对于您所需的功能而言,可能有点过度,但Apache Commons Math 库包含一个全面的线性代数模块。线性代数模块的 用户指南 包括一个简单的矩阵乘法示例。您可以通过添加以下内容将此模块包含在您的 Grails 项目中:

runtime ('org.apache.commons','commons-math','2.2') 

添加到你的 BuildConfig.groovy 文件中。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接