18528

Способы хранения разреженных матриц

Доклад

Информатика, кибернетика и программирование

Способы хранения разреженных матриц Разреженные матрицы целесообразно хранить таким образом чтобы обеспечить экономию памяти и числа операций необходимы для преобразования матрицы в процессе решения линейной системы а также простоту доступа к любому элементу ма

Русский

2013-07-08

79.5 KB

51 чел.

Способы хранения разреженных матриц

Разреженные матрицы целесообразно хранить таким образом, чтобы обеспечить экономию памяти и числа операций, необходимы для преобразования матрицы в процессе решения линейной системы, а также простоту доступа к любому элементу матрицы при формировании системы.

Преобразование разреженной матрицы к верхней треугольной форме (преобразование Гаусса в процессе решения его методом) в общем случае ведет к появлению новых ненулевых элементов (ННЭ). Поэтому при хранении разреженной матрицы места для ННЭ должны быть зарезервированы заранее, либо схема должны позволять легко вводить новые элементы. Определение позиций ННЭ производится с помощью моделирования процесса преобразования матрицы, которое проводится один раз перед началом работы основной программы, так как структура разреженности не изменяется при анализе схемы (возможность появления нулей, как правило, игнорируется).

Разработано несколько способов, обеспечивающих компромисс между противоречивыми требованиями экономии памяти и времени вычислений. Выбор того или иного способа зависит от специфики задачи и особенностей ЭВМ, на которой решается задача.

Рассмотрим некоторые способы упакованного хранения разреженных матриц.

Первый способ.

Все ненулевые элементы  записываются построчно, а одномерном массиве А. Формируется два указательных массива LJ и LI. В массив LJ записываются номера столбцов ненулевые элементов  в том же порядке, в каком элементы  записаны в массиве А. В массив LI записываются относительные адреса в массиве А первых ненулевых элементов каждой стоки. Длина массивов А и LJ равна общему количеству ненулевых элементов матрицы, длина массива LI равна N. Для матрицы

 

массивы А, LJ и LI имеют вид

LJ =  1   2   1   2   4   3   4   2   3   4  5  4   5

                                           LI =  1   3   6   8   12 .

Второй способ.

Использование однородного координатного базиса при формировании уравнений схемы приводит к тому, что матрица А оказывается структурно-симметричной, т.е. если , то и . В этом случае удобно применять следующую схему хранения.

Диагональные элементы  записываются в массив AD, ненулевые элементы  (j>i) – по строкам в массив AU, а ненулевые элементы (i>j) – по столбцам в массив AL.

Организуются два указательных массива LJ и LI. В массив LJ записываются номера столбцов (строк) элементов из массива AU (AL), а в массив LI – относительные адреса первых в строке (столбце) ненулевых элементов из массива AU (AL).  Для матрицы

                                                           

                                                           

                                                            LJ = 2 4 4 5

                                                            LI = 1 2 3 4

Очевидно, преимущество этого способа хранения перед первым спросом заключается в том, что массив LJ более чем в два раза короче. Кроме того, использование структурной симметрии позволяет значительно уменьшить количество вспомогательных операций при Гауссовском  исключении. Поиск элемента с заданными индексами осуществляется по тому же алгоритму, что и в первом способе, но среднее время поиска будет в два раза меньше. Наконец, при формировании матрицы узловых проводимостей нужно определять подряд позиции четырех элементов , ,  и . Определения позиций диагональных элементов вообще не требует поиска, а определение позиций элементов  и  требует только одного поиска.  Поэтому среднее время формирования матрицы будет приблизительно в 8 раз меньше, чем при использовании первого способа.

Третий способ.

Описанные выше способы хранения не позволяют легко вводить новые ненулевые элементы, так как это ведет к сдвигу последующих элементов массивов. От этого недостатка свободна схема упаковки, использующая связные списки.

Поставим в соответствие каждому ненулевому элементу  два числа: номер столбца j и относительный адрес k в массиве А следующего ненулевого элемента i-й строки. Если элемент  - последний в строке, то k = 0. Порядок расположения в памяти записей (, j, k) несуществен. Обозначим LJ и KM массивы, в которых записываются числа j и k соответственно. Тогда для матрицы

заполнение массивов имеет следующий вид:

Если необходимо ввести новый ненулевой элемент, например , достаточно к массивам A, LJ и KM добавить запись , а в 8–й ячейке массива KM заменить 0 на 14. кроме удобства введения ННЭ, этот способ не имеет других преимуществ перед выше рассмотренными. Наоборот, применение связных списков увеличивает затраты памяти и несколько усложняет поиск элементов.

Если имеется возможность оперировать только частью ячейки памяти, то для записи чисел j и k можно использовать одну ячейку. В таком случае можно также дополнить список адресами следующих ненулевых элементов столбца. Это уменьшит количество вспомогательных операций при решении системы.

С точки зрения быстродействия эффективность программы будем характеризовать величиной   где и  - время выполнения основных и вспомогательных операций.

Экономичность алгоритма с точки зрения затрат оперативной памяти будем оценивать величиной  где  - количество ненулевых элементов в матрице с учетом появления ННЭ;  - количество ячеек, необходимых для хранения указательных массивов и команд программы решения.

Разреженность матриц будем характеризовать средним числом ненулевых элементов в строках  матрицы справа от главной диагонали . Таким образом, общее количество ненулевых элементов в матрице

 


 

А также другие работы, которые могут Вас заинтересовать

20906. Захист прав і свобод людини та громадянина в міжнародному і національному законодавстві 198 KB
  Правовий статус громадян виражає її соціально-економічне і політичне становище в державі й суспільстві, а також можливості для реалізації прав і свобод та покращення свого становища за допомогою права і законодавства. Держава і суспільство зацікавлені і значною мірою стимулюють правомірну діяльність і поведінку особи.
20907. Бизнес-план ЗАО «Пивзавод «Архар» 256 KB
  ЗАО «Пивзавод «Архар», производство пива по традиционно русским рецептам. В состав используемых помещений входят: цех для основного производства, кухня, пивбар. Также к основным фондам относится земельный участок, занимаемый данным предприятием
20908. Фінансовий облік, конспект лекцій 289.5 KB
  Фінансовий облік - це комплексний синтетичний облік усіх засобів та грошових коштів і всієї економічної діяльності підприємства, фірми, організації, установи. До його складу входять аналітичний облік розрахунків з постачальниками і покупцями, іншими організаціями та особами
20910. Исследование вращающихся трансформаторов 619 KB
  Основные теоретические сведения Вращающиеся поворотные трансформаторы ВТ – электрические информационные микромашины переменного тока предназначенные для преобразования угла поворота в напряжение пропорциональное некоторым функциям угла например синусу или косинусу или самому углу поворота ротора. Вращающиеся трансформаторы используются в системах дистанционной передачи ДП угла повышенной точности; в качестве датчиков угла; счетнорешающих элементов аналоговых и аналоговоцифровых вычислительных устройств для решения геометрических...
20911. Исследование однофазных сельсинов 417.5 KB
  Систему синхронной связи передающую электрическим путем на расстояние угловые перемещения называют системой передачи угла или синхронного поворота. В системах электрического вала применяют трехфазные сельсины а в системах передачи угла – однофазные сельсины. В зависимости от величины погрешности в индикаторной системе передачи угла сельсины делятся на четыре класса точности см. Параметр точности Класс точности 1 2 3 4 Погрешность следования в дистанционной передаче угла в индикаторном режиме угл.
20912. Исследование феррозондов 179 KB
  Это изменение достигается магнитным воздействием на сердечник с помощью обмоток возбуждения подключенных к источнику переменного тока. Здесь w1в и w2в – обмотки возбуждения включенные встречно wвых – выходная сигнальная обмотка. Встречное включение обмоток возбуждения расположенных симметрично относительно середины сердечника обеспечивает развязку цепей возбуждения и выхода и позволяет свести к минимуму величину выходного напряжения в отсутствие внешнего поля. При подаче в обмотки возбуждения переменного напряжения uв=uвмsint магнитная...
20913. Исследование статических тяговых характеристик силового электромагнита 265.5 KB
  При протекании тока по обмотке 3 электромагнита создается магнитный поток который проходит по магнитопроводу паразитному и рабочему воздушному зазорам. В последнем создается электромагнитная сила стремящаяся притянуть якорь электромагнита к стопу. Электромагнитное усилие определяется зависимостью 1 где коэффициент зависящий от конструктивных особенностей электромагнита; ток в обмотке; количество витков обмотки; зазор.
20914. Ознакомление с конструкциями и схемами включения электромагнитных реле 327.5 KB
  Основные теоретические сведения Реле – это устройство в котором при достижении входной величиной определенного значения скачкообразно изменяется выходная величина. В зависимости от того на какое физическое явление реагирует воспринимающая система реле подразделяют на электромагнитные оптические химические механические пневматические и др. Реле используются для управления режимами работы аппаратуры или отдельных ее блоков систем устройств приборов и элементов а также для усиления преобразования контроля запоминания кодирования и...