ojAlog - Kotlin 中的 ConvexSolver:二维数组
ojAlog - ConvexSolver in Kotlin: 2d Array
我正在尝试实现一些示例,因为我正计划探索 ojAlgo 以进行优化。
我的问题很简单。
在Java中我可以轻松地写:
PrimitiveDenseStore Q = PrimitiveDenseStore.FACTORY.rows(new double[][]{{2.0,0.0}, {0.0, 2.0}});
我试着用 kotlin 做同样的事情:
val Q: Array<DoubleArray> = arrayOf(DoubleArray(2.0, 0.0), DoubleArray(2.0, 0.0))
var tmpQ = PrimitiveDenseStore.FACTORY.rows(Q)
但我给出的参数似乎不能调用 .rows。
也许我做了一些愚蠢的事情,但我会很感激你的帮助。
谢谢。
DoubleArray
构造函数将数组大小作为第一个参数,这就是您的构造无效的原因。 double[][]
在Kotlin中的类比是Array<DoubleArray>
,没错,但是应该这样构造:
val Q: Array<DoubleArray> = arrayOf(doubleArrayOf(2.0, 0.0), doubleArrayOf(2.0, 0.0))
更新:
看起来 rows
函数将 double[]... source
作为参数,所以在 Kotlin 中你可以使用扩展运算符:
val Q: Array<DoubleArray> = arrayOf(doubleArrayOf(2.0, 0.0), doubleArrayOf(2.0, 0.0))
var tmpQ = PrimitiveDenseStore.FACTORY.rows(*Q)
我正在尝试实现一些示例,因为我正计划探索 ojAlgo 以进行优化。 我的问题很简单。
在Java中我可以轻松地写:
PrimitiveDenseStore Q = PrimitiveDenseStore.FACTORY.rows(new double[][]{{2.0,0.0}, {0.0, 2.0}});
我试着用 kotlin 做同样的事情:
val Q: Array<DoubleArray> = arrayOf(DoubleArray(2.0, 0.0), DoubleArray(2.0, 0.0))
var tmpQ = PrimitiveDenseStore.FACTORY.rows(Q)
但我给出的参数似乎不能调用 .rows。
也许我做了一些愚蠢的事情,但我会很感激你的帮助。
谢谢。
DoubleArray
构造函数将数组大小作为第一个参数,这就是您的构造无效的原因。 double[][]
在Kotlin中的类比是Array<DoubleArray>
,没错,但是应该这样构造:
val Q: Array<DoubleArray> = arrayOf(doubleArrayOf(2.0, 0.0), doubleArrayOf(2.0, 0.0))
更新:
看起来 rows
函数将 double[]... source
作为参数,所以在 Kotlin 中你可以使用扩展运算符:
val Q: Array<DoubleArray> = arrayOf(doubleArrayOf(2.0, 0.0), doubleArrayOf(2.0, 0.0))
var tmpQ = PrimitiveDenseStore.FACTORY.rows(*Q)