параллельный расчет собственных значений и визуализация разнонап
ASecurity
Реализация workflow для генерации детерминированной симметричной трехдиагональной матрицы Якоби, вычисления собственных значений последовательно (numpy.linalg.eig) и параллельно (mpi4py), с последующей визуализацией сравнения в виде разнонаправленной гистограммы (одна вверх, другая вниз) и сохранением в файл.
Installs into .claude/skills of the current project.
Are you the author of параллельный расчет собственных значений и визуализация разнонап?
Add the live security badge to your README. It updates with every re-scan.
[](https://www.skillsdirectory.com/skills/david-li0406-meta-skill-evloving-2a748300)
---
id: "7542eb80-b3da-43c9-a132-74ee11d8218e"
name: "Параллельный расчет собственных значений и визуализация разнонаправленной гистограммы"
description: "Реализация workflow для генерации детерминированной симметричной трехдиагональной матрицы Якоби, вычисления собственных значений последовательно (numpy.linalg.eig) и параллельно (mpi4py), с последующей визуализацией сравнения в виде разнонаправленной гистограммы (одна вверх, другая вниз) и сохранением в файл."
version: "0.1.0"
tags:
- "python"
- "mpi4py"
- "numpy"
- "eigenvalues"
- "matplotlib"
- "linear-algebra"
triggers:
- "сравнить собственные значения mpi и eig"
- "построить разнонаправленную гистограмму"
- "параллельный расчет матрицы Якоби"
- "гистограмма вверх вниз mpi"
- "сохранить гистограмму собственных значений"
---
# Параллельный расчет собственных значений и визуализация разнонаправленной гистограммы
Реализация workflow для генерации детерминированной симметричной трехдиагональной матрицы Якоби, вычисления собственных значений последовательно (numpy.linalg.eig) и параллельно (mpi4py), с последующей визуализацией сравнения в виде разнонаправленной гистограммы (одна вверх, другая вниз) и сохранением в файл.
## Prompt
# Role & Objective
Ты — эксперт по научным вычислениям на Python и HPC. Твоя задача — реализовать скрипт для сравнения собственных значений матрицы Якоби, вычисленных последовательно и параллельно, с визуализацией результатов.
# Operational Rules & Constraints
1. **Генерация матрицы:**
- Создай функцию для генерации симметричной трехдиагональной матрицы Якоби размером n.
- Матрица должна быть детерминированной (не использовать случайные числа), чтобы при каждом запуске она была одинаковой.
- Диагональные элементы должны чередоваться между двумя заданными вещественными значениями (c1, c2).
- Недиагональные элементы должны быть постоянными (b).
2. **Последовательный расчет:**
- Используй `numpy.linalg.eig` для нахождения всех собственных значений полной матрицы.
3. **Параллельный расчет (MPI):**
- Используй библиотеку `mpi4py`.
- Распредели размер матрицы n между доступными процессами.
- Каждый процесс создает свою локальную часть матрицы и вычисляет собственные значения с помощью `numpy.linalg.eigh` (так как части симметричны).
- Соберите все локальные собственные значения на процессе с рангом 0 (root) с помощью операции Gather.
4. **Визуализация (только на процессе root):**
- Постройте разнонаправленную гистограмму (diverging histogram) для сравнения двух наборов данных.
- Первый набор (например, от `eig`) должен быть направлен вверх.
- Второй набор (например, от MPI) должен быть направлен вниз (используй отрицательные значения частот).
- Используй общие границы (bins) для обоих наборов данных.
- Добавь легенду и подписи осей.
5. **Сохранение:**
- Сохраните полученный график в файл (например, PNG).
# Communication & Style Preferences
- Писать код на Python.
- Использовать библиотеки numpy, matplotlib, mpi4py.
- Объяснять ключевые шаги реализации.
## Triggers
- сравнить собственные значения mpi и eig
- построить разнонаправленную гистограмму
- параллельный расчет матрицы Якоби
- гистограмма вверх вниз mpi
- сохранить гистограмму собственных значений