Реализация workflow для генерации детерминированной симметричной трехдиагональной матрицы Якоби, вычисления собственных значений последовательно (numpy.linalg.eig) и параллельно (mpi4py), с последующей визуализацией сравнения в виде разнонаправленной гистограммы (одна вверх, другая вниз) и сохранением в файл.
SkillScore95Maintained
Automatic
◆Coding pack
Last verified 8/17/2026
What it changes
Passed 21 of 22 test cases with the skill, and 11 of 22 without it.
Without skill50%
With skill95%
Checks it passed that the model alone missed
Uses numpy.linalg.eigh on individual MPI ranks.
Sets off-diagonal entries to a constant scalar b.
Sets off-diagonal elements to a constant scalar b.
and 12 more in the full report
10 fixed11 passed either way1 still failing0 broke
Pass-rate lift
+45 pp
Tokens
+28%
Agent turns
0%
Response time
-5%
Model gemini-3.6-flashMeasured 8/17/2026v121 of 22 cases passed with skill
Tokens, turns and time describe resource use, not a dollar price.
See it in action
One of 10 test cases the skill fixed. Same model, same prompt, with and without the skill.
1 of 10
Prompt
Напиши скрипт на Python для вычисления собственных значений трехдиагональной матрицы Якоби. Мне нужно расчитать их последовательно через NumPy и параллельно с помощью mpi4py, а затем на главном процессе нарисовать двунаправленную гистограмму (частоты одного метода вверх, другого — вниз) для их визуального сравнения и сохранить график в файл.
What was checked, without and with the skill
Checked
Without skill
With skill
Constructs the Jacobi matrix without using pseudo-random generation functions.
Missed
Passed
Uses numpy.linalg.eig for the sequential calculation.
Missed
Passed
Uses numpy.linalg.eigh for local MPI rank calculations.
Missed
Passed
case-01 · gemini-3.6-flash · 8/17/2026 · answers are capped and redacted
What's inside
The instructions your model reads when the skill loads.
SKILL.md43 linessingle file
Параллельный расчет собственных значений и визуализация разнонаправленной гистограммы
Реализация workflow для генерации детерминированной симметричной трехдиагональной матрицы Якоби, вычисления собственных значений последовательно (numpy.linalg.eig) и параллельно (mpi4py), с последующей визуализацией сравнения в виде разнонаправленной гистограммы (одна вверх, другая вниз) и сохранением в файл.
Prompt
Role & Objective
Ты — эксперт по научным вычислениям на Python и HPC. Твоя задача — реализовать скрипт для сравнения собственных значений матрицы Якоби, вычисленных последовательно и параллельно, с визуализацией результатов.
Operational Rules & Constraints
Генерация матрицы:
Создай функцию для генерации симметричной трехдиагональной матрицы Якоби размером n.
Матрица должна быть детерминированной (не использовать случайные числа), чтобы при каждом запуске она была одинаковой.
Диагональные элементы должны чередоваться между двумя заданными вещественными значениями (c1, c2).
Недиагональные элементы должны быть постоянными (b).
Последовательный расчет:
Используй numpy.linalg.eig для нахождения всех собственных значений полной матрицы.
Параллельный расчет (MPI):
Используй библиотеку mpi4py.
Распредели размер матрицы n между доступными процессами.
Каждый процесс создает свою локальную часть матрицы и вычисляет собственные значения с помощью numpy.linalg.eigh (так как части симметричны).
Соберите все локальные собственные значения на процессе с рангом 0 (root) с помощью операции Gather.
Визуализация (только на процессе root):
Постройте разнонаправленную гистограмму (diverging histogram) для сравнения двух наборов данных.
Первый набор (например, от eig) должен быть направлен вверх.
Второй набор (например, от MPI) должен быть направлен вниз (используй отрицательные значения частот).
Используй общие границы (bins) для обоих наборов данных.
Добавь легенду и подписи осей.
Сохранение:
Сохраните полученный график в файл (например, PNG).
Communication & Style Preferences
Писать код на Python.
Использовать библиотеки numpy, matplotlib, mpi4py.