diff --git a/libraries-2/pom.xml b/libraries-2/pom.xml index a734685b80..b936465e82 100644 --- a/libraries-2/pom.xml +++ b/libraries-2/pom.xml @@ -55,6 +55,11 @@ ejml-all ${ejml.version} + + colt + colt + ${colt.version} + org.springframework.boot spring-boot-starter @@ -115,5 +120,6 @@ 4.4.0 2.1.4.RELEASE 0.37.1 + 1.2.0 diff --git a/libraries-2/src/test/java/com/baeldung/colt/DoubleMatrix2DUniTest.java b/libraries-2/src/test/java/com/baeldung/colt/DoubleMatrix2DUniTest.java new file mode 100644 index 0000000000..54d10e8cef --- /dev/null +++ b/libraries-2/src/test/java/com/baeldung/colt/DoubleMatrix2DUniTest.java @@ -0,0 +1,43 @@ +package com.baeldung.colt; + +import cern.colt.matrix.DoubleFactory2D; +import cern.colt.matrix.DoubleMatrix2D; +import cern.colt.matrix.linalg.Algebra; +import org.junit.jupiter.api.Test; + +import static org.assertj.core.api.Assertions.assertThat; + +class DoubleMatrix2DUniTest { + + @Test + void givenTwoMatrices_whenMultiply_thenMultiplicatedMatrix() { + DoubleFactory2D doubleFactory2D = DoubleFactory2D.dense; + + DoubleMatrix2D firstMatrix = doubleFactory2D.make( + new double[][] { + new double[] {1d, 5d}, + new double[] {2d, 3d}, + new double[] {1d ,7d} + }); + + DoubleMatrix2D secondMatrix = doubleFactory2D.make( + new double[][] { + new double[] {1d, 2d, 3d, 7d}, + new double[] {5d, 2d, 8d, 1d} + } + ); + + DoubleMatrix2D expected = doubleFactory2D.make( + new double[][] { + new double[] {26d, 12d, 43d, 12d}, + new double[] {17d, 10d, 30d, 17d}, + new double[] {36d, 16d, 59d, 14d} + } + ); + + Algebra algebra = new Algebra(); + DoubleMatrix2D actual = algebra.mult(firstMatrix, secondMatrix); + + assertThat(actual).isEqualTo(expected); + } +}