From a64b6c73298f8cb4ef87bf4b0a3c59a857dcea52 Mon Sep 17 00:00:00 2001 From: Emelyanov535 Date: Sat, 19 Oct 2024 14:17:22 +0400 Subject: [PATCH] feature: completed lab 6 --- emelyanov_artem_lab_6/.idea/.gitignore | 8 ++ .../.idea/emelyanov_artem_lab_6.iml | 11 +++ .../inspectionProfiles/Project_Default.xml | 8 ++ emelyanov_artem_lab_6/.idea/misc.xml | 6 ++ emelyanov_artem_lab_6/.idea/modules.xml | 8 ++ emelyanov_artem_lab_6/.idea/vcs.xml | 6 ++ emelyanov_artem_lab_6/Benchmark.java | 27 ++++++ .../DeterminantCalculator.java | 80 ++++++++++++++++++ emelyanov_artem_lab_6/MatrixGenerator.java | 11 +++ emelyanov_artem_lab_6/Readme.md | 12 +++ emelyanov_artem_lab_6/images/img.png | Bin 0 -> 49945 bytes emelyanov_artem_lab_6/img.png | Bin 0 -> 49945 bytes .../emelyanov_artem_lab_6/.idea/.gitignore | 8 ++ .../.idea/emelyanov_artem_lab_6.iml | 11 +++ .../inspectionProfiles/Project_Default.xml | 8 ++ .../emelyanov_artem_lab_6/.idea/misc.xml | 6 ++ .../emelyanov_artem_lab_6/.idea/modules.xml | 8 ++ .../emelyanov_artem_lab_6/.idea/vcs.xml | 6 ++ .../emelyanov_artem_lab_6/Benchmark.class | Bin 0 -> 2065 bytes .../DeterminantCalculator.class | Bin 0 -> 3433 bytes .../MatrixGenerator.class | Bin 0 -> 586 bytes .../emelyanov_artem_lab_6/Readme.md | 6 ++ 22 files changed, 230 insertions(+) create mode 100644 emelyanov_artem_lab_6/.idea/.gitignore create mode 100644 emelyanov_artem_lab_6/.idea/emelyanov_artem_lab_6.iml create mode 100644 emelyanov_artem_lab_6/.idea/inspectionProfiles/Project_Default.xml create mode 100644 emelyanov_artem_lab_6/.idea/misc.xml create mode 100644 emelyanov_artem_lab_6/.idea/modules.xml create mode 100644 emelyanov_artem_lab_6/.idea/vcs.xml create mode 100644 emelyanov_artem_lab_6/Benchmark.java create mode 100644 emelyanov_artem_lab_6/DeterminantCalculator.java create mode 100644 emelyanov_artem_lab_6/MatrixGenerator.java create mode 100644 emelyanov_artem_lab_6/Readme.md create mode 100644 emelyanov_artem_lab_6/images/img.png create mode 100644 emelyanov_artem_lab_6/img.png create mode 100644 emelyanov_artem_lab_6/out/production/emelyanov_artem_lab_6/.idea/.gitignore create mode 100644 emelyanov_artem_lab_6/out/production/emelyanov_artem_lab_6/.idea/emelyanov_artem_lab_6.iml create mode 100644 emelyanov_artem_lab_6/out/production/emelyanov_artem_lab_6/.idea/inspectionProfiles/Project_Default.xml create mode 100644 emelyanov_artem_lab_6/out/production/emelyanov_artem_lab_6/.idea/misc.xml create mode 100644 emelyanov_artem_lab_6/out/production/emelyanov_artem_lab_6/.idea/modules.xml create mode 100644 emelyanov_artem_lab_6/out/production/emelyanov_artem_lab_6/.idea/vcs.xml create mode 100644 emelyanov_artem_lab_6/out/production/emelyanov_artem_lab_6/Benchmark.class create mode 100644 emelyanov_artem_lab_6/out/production/emelyanov_artem_lab_6/DeterminantCalculator.class create mode 100644 emelyanov_artem_lab_6/out/production/emelyanov_artem_lab_6/MatrixGenerator.class create mode 100644 emelyanov_artem_lab_6/out/production/emelyanov_artem_lab_6/Readme.md diff --git a/emelyanov_artem_lab_6/.idea/.gitignore b/emelyanov_artem_lab_6/.idea/.gitignore new file mode 100644 index 0000000..13566b8 --- /dev/null +++ b/emelyanov_artem_lab_6/.idea/.gitignore @@ -0,0 +1,8 @@ +# Default ignored files +/shelf/ +/workspace.xml +# Editor-based HTTP Client requests +/httpRequests/ +# Datasource local storage ignored files +/dataSources/ +/dataSources.local.xml diff --git a/emelyanov_artem_lab_6/.idea/emelyanov_artem_lab_6.iml b/emelyanov_artem_lab_6/.idea/emelyanov_artem_lab_6.iml new file mode 100644 index 0000000..b107a2d --- /dev/null +++ b/emelyanov_artem_lab_6/.idea/emelyanov_artem_lab_6.iml @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/emelyanov_artem_lab_6/.idea/inspectionProfiles/Project_Default.xml b/emelyanov_artem_lab_6/.idea/inspectionProfiles/Project_Default.xml new file mode 100644 index 0000000..db0f74e --- /dev/null +++ b/emelyanov_artem_lab_6/.idea/inspectionProfiles/Project_Default.xml @@ -0,0 +1,8 @@ + + + + \ No newline at end of file diff --git a/emelyanov_artem_lab_6/.idea/misc.xml b/emelyanov_artem_lab_6/.idea/misc.xml new file mode 100644 index 0000000..f03c948 --- /dev/null +++ b/emelyanov_artem_lab_6/.idea/misc.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/emelyanov_artem_lab_6/.idea/modules.xml b/emelyanov_artem_lab_6/.idea/modules.xml new file mode 100644 index 0000000..6624954 --- /dev/null +++ b/emelyanov_artem_lab_6/.idea/modules.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/emelyanov_artem_lab_6/.idea/vcs.xml b/emelyanov_artem_lab_6/.idea/vcs.xml new file mode 100644 index 0000000..6c0b863 --- /dev/null +++ b/emelyanov_artem_lab_6/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/emelyanov_artem_lab_6/Benchmark.java b/emelyanov_artem_lab_6/Benchmark.java new file mode 100644 index 0000000..1c038e5 --- /dev/null +++ b/emelyanov_artem_lab_6/Benchmark.java @@ -0,0 +1,27 @@ +import java.util.concurrent.ExecutionException; + +public class Benchmark { + public static void main(String[] args) throws ExecutionException, InterruptedException { + int[] sizes = {5, 7, 10}; + + for (int size : sizes) { + int[][] matrix = MatrixGenerator.generateMatrix(size); + + // Последовательное вычисление + long startSequential = System.nanoTime(); + double detSequential = DeterminantCalculator.calculateDeterminant(matrix, 1); + long endSequential = System.nanoTime(); + System.out.println("Последовательно (" + size + "x" + size + "): " + (endSequential - startSequential) / 1_000_000 + " ms, детерминант: " + detSequential); + + // Параллельное вычисление + for (int numThreads : new int[]{2, 4, 8}) { + long startParallel = System.nanoTime(); + double detParallel = DeterminantCalculator.calculateDeterminant(matrix, numThreads); + long endParallel = System.nanoTime(); + System.out.println("Параллельно (" + size + "x" + size + ", " + numThreads + " потоков): " + + (endParallel - startParallel) / 1_000_000 + " ms, детерминант: " + detParallel); + } + System.out.println("--------------------------------------------------"); + } + } +} diff --git a/emelyanov_artem_lab_6/DeterminantCalculator.java b/emelyanov_artem_lab_6/DeterminantCalculator.java new file mode 100644 index 0000000..1c41c38 --- /dev/null +++ b/emelyanov_artem_lab_6/DeterminantCalculator.java @@ -0,0 +1,80 @@ +import java.util.ArrayList; +import java.util.List; +import java.util.concurrent.ExecutionException; +import java.util.concurrent.ExecutorService; +import java.util.concurrent.Executors; +import java.util.concurrent.Future; + +public class DeterminantCalculator { + public static int calculateDeterminant(int[][] matrix, int numThreads) throws InterruptedException, ExecutionException { + int size = matrix.length; + + // Если размер матрицы 1x1, возвращаем единственный элемент. + if (size == 1) { + return matrix[0][0]; + } + + // Если количество потоков равно 1, выполняем последовательный алгоритм. + if (numThreads == 1) { + return sequentialDeterminant(matrix); + } + + // Иначе выполняем параллельный алгоритм. + return parallelDeterminant(matrix, numThreads); + } + + private static int sequentialDeterminant(int[][] matrix) { + int size = matrix.length; + if (size == 1) { + return matrix[0][0]; + } + if (size == 2) { + return matrix[0][0] * matrix[1][1] - matrix[0][1] * matrix[1][0]; + } + + int determinant = 0; + for (int col = 0; col < size; col++) { + determinant += (int) (Math.pow(-1, col) * matrix[0][col] * sequentialDeterminant(getMinor(matrix, 0, col))); + } + return determinant; + } + + private static int parallelDeterminant(int[][] matrix, int numThreads) throws InterruptedException, ExecutionException { + int size = matrix.length; + ExecutorService executor = Executors.newFixedThreadPool(numThreads); + List> futures = new ArrayList<>(); + + for (int col = 0; col < size; col++) { + int finalCol = col; + futures.add(executor.submit(() -> { + double minorDet = sequentialDeterminant(getMinor(matrix, 0, finalCol)); + return Math.pow(-1, finalCol) * matrix[0][finalCol] * minorDet; + })); + } + + int determinant = 0; + for (Future future : futures) { + determinant += future.get(); + } + + executor.shutdown(); + return determinant; + } + + private static int[][] getMinor(int[][] matrix, int row, int col) { + int size = matrix.length; + int[][] minor = new int[size - 1][size - 1]; + + for (int i = 0, mi = 0; i < size; i++) { + if (i == row) continue; + for (int j = 0, mj = 0; j < size; j++) { + if (j == col) continue; + minor[mi][mj] = matrix[i][j]; + mj++; + } + mi++; + } + return minor; + } +} + diff --git a/emelyanov_artem_lab_6/MatrixGenerator.java b/emelyanov_artem_lab_6/MatrixGenerator.java new file mode 100644 index 0000000..3baecd7 --- /dev/null +++ b/emelyanov_artem_lab_6/MatrixGenerator.java @@ -0,0 +1,11 @@ +public class MatrixGenerator { + public static int[][] generateMatrix(int size) { + int[][] matrix = new int[size][size]; + for (int i = 0; i < size; i++) { + for (int j = 0; j < size; j++) { + matrix[i][j] = (int) (Math.random() * 100); + } + } + return matrix; + } +} diff --git a/emelyanov_artem_lab_6/Readme.md b/emelyanov_artem_lab_6/Readme.md new file mode 100644 index 0000000..162d74e --- /dev/null +++ b/emelyanov_artem_lab_6/Readme.md @@ -0,0 +1,12 @@ +# Поиск детерминанта + +Данная работа посвящена реализации и сравнению последовательного и параллельного алгоритмов поиска детерминанта матриц на языке Java. Целью является оценка производительности при использовании разного числа потоков. + +## Результаты: + +![img.png](images/img.png) + +Как видим, однозначно сказать нельзя, для маленьких матриц многопоточность особо не повлияла. Начиная с матрицы размерностью 10, есть прибавка в производительности. Посмотрим на сложность алгоритма, и она будет что-то около O(n!), так как алгоритм рекурсивный. +Для больших матриц, типа 100 на 100, сложность будет огромной, и не думаю что такое получится посчитать. + +Ссылка на видео: https://drive.google.com/file/d/1eCNcSLLLfWGlOk5Z0y0CfOfkbxeASrdE/view?usp=sharing \ No newline at end of file diff --git a/emelyanov_artem_lab_6/images/img.png b/emelyanov_artem_lab_6/images/img.png new file mode 100644 index 0000000000000000000000000000000000000000..52abf13ab4cc4465a3346571529af7e73bca3966 GIT binary patch literal 49945 zcmdR$XH-+`x~N5v-g^%nlwL$?kdA^BrMJ)#=^#x?=)FppCZK{yN1Bw-dl3-ny@?Py zAwWWITx;#M*FJlnare3B{5baqV=yu@AQ>~6bAHeFJa3G)rYaFWJ^rm*w}>98DLuV) z>o(xlEes$oHu@2MWsj9xw}NjyQj*v8HQĴ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 literal 0 HcmV?d00001 diff --git a/emelyanov_artem_lab_6/img.png b/emelyanov_artem_lab_6/img.png new file mode 100644 index 0000000000000000000000000000000000000000..52abf13ab4cc4465a3346571529af7e73bca3966 GIT binary patch literal 49945 zcmdR$XH-+`x~N5v-g^%nlwL$?kdA^BrMJ)#=^#x?=)FppCZK{yN1Bw-dl3-ny@?Py zAwWWITx;#M*FJlnare3B{5baqV=yu@AQ>~6bAHeFJa3G)rYaFWJ^rm*w}>98DLuV) z>o(xlEes$oHu@2MWsj9xw}NjyQj*v8HQĴ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 literal 0 HcmV?d00001 diff --git a/emelyanov_artem_lab_6/out/production/emelyanov_artem_lab_6/.idea/.gitignore b/emelyanov_artem_lab_6/out/production/emelyanov_artem_lab_6/.idea/.gitignore new file mode 100644 index 0000000..13566b8 --- /dev/null +++ b/emelyanov_artem_lab_6/out/production/emelyanov_artem_lab_6/.idea/.gitignore @@ -0,0 +1,8 @@ +# Default ignored files +/shelf/ +/workspace.xml +# Editor-based HTTP Client requests +/httpRequests/ +# Datasource local storage ignored files +/dataSources/ +/dataSources.local.xml diff --git a/emelyanov_artem_lab_6/out/production/emelyanov_artem_lab_6/.idea/emelyanov_artem_lab_6.iml b/emelyanov_artem_lab_6/out/production/emelyanov_artem_lab_6/.idea/emelyanov_artem_lab_6.iml new file mode 100644 index 0000000..b107a2d --- /dev/null +++ b/emelyanov_artem_lab_6/out/production/emelyanov_artem_lab_6/.idea/emelyanov_artem_lab_6.iml @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/emelyanov_artem_lab_6/out/production/emelyanov_artem_lab_6/.idea/inspectionProfiles/Project_Default.xml b/emelyanov_artem_lab_6/out/production/emelyanov_artem_lab_6/.idea/inspectionProfiles/Project_Default.xml new file mode 100644 index 0000000..db0f74e --- /dev/null +++ b/emelyanov_artem_lab_6/out/production/emelyanov_artem_lab_6/.idea/inspectionProfiles/Project_Default.xml @@ -0,0 +1,8 @@ + + + + \ No newline at end of file diff --git a/emelyanov_artem_lab_6/out/production/emelyanov_artem_lab_6/.idea/misc.xml b/emelyanov_artem_lab_6/out/production/emelyanov_artem_lab_6/.idea/misc.xml new file mode 100644 index 0000000..f03c948 --- /dev/null +++ b/emelyanov_artem_lab_6/out/production/emelyanov_artem_lab_6/.idea/misc.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/emelyanov_artem_lab_6/out/production/emelyanov_artem_lab_6/.idea/modules.xml b/emelyanov_artem_lab_6/out/production/emelyanov_artem_lab_6/.idea/modules.xml new file mode 100644 index 0000000..6624954 --- /dev/null +++ b/emelyanov_artem_lab_6/out/production/emelyanov_artem_lab_6/.idea/modules.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/emelyanov_artem_lab_6/out/production/emelyanov_artem_lab_6/.idea/vcs.xml b/emelyanov_artem_lab_6/out/production/emelyanov_artem_lab_6/.idea/vcs.xml new file mode 100644 index 0000000..6c0b863 --- /dev/null +++ b/emelyanov_artem_lab_6/out/production/emelyanov_artem_lab_6/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/emelyanov_artem_lab_6/out/production/emelyanov_artem_lab_6/Benchmark.class b/emelyanov_artem_lab_6/out/production/emelyanov_artem_lab_6/Benchmark.class new file mode 100644 index 0000000000000000000000000000000000000000..b956111ddf4905636681a89c36fa72745b55bc74 GIT binary patch literal 2065 zcmb7FTW=dh6#gc@tmD|R>vYq&v=E>dyG>#Ukfw1jA(yrePF-+FNyBYpkCJWdU9(I*`ukSfFrQeO~np`s9_ZORi!JZ&ENCp;0pwXM`qBO$D0X3u55@0>GdX8!zV zV-vtQib1r&qre-24}O8@b?t_hDrv@IDz|W57Hk3k8QswBa{``3ayEzn+7$#t=s-vy zGOgK`zH(6-($Z|x66joPe9MM~%M+R8{Cp;ePDB($L)eGdE}s0&sx8X`0Yfv)8NDp) zOjAMZhpM1EgahaiP$#4{z6lbEe--of}ELTrk%70LwEs)h-%iD zj+(8fsGF%PmTuU2+mc#2?PE27$k=F%Q*Q__;}wAeWo=oGn?^yiuj=*^zp6Irs{%cV zOlE2#*?_87i#WQmm=59yjw(17!f_-7y7u5=a21!iWH6Y-^AO3|7z9qZF`N{LlWA|N z0Qv<6`~UY(K}w)~Od5ryvSuv{c*o5miyq19hP+%WFGy=fTPRTz%bKk2tY+!1+*Eq) zC7l)M$nGGd2~pN`rqi96-zy)1FbikdS2Rm2m1IdkOc9|dTQw8ZNTc}7Cur2lGfUi^ zBI!hiom8$j8#j`B%XsUUdHGpQ8n&(xHB7`^GVxkvZ&m-CX?Znkk&s<`#46x(eQ0fS zDZ+VMD=bfIm3r<9CKX&%a9$udxl)i7TW3coxGZqIzRxvVFQp3XmzrfUrqtw$EKp|} zJKhSe2)y|0jAaZqwNx>z4D_ zS*Lx?d9t-iYXDaTa)er=X^mhmTq{H$5uB%FS|!JZ%k$r$5kKaFxQ2NJAG%%rk-(8> zCD4r<=CVvR&QIg8UC;`=OKu8$+j=~jj*X-*X-2Umt4Fe?xm>HHpYOUB&8~$rH!E@v z_tsu$Tzu)))7^yN#Z$`bwq(bLG6wIw@sd`pO7_5~0!N?AX|GTfEbQulUBNZ8Vyidu zVzCBzKfAv+-U+;+Ile|I#aVFno%j{vr@Hxdj;|;ea>rCZ%?~g&~4)vG|L3 z_yOwv@IMaDc>=jPZ&b<6`J%yG_T+Tm<~h%hSM?sgk01L~@4%2x^{qo0@vkF%N{Rcu z>*%_3y4{sJ9w4sL+}+Ww$o)86?rGn^OTaI9wT|o~aveC38wtn5n?s$Rp@wP;`Z($(ia^ztA2TCck9cV+|{8k(+E%a+bLv(LBp z{`R-e9RJ~8AMF5`z|Ui7fTBY+pdljAvShBB>7wb}O-5>jyGWzbJe2hm0hk^taqxGKLo4Ds+6=sa;{wg~IHygoz~ENO_XM}v*Yc)qM+O!1F|&O{j^QL;)X`<&Q#d7X(nqU$b}^kRJGrXsGWPW4H7i$TIu(JV zj&*O+UbFIZ1=lk3ZY zKoWfdYK~k8oDR}I7@b5H&4r>h(u9|AR!6^q0i*?b>JARbq81BlP^m7IY!-Gr`9JXg zOLmi0uj)$g=P{_`f`L!tGrJY>Ih2{PB4$2MCDfdRBsJ1EFZaG|;Invz6|yOzKsIg3 zu*+<1ot{Q8s$Ur*(2Oof`T-ll|WT!vgiv^AaSssYkK7#tJcv1XAU;qZTa2CWk~{Xrr#3U zA{9>h+V+#azOqaF`H=0$G&LGL3>S8sU=yJ|62E5lpQlog&4CyaMJx$4l=vlVIpCM# z`X?g~X?X~C7R}N^-t0Nx)a^MZa6EkQgd-$-J_2<@?2L~0c26|lDpal5Y`N;@tVvtS z@$7n(v#6k<+4}tTytgG@(SgAr3Dj*Blwm)zu!0TF23A?4=B=oom*=K+I=U6 z@8WwpzHi_Gejsql7nC24?W~rUt@MN2@S#w1OInMwJVRN0BkMSpJ5e+%6^o7d zW4=f}#>qkH>GU*~shzP-^&uKl%Ahjvq=Um~Y76?4RL2$$J)wo- zqn@B!c`HzGh}g~i9K|tyj`MyXJ#__W_#$RGBQCy#JM^ybT3~Y2fCaAVX!s|ZMI&;Y zM7Ws8B0+h#p{We(FI-jmJD=Jam9gxGr9DK4A7M%zR0j$isskJ<1BLt(WlR}QbUZ?D zXDf~*Hn(t$j}rr%%PA$Xg?1*hx%}YH*oGn=KmT)QJ*5;qgW)OYWJ(F9^db}L;@hJe z{pjIq_B5{X_bv4LDW(`%8ht1*9Yw}iOIE=RKSjY^{jm3vJq%SQ+xZNN5KnpEh{+pR zz`s}`Sd<|5$v>G+%=`x3Z-0o>!>Tf*#kI~y=#Fbck#@B|6_0#`Gr%@d4g5OSfEybc zQ~4VW+tqCh2@FTtBik4j_yx|$(dPtyhs>}Z*EZYrZA{8(_Sbkl_h3kS{QOV-+qlYC zo+hbK{pt>}s$k*@&N8Zg9ATm-aE?_xPa4t~#>*Jv_2Cv?!3t*;jAETDvhug6tCMKM z5)+T`)_BGzNaK1dmQiHQndP1??(gYhy{3yOJe1(j_YvBciLVm*Ri8)=?{Ie;ISbHS zq6JnJT1iEng8H0}B08=Kq2nbT=LPT-r=OvT^O2{_C`Y@x*mzA1#3s%Xqmj>Ur*_5@ zYMy_8k82Hn1(cykTuVH{rMTAd5Ru2YpbY8CP&BS{u_vx~`it>)H69s^M^kZaFs=_= z-H3_}ou&EfMnw2E+G$sRNe4j-4N~R6Mb0i!2pKBxGSxLnnqMQWSNO@|bFRQH@oOqHMq`Smj7VoJjXLk}Z0BkLuf4;~LrEn$)ap_<5gnh5lz) zz}Xs!-H1LXi0+d})<`AL{0y29%}4$Lt%3hqV)6wMsF%#E`~Y1kh2r&FEX(HWs5M^) zn=iS%g*lmga4O0F_W*-z^$UJd!FkcO7i^cWAHFXb$9?~F%F$kB_+Mq%U-NOkj&JZ+ Z9u?o_+BdO*P5h86F|PawKf%w?{%=R!E4lyx literal 0 HcmV?d00001 diff --git a/emelyanov_artem_lab_6/out/production/emelyanov_artem_lab_6/MatrixGenerator.class b/emelyanov_artem_lab_6/out/production/emelyanov_artem_lab_6/MatrixGenerator.class new file mode 100644 index 0000000000000000000000000000000000000000..215c344bb2b680a9532aa5b21c79758ee673a62d GIT binary patch literal 586 zcmZ8fNlF7j6n)j*rjr=slsLr15g}19!L0*=q6kqJiXd54Vxtw4Zt1ilu3dWwH{woL ziVJscJcJkU2IBN85d;hB&;P$y!^_v>6M$umM`6IUVa3pfkU&>ep2~bpx(E5Ka@DB> z0-<^3s$fyT%;t7&glUvY>rq6}ZX*^$2jT+pzrGC_9J0%o?!H%VcCCb#_K3!1qeq~V z6}~!Kb6m%lf#(ZY%ig}jL{YiU=1INm_&c&(W2C3(Rb*{f`bzu1K`S^^4T0|Bzd3WH zanKs-v{IyzUC)uNfT(h7tq9jp=NulYH+cwjYzMM(v>}gw0ixU9iC=M6m8OvRhccs2 ziZOKa;`A~g^wm-J(#ul|>b9wSh`VMwL8;T=PEy8N1?WRRy$A*{$cS#fVVy-?NTr@( z8%1*=ow~w=xtO8qn@-PW9uP^O^XPKx!W7rvZx;sT>+~&qOlX{8-mtd$poo)Jk`u?N zv-D?(rSYd|cM&y(Ay!5(i8L*Jm;y4i^eg2!DNI%)^m<`^B4Wc9AN(Qj=zr%xfl;Om GjQs%X5^C@O literal 0 HcmV?d00001 diff --git a/emelyanov_artem_lab_6/out/production/emelyanov_artem_lab_6/Readme.md b/emelyanov_artem_lab_6/out/production/emelyanov_artem_lab_6/Readme.md new file mode 100644 index 0000000..22697fb --- /dev/null +++ b/emelyanov_artem_lab_6/out/production/emelyanov_artem_lab_6/Readme.md @@ -0,0 +1,6 @@ +# Поиск детерминанта + +Данная работа посвящена реализации и сравнению последовательного и параллельного алгоритмов поиска детерминанта матриц на языке Java. Целью является оценка производительности при использовании разного числа потоков. + +## Результаты: +