Skip to content

Flaky: PLU decomposition ComplexDouble returns wrong result on Linux #289

@devcrocod

Description

@devcrocod

Multik version

0.3.0

Module

multik-openblas

Platform

JVM

Operating System

Linux

Description

NativeLinAlgEx.pluC for ComplexDouble matrices produces incorrect PLU decomposition intermittently on Linux (Ubuntu 22.04.5 LTS, gcc-12 12.3.0, JDK 21 Temurin). The test generates a 4x4 random ComplexDouble matrix (seeded with Random(42)), decomposes it into P, L, U, and verifies P*L*U = A with epsilon 1e-8. Failed in 2 out of 4 CI runs.

Reproducer

val a = data.getComplexDoubleM(4) // deterministic 4x4 ComplexDouble matrix from Random(42)
val (p, l, u) = NativeLinAlgEx.pluC(a)

val lu = NativeLinAlgEx.dotMMComplex(l, u)
val plu = NativeLinAlgEx.dotMMComplex(p, lu)
assertComplexFloatingNDArray(a, plu, epsilon = 1e-8) // Fails intermittently

Additional information

Flaky — failed in 2/4 CI runs.
AssertionFailedError at NativeLinAlgTest.kt:415.
CI runs: 22511673326, 22511741037.
Environment: Ubuntu 22.04.5 LTS, gcc-12 (12.3.0), g++-12, JDK 21 Temurin, x86_64.

Metadata

Metadata

Assignees

No one assigned

    Labels

    ai-generatedIssues or pull requests created fully or partially with the help of AI toolsbugSomething isn't working

    Type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions