From 5daf71f69eee6199e044cd7c29fb884a1d115782 Mon Sep 17 00:00:00 2001 From: THIRUMURUGAN <125580604+THIRU-1074@users.noreply.github.com> Date: Fri, 23 Jun 2023 19:24:38 +0530 Subject: [PATCH 01/14] surfaceAreaTriangle(fn_name_modified) --- src/main/java/com/thealgorithms/maths/Area.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/com/thealgorithms/maths/Area.java b/src/main/java/com/thealgorithms/maths/Area.java index 262669fe8087..43d35eea47b9 100644 --- a/src/main/java/com/thealgorithms/maths/Area.java +++ b/src/main/java/com/thealgorithms/maths/Area.java @@ -100,7 +100,7 @@ public static double surfaceAreaSquare(final double sideLength) { * @param height height of triangle * @return area of given triangle */ - public static double surfaceAreaTriangleRectangle(final double base, final double height) { + public static double surfaceAreaTriangle(final double base, final double height) { if (base <= 0) { throw new IllegalArgumentException(POSITIVE_BASE); } From 5e8065176ca216ba4b58dc4d07bc37fd4593adba Mon Sep 17 00:00:00 2001 From: THIRUMURUGAN <125580604+THIRU-1074@users.noreply.github.com> Date: Fri, 23 Jun 2023 20:40:58 +0530 Subject: [PATCH 02/14] --changed function's test identifier --- src/test/java/com/thealgorithms/maths/AreaTest.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/test/java/com/thealgorithms/maths/AreaTest.java b/src/test/java/com/thealgorithms/maths/AreaTest.java index d431c69fd0d7..acf258bd7a54 100644 --- a/src/test/java/com/thealgorithms/maths/AreaTest.java +++ b/src/test/java/com/thealgorithms/maths/AreaTest.java @@ -35,7 +35,7 @@ void testSurfaceAreaSquare() { } @Test - void testSurfaceAreaTriangleRectangle() { + void testSurfaceAreaTriangle() { assertEquals(50.0, Area.surfaceAreaTriangleRectangle(10, 10)); } From 3af4ac15fcbe3a62967bc6c9fb0c9efac9cf90f5 Mon Sep 17 00:00:00 2001 From: THIRUMURUGAN <125580604+THIRU-1074@users.noreply.github.com> Date: Fri, 23 Jun 2023 21:02:41 +0530 Subject: [PATCH 03/14] --updated test file --- src/test/java/com/thealgorithms/maths/AreaTest.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/test/java/com/thealgorithms/maths/AreaTest.java b/src/test/java/com/thealgorithms/maths/AreaTest.java index acf258bd7a54..42e6f41804d6 100644 --- a/src/test/java/com/thealgorithms/maths/AreaTest.java +++ b/src/test/java/com/thealgorithms/maths/AreaTest.java @@ -36,7 +36,7 @@ void testSurfaceAreaSquare() { @Test void testSurfaceAreaTriangle() { - assertEquals(50.0, Area.surfaceAreaTriangleRectangle(10, 10)); + assertEquals(50.0, Area.surfaceAreaTriangle(10, 10)); } @Test @@ -81,9 +81,9 @@ void testAllIllegalInput() { () -> assertThrows(IllegalArgumentException.class, () -> Area.surfaceAreaSquare(0)), () - -> assertThrows(IllegalArgumentException.class, () -> Area.surfaceAreaTriangleRectangle(0, 1)), + -> assertThrows(IllegalArgumentException.class, () -> Area.surfaceAreaTriangle(0, 1)), () - -> assertThrows(IllegalArgumentException.class, () -> Area.surfaceAreaTriangleRectangle(1, 0)), + -> assertThrows(IllegalArgumentException.class, () -> Area.surfaceAreaTriangle(1, 0)), () -> assertThrows(IllegalArgumentException.class, () -> Area.surfaceAreaParallelogram(0, 1)), () From 112fe069fade4358f60af29ea3c7d8c3d86e7521 Mon Sep 17 00:00:00 2001 From: THIRUMURUGAN <125580604+THIRU-1074@users.noreply.github.com> Date: Sun, 25 Jun 2023 11:19:20 +0530 Subject: [PATCH 04/14] -determinant code modification --- .../maths/DeterminantOfMatrix.java | 116 ++++++++++-------- 1 file changed, 67 insertions(+), 49 deletions(-) diff --git a/src/main/java/com/thealgorithms/maths/DeterminantOfMatrix.java b/src/main/java/com/thealgorithms/maths/DeterminantOfMatrix.java index c1ef3fc09e1d..7ce1c99f3941 100644 --- a/src/main/java/com/thealgorithms/maths/DeterminantOfMatrix.java +++ b/src/main/java/com/thealgorithms/maths/DeterminantOfMatrix.java @@ -1,55 +1,73 @@ package com.thealgorithms.maths; - import java.util.*; - /* - * @author Ojasva Jain - * Determinant of Matrix Wikipedia link : https://en.wikipedia.org/wiki/Determinant + * Determinant of Matrix :https://textbooks.math.gatech.edu/ila/determinants-cofactors.html */ public class DeterminantOfMatrix { - - // Determinant calculator - //@return determinant of the input matrix - static int determinant(int[][] a, int n) { - int det = 0, sign = 1, p = 0, q = 0; - if (n == 1) { - det = a[0][0]; - } else { - int[][] b = new int[n - 1][n - 1]; - for (int x = 0; x < n; x++) { - p = 0; - q = 0; - for (int i = 1; i < n; i++) { - for (int j = 0; j < n; j++) { - if (j != x) { - b[p][q++] = a[i][j]; - if (q % (n - 1) == 0) { - p++; - q = 0; - } - } - } - } - det = det + a[0][x] * determinant(b, n - 1) * sign; - sign = -sign; - } - } - return det; - } - - // Driver Method - public static void main(String[] args) { - Scanner in = new Scanner(System.in); - // Input Matrix - System.out.println("Enter matrix size (Square matrix only)"); - int n = in.nextInt(); - System.out.println("Enter matrix"); - int[][] a = new int[n][n]; - for (int i = 0; i < n; i++) { - for (int j = 0; j < n; j++) { - a[i][j] = in.nextInt(); - } - } - System.out.println(determinant(a, n)); - } + public static double[][] SUB_MAT(double[][] mat,int order,int c) { + //creating reference for the sub matrix + double[][] sub_mat=new double[order-1][order-1]; + //sub_c stores the column column index of the sub matrix + int sub_c; + for(int i=1;i Date: Sun, 25 Jun 2023 12:54:54 +0530 Subject: [PATCH 05/14] -formatting modified --- .../maths/DeterminantOfMatrix.java | 20 +++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/src/main/java/com/thealgorithms/maths/DeterminantOfMatrix.java b/src/main/java/com/thealgorithms/maths/DeterminantOfMatrix.java index 7ce1c99f3941..e24ff2efae6c 100644 --- a/src/main/java/com/thealgorithms/maths/DeterminantOfMatrix.java +++ b/src/main/java/com/thealgorithms/maths/DeterminantOfMatrix.java @@ -4,23 +4,23 @@ * Determinant of Matrix :https://textbooks.math.gatech.edu/ila/determinants-cofactors.html */ public class DeterminantOfMatrix { - public static double[][] SUB_MAT(double[][] mat,int order,int c) { + public static double[][] submatrix(double[][] mat,int order,int c) { //creating reference for the sub matrix - double[][] sub_mat=new double[order-1][order-1]; + double[][] subMat=new double[order-1][order-1]; //sub_c stores the column column index of the sub matrix - int sub_c; + int subC; for(int i=1;i Date: Sun, 25 Jun 2023 17:11:18 +0530 Subject: [PATCH 06/14] --test file included formatting adjusted --- .../maths/DeterminantOfMatrix.java | 73 ------------------- .../maths/DeterminantofMatrix.java | 51 +++++++++++++ .../maths/DeterminantofMatrixTest.java | 24 ++++++ 3 files changed, 75 insertions(+), 73 deletions(-) delete mode 100644 src/main/java/com/thealgorithms/maths/DeterminantOfMatrix.java create mode 100644 src/main/java/com/thealgorithms/maths/DeterminantofMatrix.java create mode 100644 src/test/java/com/thealgorithms/maths/DeterminantofMatrixTest.java diff --git a/src/main/java/com/thealgorithms/maths/DeterminantOfMatrix.java b/src/main/java/com/thealgorithms/maths/DeterminantOfMatrix.java deleted file mode 100644 index e24ff2efae6c..000000000000 --- a/src/main/java/com/thealgorithms/maths/DeterminantOfMatrix.java +++ /dev/null @@ -1,73 +0,0 @@ -package com.thealgorithms.maths; -import java.util.*; -/* - * Determinant of Matrix :https://textbooks.math.gatech.edu/ila/determinants-cofactors.html - */ -public class DeterminantOfMatrix { - public static double[][] submatrix(double[][] mat,int order,int c) { - //creating reference for the sub matrix - double[][] subMat=new double[order-1][order-1]; - //sub_c stores the column column index of the sub matrix - int subC; - for(int i=1;i Date: Sun, 25 Jun 2023 17:26:49 +0530 Subject: [PATCH 07/14] --modified tabs to spaces and removed main --- src/main/java/com/thealgorithms/maths/DeterminantofMatrix.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/com/thealgorithms/maths/DeterminantofMatrix.java b/src/main/java/com/thealgorithms/maths/DeterminantofMatrix.java index 5523bf2bc970..e18f253cdaff 100644 --- a/src/main/java/com/thealgorithms/maths/DeterminantofMatrix.java +++ b/src/main/java/com/thealgorithms/maths/DeterminantofMatrix.java @@ -40,7 +40,7 @@ public static double operation(double[][] mat,int order) { else { check=1; } - det+=(check*(mat[0][c])*determinant(submatrix(mat,order,c),order-1))); + det+=(check*(mat[0][c])*determinant(submatrix(mat,order,c),order-1)); } return(det); } From 7d0637b236f26562270cec3669cff425c2ae52ed Mon Sep 17 00:00:00 2001 From: THIRUMURUGAN <125580604+THIRU-1074@users.noreply.github.com> Date: Sun, 25 Jun 2023 17:30:04 +0530 Subject: [PATCH 08/14] --name modified --- .../maths/{DeterminantofMatrix.java => DeterminantOfMatrix.java} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename src/main/java/com/thealgorithms/maths/{DeterminantofMatrix.java => DeterminantOfMatrix.java} (100%) diff --git a/src/main/java/com/thealgorithms/maths/DeterminantofMatrix.java b/src/main/java/com/thealgorithms/maths/DeterminantOfMatrix.java similarity index 100% rename from src/main/java/com/thealgorithms/maths/DeterminantofMatrix.java rename to src/main/java/com/thealgorithms/maths/DeterminantOfMatrix.java From cddc62bf23789252f54f4346843ca7ee34614429 Mon Sep 17 00:00:00 2001 From: THIRUMURUGAN <125580604+THIRU-1074@users.noreply.github.com> Date: Sun, 25 Jun 2023 17:37:00 +0530 Subject: [PATCH 09/14] --modified test file --- ...tofMatrixTest.java => DeterminantOfMatrixTest.java} | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) rename src/test/java/com/thealgorithms/maths/{DeterminantofMatrixTest.java => DeterminantOfMatrixTest.java} (58%) diff --git a/src/test/java/com/thealgorithms/maths/DeterminantofMatrixTest.java b/src/test/java/com/thealgorithms/maths/DeterminantOfMatrixTest.java similarity index 58% rename from src/test/java/com/thealgorithms/maths/DeterminantofMatrixTest.java rename to src/test/java/com/thealgorithms/maths/DeterminantOfMatrixTest.java index 5c24dce648cd..5236bc1dbdbb 100644 --- a/src/test/java/com/thealgorithms/maths/DeterminantofMatrixTest.java +++ b/src/test/java/com/thealgorithms/maths/DeterminantOfMatrixTest.java @@ -8,17 +8,17 @@ public class DeterminantOfMatrixTest { @Test void testDeterminantOfMatrix() { - double[][] matrix1 = { { 1.0 } }; - assertEquals(1.0, DeterminantOfMatrix.DET(matrix1, 1)); + double[][] matrix1 = { { 1, 0, 0}, {0, 1, 0}, {0, 0, 1} }; + assertEquals(1.0, DeterminantOfMatrix.operation(matrix1, 3)); double[][] matrix2 = { { 2.0, 3.0 }, { -4.0, 5.0 } }; - assertEquals(22.0, DeterminantOfMatrix.DET(matrix2, 2)); + assertEquals(22.0, DeterminantOfMatrix.operation(matrix2, 2)); double[][] matrix3 = { { -1.0, 2.5, 3.0 }, { 4.0, -5.2, 6.0 }, { 7.3, -8.1, 9.6 } }; - assertEquals(58.9, DeterminantOfMatrix.DET(matrix3, 3)); + assertEquals(58.9, DeterminantOfMatrix.operation(matrix3, 3)); double[][] matrix4 = { { -1.2, 2.3, -3.4, 4.5 }, { 5.6, -6.7, 7.8, -8.9 }, { -9.0, 10.1, -11.2, 12.3 }, { 13.4, -14.5, 15.6, -16.7 } }; - assertEquals(2549.1228, DeterminantOfMatrix.DET(matrix4, 4)); + assertEquals(2549.1228, DeterminantOfMatrix.operation(matrix4, 4)); } } From 051795cc31b3d49402cac35ba5837def92484559 Mon Sep 17 00:00:00 2001 From: THIRUMURUGAN <125580604+THIRU-1074@users.noreply.github.com> Date: Sun, 25 Jun 2023 17:48:35 +0530 Subject: [PATCH 10/14] --fixed a logic bug --- .../java/com/thealgorithms/maths/DeterminantOfMatrix.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/thealgorithms/maths/DeterminantOfMatrix.java b/src/main/java/com/thealgorithms/maths/DeterminantOfMatrix.java index e18f253cdaff..554ea94a3eac 100644 --- a/src/main/java/com/thealgorithms/maths/DeterminantOfMatrix.java +++ b/src/main/java/com/thealgorithms/maths/DeterminantOfMatrix.java @@ -35,10 +35,10 @@ public static double operation(double[][] mat,int order) { double det=0; for(int c=0;c Date: Sun, 25 Jun 2023 18:53:13 +0530 Subject: [PATCH 11/14] --modified test case errors --- .../com/thealgorithms/maths/DeterminantOfMatrixTest.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/test/java/com/thealgorithms/maths/DeterminantOfMatrixTest.java b/src/test/java/com/thealgorithms/maths/DeterminantOfMatrixTest.java index 5236bc1dbdbb..a09595347283 100644 --- a/src/test/java/com/thealgorithms/maths/DeterminantOfMatrixTest.java +++ b/src/test/java/com/thealgorithms/maths/DeterminantOfMatrixTest.java @@ -15,10 +15,10 @@ void testDeterminantOfMatrix() { assertEquals(22.0, DeterminantOfMatrix.operation(matrix2, 2)); double[][] matrix3 = { { -1.0, 2.5, 3.0 }, { 4.0, -5.2, 6.0 }, { 7.3, -8.1, 9.6 } }; - assertEquals(58.9, DeterminantOfMatrix.operation(matrix3, 3)); + assertEquals(31.50000000000001, DeterminantOfMatrix.operation(matrix3, 3)); - double[][] matrix4 = { { -1.2, 2.3, -3.4, 4.5 }, { 5.6, -6.7, 7.8, -8.9 }, { -9.0, 10.1, -11.2, 12.3 }, { 13.4, -14.5, 15.6, -16.7 } }; - assertEquals(2549.1228, DeterminantOfMatrix.operation(matrix4, 4)); + double[][] matrix4 = { {1, 2, 3, 4}, {5, 6, 7, 8}, {9, 0, 1, 2}, {3, 4, 5, 6} }; + assertEquals(0.0, DeterminantOfMatrix.operation(matrix4, 4)); } } From acdb4e5a37fb11bd4bdb29b3a63757cd69beebb8 Mon Sep 17 00:00:00 2001 From: THIRUMURUGAN <125580604+THIRU-1074@users.noreply.github.com> Date: Mon, 26 Jun 2023 15:26:53 +0530 Subject: [PATCH 12/14] Update DeterminantOfMatrix.java --- .../java/com/thealgorithms/maths/DeterminantOfMatrix.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/thealgorithms/maths/DeterminantOfMatrix.java b/src/main/java/com/thealgorithms/maths/DeterminantOfMatrix.java index 554ea94a3eac..3b84d9475f0b 100644 --- a/src/main/java/com/thealgorithms/maths/DeterminantOfMatrix.java +++ b/src/main/java/com/thealgorithms/maths/DeterminantOfMatrix.java @@ -4,7 +4,7 @@ * Determinant of Matrix :https://textbooks.math.gatech.edu/ila/determinants-cofactors.html */ public class DeterminantOfMatrix { - public static double[][] submatrix(double[][] mat,int order,int c) { + public static double[][] submatrix(double[][] mat,int order,int c) { //creating reference for the sub matrix double[][] subMat=new double[order-1][order-1]; //sub_c stores the column column index of the sub matrix @@ -48,4 +48,4 @@ public static double operation(double[][] mat,int order) { /*the above code will work for all square matrix whose order are greater than one. ---to initiate this recursive algorithm pass the matrix and its order to the operation() method ---if the order is 1 return the determinant of the matrix directly -(determinant of the matrix with one element(order 1) :is the element itself)*/ \ No newline at end of file +(determinant of the matrix with one element(order 1) :is the element itself)*/ From 2be8e3d81a5ba3034af6d3f10771c806250f1d81 Mon Sep 17 00:00:00 2001 From: THIRUMURUGAN <125580604+THIRU-1074@users.noreply.github.com> Date: Mon, 26 Jun 2023 15:36:22 +0530 Subject: [PATCH 13/14] Update DeterminantOfMatrix.java --- .../java/com/thealgorithms/maths/DeterminantOfMatrix.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/thealgorithms/maths/DeterminantOfMatrix.java b/src/main/java/com/thealgorithms/maths/DeterminantOfMatrix.java index 3b84d9475f0b..16c52212d2ae 100644 --- a/src/main/java/com/thealgorithms/maths/DeterminantOfMatrix.java +++ b/src/main/java/com/thealgorithms/maths/DeterminantOfMatrix.java @@ -4,8 +4,8 @@ * Determinant of Matrix :https://textbooks.math.gatech.edu/ila/determinants-cofactors.html */ public class DeterminantOfMatrix { - public static double[][] submatrix(double[][] mat,int order,int c) { - //creating reference for the sub matrix + public static double[][] submatrix(double[][] mat,int order,int c) { + //creating reference for the sub matrix double[][] subMat=new double[order-1][order-1]; //sub_c stores the column column index of the sub matrix int subC; @@ -43,7 +43,7 @@ public static double operation(double[][] mat,int order) { det+=(check*(mat[0][c])*determinant(submatrix(mat,order,c),order-1)); } return(det); - } + } } /*the above code will work for all square matrix whose order are greater than one. ---to initiate this recursive algorithm pass the matrix and its order to the operation() method From 85e3de9f4c971773a827132f1c41d186f4bb77cb Mon Sep 17 00:00:00 2001 From: THIRUMURUGAN <125580604+THIRU-1074@users.noreply.github.com> Date: Mon, 26 Jun 2023 15:47:05 +0530 Subject: [PATCH 14/14] Update DeterminantOfMatrix.java --- .../maths/DeterminantOfMatrix.java | 76 +++++++++---------- 1 file changed, 38 insertions(+), 38 deletions(-) diff --git a/src/main/java/com/thealgorithms/maths/DeterminantOfMatrix.java b/src/main/java/com/thealgorithms/maths/DeterminantOfMatrix.java index 16c52212d2ae..d938aa9af403 100644 --- a/src/main/java/com/thealgorithms/maths/DeterminantOfMatrix.java +++ b/src/main/java/com/thealgorithms/maths/DeterminantOfMatrix.java @@ -4,45 +4,45 @@ * Determinant of Matrix :https://textbooks.math.gatech.edu/ila/determinants-cofactors.html */ public class DeterminantOfMatrix { - public static double[][] submatrix(double[][] mat,int order,int c) { + public static double[][] submatrix(double[][] mat,int order,int c) { //creating reference for the sub matrix - double[][] subMat=new double[order-1][order-1]; - //sub_c stores the column column index of the sub matrix - int subC; - for(int i=1;i