Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/powerbi/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Kotlin中的ojAlog-ConvexSolver:2d阵列_Kotlin_Convex Optimization_Ojalgo - Fatal编程技术网

Kotlin中的ojAlog-ConvexSolver:2d阵列

Kotlin中的ojAlog-ConvexSolver:2d阵列,kotlin,convex-optimization,ojalgo,Kotlin,Convex Optimization,Ojalgo,我正在尝试实现一些示例,因为我计划探索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), DoubleArra

我正在尝试实现一些示例,因为我计划探索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)
val Q:Array=arrayOf(双数组(2.0,0.0),双数组(2.0,0.0))
var tmpQ=原始密集存储区.工厂.行(Q)
但看起来,行不能用我给出的论点来调用

也许我在做一些愚蠢的事情,但我会感谢你的帮助


谢谢。

DoubleArray构造函数将数组大小作为第一个参数,这就是您的构造无效的原因。Kotlin中的
double[][]
的类似物是
Array
,没错,但它的构造应如下所示:

val Q: Array<DoubleArray> = arrayOf(doubleArrayOf(2.0, 0.0), doubleArrayOf(2.0, 0.0))

谢谢我试过了,但似乎:
PrimitiveDenseStore.FACTORY.rows(Q)
和您编写的行不允许作为参数。这不是一个错误,但使用InelliJ,
PrimitiveDenseStore.FACTORY.rows
中的.rows()用红色下划线表示:“可以使用提供的参数调用以下函数”什么是“以下功能”?:)<代码>在org.ojalgo.matrix.store.PhysicalStore.Factory行(vararg数组!)中定义的行(vararg(MutableList..List?),在org.ojalgo.matrix.store.PhysicalStore.Factory行(vararg Access1D!)中定义的行(vararg DoubleArray!)在org.ojalgo.matrix.store.PhysicalStore.Factory中定义的,那么为什么他会接受Java的double[][],而不是Kotlin的呢??
val Q: Array<DoubleArray> = arrayOf(doubleArrayOf(2.0, 0.0), doubleArrayOf(2.0, 0.0))
var tmpQ = PrimitiveDenseStore.FACTORY.rows(*Q)