diff --git a/tasks/plaksina-av/lab_6/README.md b/tasks/plaksina-av/lab_6/README.md
new file mode 100644
index 0000000..702ebe2
--- /dev/null
+++ b/tasks/plaksina-av/lab_6/README.md
@@ -0,0 +1,79 @@
+# Отчет по лабораторной работе №6
+
+Выполнила студентка гр. ИСЭбд-41 Плаксина А.В.
+
+# Описание работы приложения
+
+Приложение реализовнао на языке питон, использована среда PyCharm для разработки.
+
+Это консольное приложение, которое вычисляет детерминант матриц. Задается размерность матрицы, элементы генерируются рандомно (указываетя только диапазон их значений), количество 
+
+Код реализующий заполнение данных: 
+
+```cs
+if __name__ == "__main__":
+    matrix_size = 10  # размер матрицы
+    lower_limit = 5  # числа в матрице от
+    upper_limit = 15  # и до
+    processes = [2, 4, 8, 16, 32]
+    #
+    # последовательное вычисление
+    sequential_determinant_calculation(matrix_size, lower_limit, upper_limit)
+
+    # параллельное вычисление
+    for i in processes:
+        print("Потоков " + str(i))
+        parallel_determinant_calculation(matrix_size, lower_limit, upper_limit, i)
+```
+
+Код реализующий последовательное вычисление детерминанта матриц: 
+
+```cs
+def sequential_determinant_calculation(matrix_size, lower_limit, upper_limit):
+    random_matrix = generate_random_matrix(matrix_size, lower_limit, upper_limit)
+
+    start_time = time.time()
+    result = determinant(random_matrix)
+    end_time = time.time()
+
+    print(f"Последовательный детерминант: {result}")
+    print(f"Последовательное время: {end_time - start_time} секунд")
+
+```
+Код реализующий параллельное вычисление детерминанта матриц: 
+
+```cs
+def parallel_determinant_calculation(matrix_size, lower_limit, upper_limit, num_processes):
+    random_matrix = generate_random_matrix(matrix_size, lower_limit, upper_limit)
+
+    matrices_to_process = [submatrix(random_matrix, 0, col) for col in range(matrix_size)]
+
+    start_time = time.time()
+    with Pool(processes=num_processes) as pool:
+        determinants = pool.map(determinant, matrices_to_process)
+
+    result = sum(((-1) ** col) * random_matrix[0][col] * det for col, det in enumerate(determinants))
+    end_time = time.time()
+
+    print(f"Параллельный детерминант: {result}")
+    print(f"Параллельное время: {end_time - start_time} секунд")
+
+
+```
+# Бенчмаркинг
+
+Для матриц болших размеров детерминант вычисляется очень долгое время, поэтому для примера я взяла размерность матрица 10х10
+
+Результаты бенчмаркинга для последовательного способа вычисления детерминанта матриц:
+
+![](photo/ph32.jpg)
+
+Результаты бенчмаркинга для параллельного способа вычисления детерминанта матриц с различным количеством потока:
+
+![](photo/ph31.jpg)
+
+# Вывод
+
+Скорость обработки у параллельного способа значительно выше, чем у последовательного
+
+При увеличении количества потоков время обработки сначала снижается, затем, по примеру, начиная с 16 потока, время опять увеличивается, так как потоков становится слишком много.
\ No newline at end of file
diff --git a/tasks/plaksina-av/lab_6/determinant.py b/tasks/plaksina-av/lab_6/determinant.py
new file mode 100644
index 0000000..0487924
--- /dev/null
+++ b/tasks/plaksina-av/lab_6/determinant.py
@@ -0,0 +1,71 @@
+import random
+from multiprocessing import Pool
+import time
+
+
+def submatrix(matrix, row, col):
+    return [[matrix[i][j] for j in range(len(matrix[i])) if j != col] for i in range(len(matrix)) if i != row]
+
+
+def determinant(matrix):
+    size = len(matrix)
+
+    # Простой случай: детерминант матрицы 1x1
+    if size == 1:
+        return matrix[0][0]
+
+    # Простой случай: детерминант матрицы 2x2
+    if size == 2:
+        return matrix[0][0] * matrix[1][1] - matrix[0][1] * matrix[1][0]
+
+    det = 0
+    for col in range(size):
+        det += ((-1) ** col) * matrix[0][col] * determinant(submatrix(matrix, 0, col))
+
+    return det
+
+
+def generate_random_matrix(size, lower_limit, upper_limit):
+    return [[random.uniform(lower_limit, upper_limit) for _ in range(size)] for _ in range(size)]
+
+
+def sequential_determinant_calculation(matrix_size, lower_limit, upper_limit):
+    random_matrix = generate_random_matrix(matrix_size, lower_limit, upper_limit)
+
+    start_time = time.time()
+    result = determinant(random_matrix)
+    end_time = time.time()
+
+    print(f"Последовательный детерминант: {result}")
+    print(f"Последовательное время: {end_time - start_time} секунд")
+
+
+def parallel_determinant_calculation(matrix_size, lower_limit, upper_limit, num_processes):
+    random_matrix = generate_random_matrix(matrix_size, lower_limit, upper_limit)
+
+    matrices_to_process = [submatrix(random_matrix, 0, col) for col in range(matrix_size)]
+
+    start_time = time.time()
+    with Pool(processes=num_processes) as pool:
+        determinants = pool.map(determinant, matrices_to_process)
+
+    result = sum(((-1) ** col) * random_matrix[0][col] * det for col, det in enumerate(determinants))
+    end_time = time.time()
+
+    print(f"Параллельный детерминант: {result}")
+    print(f"Параллельное время: {end_time - start_time} секунд")
+
+
+if __name__ == "__main__":
+    matrix_size = 10  # размер матрицы
+    lower_limit = 5  # числа в матрице от
+    upper_limit = 15  # и до
+    processes = [2, 4, 8, 16, 32]
+    #
+    # последовательное вычисление
+    #sequential_determinant_calculation(matrix_size, lower_limit, upper_limit)
+
+    # параллельное вычисление
+    for i in processes:
+        print("Потоков " + str(i))
+        parallel_determinant_calculation(matrix_size, lower_limit, upper_limit, i)
\ No newline at end of file
diff --git a/tasks/plaksina-av/lab_6/photo/ph31.jpg b/tasks/plaksina-av/lab_6/photo/ph31.jpg
new file mode 100644
index 0000000..d4dc0c8
Binary files /dev/null and b/tasks/plaksina-av/lab_6/photo/ph31.jpg differ
diff --git a/tasks/plaksina-av/lab_6/photo/ph32.jpg b/tasks/plaksina-av/lab_6/photo/ph32.jpg
new file mode 100644
index 0000000..5478f65
Binary files /dev/null and b/tasks/plaksina-av/lab_6/photo/ph32.jpg differ