Skip to content

Commit

Permalink
fix contraction
Browse files Browse the repository at this point in the history
  • Loading branch information
Peva Blanchard committed Jul 22, 2023
1 parent 95518a8 commit 0ba8f79
Show file tree
Hide file tree
Showing 2 changed files with 59 additions and 1 deletion.
2 changes: 1 addition & 1 deletion src/main/kotlin/ch/kleis/lcaplugin/core/math/MathUtils.kt
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ fun contract32(l: D3Array<Double>, r: D2Array<Double>): D3Array<Double> {
val ll = l.transpose(1, 0, 2)
val rr = r.transpose(1, 0)
val cc = contract23(rr, ll)
val c= cc.transpose(2, 0, 1)
val c= cc.transpose(1, 0, 2)
return c
}

Expand Down
58 changes: 58 additions & 0 deletions src/test/kotlin/ch/kleis/lcaplugin/core/math/MathUtilsKtTest.kt
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,64 @@ import kotlin.test.assertEquals

@OptIn(ExperimentalMultikApi::class)
class MathUtilsKtTest {
@Test
fun test_contract23() {
// given
val l = mk.createAlignedNDArray(
arrayOf(
arrayOf(1.0, 2.0),
arrayOf(3.0, 4.0),
)
)
val r = mk.createAlignedNDArray(
arrayOf(
arrayOf(arrayOf(1.0, -1.0, -2.0), arrayOf(2.0, -2.0, -4.0)),
arrayOf(arrayOf(3.0, -3.0, -6.0), arrayOf(4.0, -4.0, -8.0)),
)
)

// when
val actual = contract23(l, r)

// then
val expected = mk.createAlignedNDArray(
arrayOf(
arrayOf(arrayOf(7.0, -7.0, -14.0), arrayOf(10.0, -10.0, -20.0)),
arrayOf(arrayOf(15.0, -15.0, -30.0), arrayOf(22.0, -22.0, -44.0)),
)
)
assertEquals(expected, actual)
}

@Test
fun test_contract32() {
// given
val l = mk.createAlignedNDArray(
arrayOf(
arrayOf(arrayOf(1.0, -1.0, -2.0), arrayOf(2.0, -2.0, -4.0)),
arrayOf(arrayOf(3.0, -3.0, -6.0), arrayOf(4.0, -4.0, -8.0)),
)
)
val r = mk.createAlignedNDArray(
arrayOf(
arrayOf(1.0, 2.0),
arrayOf(3.0, 4.0),
)
)

// when
val actual = contract32(l, r)

// then
val expected = mk.createAlignedNDArray(
arrayOf(
arrayOf(arrayOf(7.0, -7.0, -14.0), arrayOf(10.0, -10.0, -20.0)),
arrayOf(arrayOf(15.0, -15.0, -30.0), arrayOf(22.0, -22.0, -44.0)),
)
)
assertEquals(expected, actual)
}

@Test
fun test_d2Ejml() {
// given
Expand Down

0 comments on commit 0ba8f79

Please sign in to comment.