<?xml version="1.0" encoding="UTF-8"?>
<TEI xml:space="preserve" xmlns="http://www.tei-c.org/ns/1.0" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xsi:schemaLocation="http://www.tei-c.org/ns/1.0 https://raw.githubusercontent.com/kermitt2/grobid/master/grobid-home/schemas/xsd/Grobid.xsd"
 xmlns:xlink="http://www.w3.org/1999/xlink">
	<teiHeader xml:lang="ru">
		<fileDesc>
			<titleStmt>
				<title level="a" type="main">Параллельный алгоритм разреженного QR разложения для прямоугольных верхних квази-треугольных матриц со структурой типа вложенных сечений</title>
			</titleStmt>
			<publicationStmt>
				<publisher/>
				<availability status="unknown"><licence/></availability>
			</publicationStmt>
			<sourceDesc>
				<biblStruct>
					<analytic>
						<author>
							<persName><forename type="first">С</forename><forename type="middle">А</forename><surname>Харченко</surname></persName>
						</author>
						<title level="a" type="main">Параллельный алгоритм разреженного QR разложения для прямоугольных верхних квази-треугольных матриц со структурой типа вложенных сечений</title>
					</analytic>
					<monogr>
						<imprint>
							<date/>
						</imprint>
					</monogr>
					<idno type="MD5">BEFBC9B684EEB667295814155AEC5B60</idno>
				</biblStruct>
			</sourceDesc>
		</fileDesc>
		<encodingDesc>
			<appInfo>
				<application version="0.7.2" ident="GROBID" when="2023-03-24T04:05+0000">
					<desc>GROBID - A machine learning software for extracting information from scholarly documents</desc>
					<ref target="https://github.com/kermitt2/grobid"/>
				</application>
			</appInfo>
		</encodingDesc>
		<profileDesc>
			<abstract>
<div xmlns="http://www.tei-c.org/ns/1.0"><p>ООО "ТЕСИС", Вычислительный Центр РАН В работе рассматривается параллельный алгоритм вычисления разреженного QR разложения специальным образом упорядоченной прямоугольной матрицы на основе разреженных блочных преобразования Хаусхолдера. Для построения необходимого упорядочивания можно использовать столбцевое упорядочивание типа вложенных сечений, построенное по структуре матрицы A T A, где Aисходная прямоугольная матрица. Для сеточных задач упорядочивание может быть построено на основе известного объемного биения расчетной сетки. В качестве базового алгоритма для организации параллельных вычислений используется QR разложение для наборов строк матрицы с дополнением в виде нулевого начального блока. Алгоритм предполагается использовать в качестве вычислительного ядра разрабатываемых автором параллельных итерационных алгоритмов решения СЛАУ и задач наименьших квадратов на основе композиции подпространств, порождаемых разреженными базисами.</p></div>
			</abstract>
		</profileDesc>
	</teiHeader>
	<text xml:lang="ru">
		<body>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="1.">Введение</head><p>QR разложение прямоугольной матрицы является одним из базовых вычислительных алгоритмов для многих задач вычислительной математики. В частности, подобные вычисления возникают при решении СЛАУ, при решении задач наименьших квадратов и задач на собственные значения <ref type="bibr" target="#b0">[1]</ref>, и т.д. Возможность эффективно параллельным образом вычислять QR разложение разреженной матрицы в некоторых случаях означает возможность использования новых классов вычислительных алгоритмов, и поэтому подобные разработки представляют конкретный практический интерес.</p><p>В современной вычислительной практике существенное использование разреженности матрицы зачастую является практически единственным способом эффективного решения задач большой размерности. Относительно давно научились эффективно использовать разреженность вычислений при параллельном вычислении традиционных полных треугольных разложений типа LU разложения <ref type="bibr" target="#b1">[2]</ref> (разложения Холецкого в симметричном случае) и при вычислении их неполных вариантов <ref type="bibr" target="#b2">[3]</ref>. Что касается параллельного разреженного QR разложения, то эта тематика получила особое развитие относительно недавно, прежде всего в работах <ref type="bibr" target="#b3">[4]</ref>, <ref type="bibr" target="#b4">[5]</ref> Тима Дэвиса с соавторами. В этих работах предложен мульти-фронтальный алгоритм построения QR разложения, в котором параллельно вычисляемые разреженные профильные блочно строчные QR разложения по дереву вычислений комбинируются группами для формирования объединяющих QR разложений. В данной работе рассматриваются идейно близкие алгоритмы параллельного вычисления разреженного QR разложения матрицы. Основные отличия предлагаемого в работе подхода состоят в следующем:</p><p>за счет введения начального нулевого блока вычисления проводятся по возможности с более разреженными Q факторами;</p><p>введено дополнительное строчное упорядочивание и биение, которое позволяет дополнительно уменьшить связность вычислений и заполнение Q факторов;</p><p>предложен алгоритм построения представления матрицы, удобного для параллельного вычисления разреженного QR разложения, на основе объемного биения расчетной сетки.</p><p>Данная работа является теоретической основой для практической работы <ref type="bibr" target="#b5">[6]</ref>, содержащей описание реализации алгоритма на гибридной параллельной MPI+threads+SIMD архитектуре и начальные результаты экспериментов на такой архитектуре для тестовых задач. Также работа является базовой для планируемой серии работ автора по новым параллельным итерационным алгоритмам решения СЛАУ и задач наименьших квадратов на основе композиции подпространств, порождаемых разреженными базисами.</p><p>Работа построена следующим образом. В Разделе 2 описывается блочное преобразование Хаусхолдера <ref type="bibr" target="#b6">[7]</ref> и его применение для профильной разреженной QR факторизации прямоугольной матрицы, аналогичной используемым в работах <ref type="bibr" target="#b3">[4]</ref>, <ref type="bibr" target="#b4">[5]</ref>. В Разделе 3 описывается алгоритм вычисления расширенного профильного разреженного QR разложения с более разреженным во многих практических случаях Q фактором для матрицы, расширенной квадратным нулевым начальным блоком. Проводится сравнение профильного и расширенного профильного разреженного QR разложения для некоторых матриц. В Разделе 4 описывается построение QR разложения матрицы в случае строчного биения матрицы. В Разделе 5 вводится понятие верхней квази-треугольной матрицы с разреженностью типа вложенных сечений и приводится параллельный алгоритм вычисления разреженного QR разложения для такой матрицы. В Разделе 6 описывается способ вычисления столбцевого и строчного упорядочиваний и биений, которые приводят матрицу, заданную на объемной сетке с известным объемным геометрических биением, к виду верхней квази-треугольной матрицы с разреженностью типа вложенных сечений.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="2.">Блочное преобразование Хаусхолдера и профильное разреженное QR разложение</head></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="2.1">Блочное преобразование Хаусхолдера</head><p>Классическое преобразование Хаусхолдера -это унитарная матрица вида <ref type="bibr" target="#b0">[1]</ref>: </p><formula xml:id="formula_0">, (<label>2.1)</label></formula></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="2.2">Профильное разреженное QR разложение</head><p>Блочные преобразования Хаусхолдера (2.4) можно применить для вычисления разреженного QR разложения разреженной матрицы , составленной из мелко блочных столбцов. Для этого можно поступить например следующим образом. Для минимизации заполнения R-фактора QR разложения вычисляем структуру разреженности матрицы и вычисляем упорядочивание, минимизирующее заполнение матрицы с такой структурой при ее треугольной факторизации. Можно выбрать, например, упорядочивание вложенных сечений ND или упорядочивание RCM <ref type="bibr" target="#b1">[2]</ref>. Это определяет упорядочивание мелко блочных столбцов матрицы . Далее упорядочивание мелко блочных строк можно выбрать последовательно нумеруя сначала элементы первого столбца , потом второго, и т.д. Переупорядоченная таким образом матрица будет иметь вид типа приведенного на Рисунке 1 слева. В качестве базового столбцевого упорядочивания для этой матрицы было выбрано упорядочивание ND.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>Рис. 1. Структуры разреженности матрицы и ее Q-и R-факторов для тестовой задачи</head><p>Суперкомпьютерные дни в России 2015 // Russian Supercomputing Days 2015 // RussianSCDays.org При построении так называемого профильного разреженного QR разложения таким образом упорядоченной мелко блочной матрицы будем действовать по аналогии со случаем плотной матрицы. По первому мелко блочному столбцу матрицы строим разреженное блочное преобразование Хаусхолдера с разреженностью столбца такой, чтобы обнулить мелкие блоки матрицы под первой блочной диагональю. Применяем транспонированное блочное преобразование Хаусхолдера ко второму мелко блочному столбцу, для полученного результата строим следующее разреженное блочное преобразование Хаусхолдера для обнуления элементов под второй мелко блочной диагональю, и т.д. На Рис. 1 справа показана мелко блочная разреженность Q-и R-факторов QR разложения для матрицы слева. Для этого теста заметно довольно сильное заполнение в Q-факторе внутри соответствующего профиля матрицы.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="3.">Расширенное профильное разреженное QR разложение</head><p>Профильное разреженное QR разложение матрицы, описанное выше, не является единственным вариантом построения QR разложения. Существует вариант, для которого более естественным образом выделяется его параллельная структура, и который во многих практически важных случаях приводит к меньшему заполнению в факторе Q. Это так называемое расширенное профильное QR разложение.</p><p>Схематически профильное и расширенное профильное QR изображены на Рисунке 2. Фактически расширенное профильное QR разложениеэто профильное QR разложение, примененное к матрице, расширенной сверху нулевым квадратным блоком. При этом структура разреженности Q фактора пополняется возможными дополнительными элементами на месте бывшего фактора R, и отсоединенными диагональными элементами, примыкающими к новому R фактору. Дополнительное заполнение блочных преобразований Хаусхолдера Q-фактора в над-диагональной части расширенного профильного QR разложения может быть значительным, как это уже было показано выше. Тем не менее, в частном случае матриц с числом строк значительно превышающем число столбцов этим дополнительным заполнением можно пренебречь на фоне возможного избыточного внутри профильного под-диагонального заполнения из-за взаимодействий преобразований Хаусхолдера на диагональном элементе. В контексте интересующих автора приложений число столбцов всегда будет суммарно в сотни и тысячи раз меньше числа строк, поэтому в последующей части изложения в качестве базового разложения будет использоваться только расширенное профильное QR разложение. Расширенное профильное QR разложение имеет еще одно естественное структурное преимущество. Если число строк в матрице меньше числа столбцов (что редко, но случается в приложениях из-за, например, дополнительного строчного биения матрицы), то в этом случае в профильном разложении нужно делать что-то искусственное, в то время как в расширенном разложении это не приводит к особым ситуациям. </p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="4.">QR разложение матрицы с заданным строчным биением</head></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="5.">Верхняя квази-треугольная матрица с разреженностью типа вложенных сечений и параллельный алгоритм построения ее QR разложения</head><p>Описанный в предыдущем разделе параллельный алгоритм вычисления QR разложения по блочным строкам можно сделать эффективным за счет использования дополнительной столбцевой разреженности матрицы.</p><p>Для начала рассмотрим двух-уровневую организацию вычислений для прямоугольной матрицы со структурой разреженности, изображенной на Рисунке 5 слева. Пусть число мелко блочных столбцов в матрицах , и равны соответственно , и соответственно, . Обобщая этот алгоритм на общий случай введем следующее определение. Определение 1. Прямоугольную мелко блочную матрицу с введенным на ней блочным строчным и столбцевым биениями будем называть верхней квази-треугольной -уровневой матрицей о труктурой разреженно ти типа вложенных ечений, если в терминах крупных блоков матрица является квадратной верхней треугольной и имеет структуру разреженности типа вложенных сечений, описываемой -уровневым деревом зависимостей вычислений.</p><p>В частности, матрица на Рисунке 5 слева в терминах Определения 1 является двух уровневой верхней квази-треугольной с двух уровневым бинарным деревом зависимостей вычислений. Аналогично, матрица на Рисунке 5 справа является трех уровневой верхней квази-треугольной с трех уровневым бинарным деревом зависимостей вычислений.</p><p>Как следует из предыдущего изложения, для эффективного вычисления QR разложения верхних квази-треугольных матриц с разреженностью типа вложенных сечений можно использовать следующий параллельный алгоритм:</p><p>1. Параллельно и независимо для каждой блочной строки матрицы строим расширенное профильное разреженное QR разложение на основе блочных преобразований Хаусхолдера; 2. Параллельно в порядке, определяемом деревом зависимостей вычислений, достраиваем QR разложения для объединяющих подматриц типа (5.4) для вычисления QR разложений соответствующих мелко блочных столбцевых окаймлений.</p><p>Существует множество способов, при помощи которых разреженную прямоугольную мелко блочную матрицу можно привести к виду многоуровневой верхней квази-треугольной матрицы типа вложенных сечений. Простейший из них например такой.</p><p>По структуре разреженности матрицы вычисляем упорядочивание вложенных сечений. По структуре переупорядоченной матрицы строим блочное биение и бинарное дерево нужной глубины, которое описывает разреженность этой матрицы в контексте вложенных сечений. Переупорядочиваем мелко блочные столбцы матрицы в соответствии с упорядочиванием вложенных сечений. Упорядочивание строк вводим последовательно нумеруя элементы первого мелко блочного столбца , затем второго и т.д. Столбцевое биение вводим в соответствии с биением вложенных сечений. Строчное биение вводим по мере того как заканчиваются столбцевые блоки. В результате получится переупорядоченная по столбцам и строкам матрица с введенным строчным и столбцевым биением типа изображенной на Рисунке 6. В некоторых случаях удобно ввести дополнительное строчное упорядочивание и биение для оптимизации затрат при обработке окаймлений матрицы. Для этого в каждой блочной строке последними ставим строки, в которых есть элементы в последнем окаймлении, и вводим новый строчный блок если такие строки есть; предпоследними ставим строки, которые не были перенесены в конец ранее и которые имеются в предпоследнем окаймлении, и ставим новый строчный блок если такие строки имеются, и т.д. Для тестовой задачи на Рисунке 6 получится новое строчное упорядочивание и строчное биение, изображенное на Рисунке 7. На рисунке видно заметно меньшее блочное заполнение в окаймлениях матрицы. Для задачи в таком дополнительном биении построить QR разложение можно параллельным алгоритмом, аналогичным описанному выше. Дополнительным является этап объединяющего строчного QR разложения в рамках одного узла дерева зависимостей, которое возникает по причине введения дополнительного строчного биения в каждой основной подматрице.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="6.">Построение упорядочиваний и биений ND-типа на основе объемного биения расчетной сетки на домены</head><p>Описанный в предыдущем разделе основанный на явном вычислении упорядочивании ND способ построения упорядочиваний и биений, при которых мелко блочная матрица становится многоуровневой верхней квази-треугольной типа вложенных сечений, не является практически удобным для множества приложений, в которых матрица возникает как следствие аппроксимации уравнений на расчетной сетке. Для подобных задач необходима специальная методика построения соответствующих упорядочиваний и биений. В данном разделе предлагается подобная методика, которая основана на предположении о том, что столбцы и строки матрицы ассоциируются естественным образом с элементами расчетной сетки, и для этой сетки имеется ее геометрически локальное разбиение на достаточно малые объемыдомены.</p><p>Таким образом, предположим, что для расчетной области имеется разбиение на домены, и что строки и столбцы матрицы ассоциируются с расчетными доменами. Это означает, что возможно ввести нумерацию доменов, нумерацию строк и столбцов матрицы и строчное и столбцевое биения таким образом, чтобы в общем случае в прямоугольном блоке (1,1) были элементы связей первого домена между собой, в блоке (1,2) элементы связей первого домена со вторым, и т.д.</p><p>Для начала рассмотрим вопрос о построении дерева зависимостей вычислений. Для этого введем в рассмотрение две квадратных разреженных целочисленных матрицы размером , здесьполное число доменов. Первую матрицу будем называть матрицей вязей. В этой  Упорядочим матрицу в соответствии с введенным биением и упорядоченным квази-бинарным деревом зависимостей следующим образом. Для этого введем соответствие между узлами дерева и введенными новыми строчным и столбцевым блочными биениями. Поместим каждый столбцевой блок в соответствии с его связями следующим образом. Внутренние столбцевые блоки домена поместим в соответствующий домену лист дерева. Столбцевые квази двух мерные границы всех доменов поместим в наименьший по номеру узел упорядоченного дерева зависимостей, в сыновьях которого имеются узлы дерева, содержащие соответствующие родительские для этой квази двух мерной границы 2 домена. Аналогично, столбцевые квази одномерные границы всех доменов поместим в наименьший по номеру узел упорядоченного дерева зависимостей, в сыновьях которого имеются узлы дерева, содержащие соответствующие родительские для этой квази одномерной границы 3 домена. Наконец, остальные столбцевые квази нуль-мерные границы всех доменов поместим в наименьший по номеру узел упорядоченного дерева зависимостей, в сыновьях которого имеются все узлы дерева, содержащие соответствующие родительские для этой квази-нульмерной границы &gt;3 доменов. Строчные подблоки каждого домена разместим в тех узлах упорядоченного дерева зависимостей, в котором они встречаются в первый раз, если блочные столбцы заранее упорядочить в соответствии с описанным выше алгоритмом. Далее, все блочные столбцы в каждом узле упорядочим по их мерностичем больше мерность, тем раньше расположен столбцевой блок. После подобных преобразований очевидно матрица станетуровневой верхней квази-треугольной матрицей типа вложенных сечений, и ее структура разреженности будет иметь вид, подобный изображенному на Рисунке 7. Для уменьшения заполнения Q-и R-факторов QR разложений в столбцевых блоках узлов можно дополнительно использовать упорядочивание ND как было описано выше.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>Заключение</head><p>В работе представлен параллельный алгоритм вычисления QR разложения многоуровневой разреженной верхней квази-треугольной матрицы со структурой разреженности типа вложенных сечений. Базовым вычислительным примитивом алгоритма являются блочные разреженные преобразования Хаусхолдера. Предложены варианты алгоритмов, приводящих заданную матрицу к упомянутому виду, удобному для параллельного вычисления ее разреженного QR разложения, в том числе для задач аппроксимации уравнений на расчетной сетке. Результаты численных экспериментов с предложенным алгоритмом для тестовых задач на гибридной параллельной MPI+threads+SIMD архитектуре приведены в работе <ref type="bibr" target="#b5">[6]</ref>, также представленной в качестве доклада на конференцию.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>Parallel algorithm for sparse QR decomposition of a rectangular upper quasi triangular matrix with ND-type sparsity</head></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>Sergey Kharchenko</head><p>Keywords: sparse rectangular matrix, upper quasi triangular matrix, nested dissection, volume partitioning, QR decomposition, Householder transformations, parallel algorithm, SLAE, least squares problem The paper considers algorithm for computing sparse QR decomposition of a specially ordered rectangular matrix. Decomposition is based on block sparse Householder transformations. For ordering computations the ND-type ordering for sparsity of ATA matrix can be used, here Aoriginal rectangular matrix. For mesh based problems the ordering can be constructed starting from appropriate volume partitioning of the computational mesh. Parallel computations are based on sparse QR decomposition for sets of rows with additional zero block at the beginning. The suggested algorithm is planned to be used as main computational kernel in the developed by the author parallel iterative algorithms for solving SLAEs and least squares problems. The corresponding algorithms will be based on composition of the subspaces represented by sparse bases.</p></div><figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_0"><head>Рис. 2 .</head><label>2</label><figDesc>Профильное (слева) и расширенное профильное (справа) QR разложения Покажем прежде всего, что в случае матрицы полного столбцевого ранга профильное и расширенное профильное QR разложения математически эквивалентны. Обозначим . Для матрицы полного столбцевого ранга матрица невырождена и является очевидно треугольным фактором матрицы , а значит матрица является R-фактором и для матрицы , поскольку . Далее, весь набор базисных векторов Q-фактора QR разложения можно, в соответствии с мелко блочным аналогом формулы (2.3) в терминах блочных преобразований Хаусхолдера, вычислить по формуле . Очевидно имеет место равенство: , а также аналогично , но тогда очевидно . Таким образом, базисные векторы профильного Q-фактора QR разложения можно вычислять построив базисные векторы расширенного Q-фактора QR разложения и отбросив их первые компоненты. Заметим, что первые компоненты расширенного базисного вектора нулевые, поскольку в противном случае после умножения на невырожденную матрицу результирующий вектор будет ненулевым, что противоречит тождеству Рис. 3. Заполнение Q фактора Суперкомпьютерные дни в России 2015 // Russian Supercomputing Days 2015 // RussianSCDays.org . В случае неполного столбцевого ранга эквивалентности нет, и это связано именно с тем, что в этом случае некоторые начальные компоненты базисных векторов расширенного QR будут ненулевыми. Исходя из описания расширенного профильного QR разложения может сложиться впечатление, что его Q-фактор всегда более заполнен, чем в исходном профильном разложении. В случаях, когда строится QR разложение матрицы, близкой к квадратной, это зачастую действительно может быть так. Например, для матрицы, изображенной на Рисунке 1, Q-фактор ее расширенного профильного QR имеет вид, показанный на Рисунке 3 (отсоединенная диагональ не показана), т.е., действительно значительно более заполнен чем тот, что показан на Рисунке 1. Тем не менее, даже для матриц, близких к квадратным, имеются примеры, когда заполнение расширенного профильного Q-фактора заметно меньшее. Это имеет место, например, для матрицы, изображенной слева на Рисунке 4. Рассмотрим вопрос о заполнении Q-фактора QR разложения подробнее. Рис. 4. Профильное (слева) и Q фактор расширенного профильного (справа) QR разложения Имеется достаточно простой способ определения мелко блочного заполнения Q фактора в расширенном профильном QR. Будем предполагать известной мелко блочную структуру матрицы . По этой структуре можно легко вычислить заполнение R-фактора QR разложения как результат символьной треугольной факторизации мелко блочной структуры . Но тогда очевидно без учета отсоединенной диагонали мелко блочная структура любогого блочного преобразования Хаусхолдера при расширенной профильной факторизации есть сумма структурыго столбца плюс сумма структур предыдущих блочных преобразований Хаусхолдера только для тех предыдущих индексов, для которых имеется соответствующий структурный элемент в над-диагональной частиго мелко блочного столбца матрицы . Это следует из того простого факта, что в силу особенностей структуры расширенного профильного разложения соответствующий элемент в структуре R при разложении может возникнуть только в этом случае. А большего взаимодействия между преобразованиями Хаусхолдера быть также не может, иначе при некоторых числовых значениях будет иметь место дополнительное заполнение в R. В некотором смысле это наименьшее возможное заполнение преобразований Хаусхолдера в под-диагональной части неявного представления Q-фактора. В частности, заполнение блочных преобразований Хаусхолдера в расширенном профильном разложении не зависит от упорядочивания мелко блочных строк. Более того, для матрицы полного ранга очевидно структура разреженности любого блочного базисного вектора совпадает со структурой соответствующего блочного преобразования Хаусхолдера для расширенного профильного QR (без учета отсоединенной диагонали). Для матрицы полного ранга имеет место еще более тесная связь с базисными блочными векторами Q-фактора: сам -й блочный вектор расширенного профильного QR имеет прямое отношение к -му базисному блоку направлений Q-фактора. Тем не менее, мы не будем нигде явно использовать эту возможную связь, поскольку в приложениях постоянно приходится иметь дело с матрицами неполного ранга. В случае с обычным профильным разложением заполнение блочных преобразований Хаусхолдера в Q-факторе дополнительно порождается также возникающим мелко блочно диагональным структурным элементом, из-за чего начинают взаимодействовать те преобразования Хаусхолдера, которые могли бы не взаи-модействовать в случае расширенного профильного разложения. Именно это взаимодействие через диагональный элемент и приводит к разнице заполнений на Рисунке 4.</figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_1"><head>Рис. 5 .</head><label>5</label><figDesc>Двух-(слева) и трех-(справа) уровневая организация параллельного вычисления QR разложения Действуя в духе предыдущего раздела вычислим блочно строчные QR разложения: переставить вторую и третью блочные строки, то получим матрицу вида: . (5.3) В первых двух крупно-блочных столбцах матрица уже треугольная, все блочные преобразования Хаусхолдера для них можно считать единичными матрицами, а значит для построения объединяющего QR разложения достаточно вычислить QR разложение матрицы . (5.4) С учетом формул (4.3) и (4.4) легко показать, что матрица в (5.4) с учетом разреженности имеет мелко блочный размер , здесь и соответственно число ненулевых мелко блочных столбцов в матрицах и соответственно. Аналогичным образом можно рекурсивно организовать вычисления для трех-уровневой матрицы справа на Рисунке 5. При этом редуцированные объединяющие QR разложения типа (5.4) вычисляются только для столбцов соответствующего уровня окаймления.</figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_2"><head>Рис. 6 . 7 .</head><label>67</label><figDesc>Упорядочивание и биение тестовой матрицы Рис. Дополнительное строчное упорядочивание и биение матрице в каждой строке есть элементы только на диагонали, а также в тех позициях , в которых есть хоть один структурный элемент в блоке связи между -тым и -тым доменами. Вторую целочисленную матрицу будем называть матрицей ве ов. Ее структура разреженности совпадает со структурой разреженности матрицы связей. Диагональные элементы матрицы весов содержат число элементов геометрии в домене (число ячеек), а вне-диагональный элемент в позиции содержит полное число элементов в блоке связи между -тым и -тым доменами. По матрицам связей и весов рекурсивно проводим биение всей расчетной области на две большие подобласти, каждый раз содержащие близкое общее количество элементов геометрии (ячеек сетки) и имеющие минимальное количество связей между этими двумя подобластями. Это биение продолжается рекурсивно до тех пор, пока в подобласти имеется более одного домена. Таким образом возникает представление набора доменов в виде квази-бинарного дерева. Пустьчисло уровней этого квази-бинарного дерева. Все домены являются листьями некоторого уровня дерева. Построенное квази-бинарное дерево и будем считать требуемымуровневым деревом зависимостей вычислений. Упорядочим узлы дерева зависимостей таким образом, чтобы каждый узел дерева имеющий сыновей имел номер не меньший, чем номера всех узлов поддеревьев этого узла. Такое упорядочивание номеров узлов дерева очевидно существует. На Рисунке 8 показана нумерация узлов для трехуровневого бинарного дерева.Для окончательного построения упорядочиваний матрицы, ее строчного и столбцевого биений рассмотрим подробнее структуру каждого домена (двумерный пример приведен на Рисунке 9).</figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_3"><head>Рис. 9 .</head><label>9</label><figDesc>Геометрическое разбиение двумерного домена на подобласти В каждом домене выберем такой набор его геометрических элементов, который не имеет связей с внешними геометрическими элементами (подобласть 0 на Рисунке 9), в терминах 3-х мерных задач назовем его объемной внутренней частью домена. Из оставшихся элементов домена выделим связные подобласти геометрических элементов, связанных ровно с одним внешним доменом (подобласти 1-4 на Рисунке 9), в терминах 3-х мерных задач назовем эти подобласти квази-поверхностными (квази-двумерными) границами домена. Далее из оставшихся геометрических элементов домена выделим связные подобласти геометрических элементов, связанные ровно с двумя внешними доменами (подобласти 5-8 на Рисунке 9), в терминах 3-х мерных задач назовем эти подобласти квази-одномерными границами домена. Для не менее чем трехмерных задач далее из оставшихся геометрических элементов выделим связные подобласти геометрических элементов, связанных ровно более чем с двумя внешними доменами, в терминах трехмерных мерных задач назовем эти подобласти квази нуль-мерными границами домена.</figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0"><head></head><label></label><figDesc></figDesc><graphic coords="3,92.25,601.06,453.50,141.90" type="bitmap" /></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0"><head></head><label></label><figDesc></figDesc><graphic coords="5,117.81,236.40,381.17,141.08" type="bitmap" /></figure>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" xml:id="foot_0">Суперкомпьютерные дни в России 2015 // Russian Supercomputing Days 2015 // RussianSCDays.org</note>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" xml:id="foot_1">Рис. 8. Нумерация узлов дереваСуперкомпьютерные дни в России 2015 // Russian Supercomputing Days 2015 // RussianSCDays.org</note>
		</body>
		<back>
			<div type="references">

				<listBibl>

<biblStruct xml:id="b0">
	<monogr>
		<author>
			<persName><forename type="first">Е</forename><surname>Тыртышников</surname></persName>
		</author>
		<idno>-3925-1</idno>
		<title level="m">Университетский учебник. Сер. Прикладная математика и информатика</title>
				<imprint>
			<date type="published" when="2007">2007</date>
			<biblScope unit="page" from="978" to="983" />
		</imprint>
	</monogr>
	<note>Методы численного анализа : учеб. пособие для студ. вузов / -М</note>
</biblStruct>

<biblStruct xml:id="b1">
	<monogr>
		<title level="m" type="main">Computer Solution of Large Sparse Positive Definite Systems</title>
		<author>
			<persName><forename type="first">A</forename><surname>George</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><forename type="middle">W</forename><surname>Liu</surname></persName>
		</author>
		<imprint>
			<date type="published" when="1981">1981</date>
			<publisher>Prentice Hall</publisher>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b2">
	<analytic>
		<title level="a" type="main">High Quality Preconditioning of a General Symmetric Positive Definite Matrix Based on its T T T U U U R R U  decomposition</title>
		<author>
			<persName><forename type="first">I</forename><forename type="middle">E</forename><surname>Kaporin</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Numer. Linear Algebra Appl</title>
		<imprint>
			<biblScope unit="volume">5</biblScope>
			<biblScope unit="page" from="483" to="509" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b3">
	<analytic>
		<title level="a" type="main">Algorithm 915: SuiteSparseQR, a multifrontal multithreaded sparse QR factorization package</title>
		<author>
			<persName><forename type="first">T</forename><forename type="middle">A</forename><surname>Davis</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">ACM Trans. Math. Softw</title>
		<imprint>
			<biblScope unit="volume">38</biblScope>
			<biblScope unit="issue">1</biblScope>
			<biblScope unit="page">22</biblScope>
			<date type="published" when="2011">2011. 2011</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b4">
	<analytic>
		<title level="a" type="main">Algorithm 9xx: Sparse QR Factorization on the GPU</title>
		<author>
			<persName><forename type="first">S</forename><forename type="middle">N</forename><surname>Yeralan</surname></persName>
		</author>
		<author>
			<persName><forename type="first">T</forename><forename type="middle">A</forename><surname>Davis</surname></persName>
		</author>
		<author>
			<persName><forename type="first">S</forename><surname>Ranka</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">ACM Transactions on Mathematical Software</title>
		<imprint>
			<biblScope unit="volume">1</biblScope>
			<biblScope unit="issue">1</biblScope>
			<date type="published" when="2015-01">January 2015</date>
		</imprint>
	</monogr>
	<note>Publication date</note>
</biblStruct>

<biblStruct xml:id="b5">
	<analytic>
		<title level="a" type="main">вложенных сечений // Представлена в качестве доклада на первую объединенную международную конференцию</title>
		<author>
			<persName><forename type="first">С</forename><forename type="middle">А</forename><surname>Харченко</surname></persName>
		</author>
		<author>
			<persName><forename type="first">А</forename><surname>Ющенко</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Параллельная реализация алгоритма разреженного QR разложения для прямоугольных верхних квази-треугольных матриц со структурой типа</title>
				<imprint>
			<publisher>Москва</publisher>
			<date type="published" when="2015">2015</date>
			<biblScope unit="page" from="28" to="29" />
		</imprint>
	</monogr>
	<note>Суперкомпьютерные дни в России</note>
</biblStruct>

<biblStruct xml:id="b6">
	<analytic>
		<title level="a" type="main">Framework for Batched and GPUresident Factorization Algorithms Applied to Block Householder Transformations</title>
		<author>
			<persName><forename type="first">A</forename><surname>Haidar</surname></persName>
		</author>
		<author>
			<persName><forename type="first">T</forename><surname>Dong</surname></persName>
		</author>
		<author>
			<persName><forename type="first">S</forename><surname>Tomov</surname></persName>
		</author>
		<author>
			<persName><forename type="first">P</forename><surname>Luszczek</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Dongarra</surname></persName>
		</author>
		<ptr target="//RussianSCDays.org" />
	</analytic>
	<monogr>
		<title level="m">Суперкомпьютерные дни в России 2015 // Russian Supercomputing Days 2015</title>
				<imprint/>
	</monogr>
</biblStruct>

				</listBibl>
			</div>
		</back>
	</text>
</TEI>
