Для ленточных и трехдиагональных глобальных матриц A, которые распределяются по решетке процессов вида 1 * P , используются дескрипторы, имеющие тип, который обозначается целым числом 501. Решетка процессов вида 1 * P означает частный случай двумерной решетки, которая состоит из одной строки и из P столбцов. По существу это - одномерная решетка процессов, однако каждый процесс в ней все равно идентифицируется парой чисел, в которой первое число равно 0. Например, процесс (0, K) означает процесс, находящийся в K - ом столбце решетки процессов (K - ый процесс). При этом матрица A разбивается на блоки по столбцам, т.е. подвергается блочно - столбцовому распределению по решетке процессов. Каждый столбец целиком попадает в локальную память одного из процессов. Дескриптор типа 501 состоит из 7 элементов, за каждым из которых также закреплено символическое имя, аналогичное именам элементов дескриптора типа 1. Ниже приведена таблица для элементов дескриптора типа 501.
N | Имя | Смысл | |
---|---|---|---|
1. | DTYPE_A | - | тип дескриптора для ленточной или трехдиагональной матрицы A, распределенной по решетке процессов блочно - столбцовым образом, DTYPE_A = 501 |
2. | CTXT_A | - | обозначение контекста BLACS'а, сооветствующее выбранной решетке процессов, по которой распределяется глобальная матрица A. Целое значение, устанавливаемое подпрограммой из пакета BLACS. См. п.4.1. |
3. | N_A | - | число столбцов глобальной матрицы A |
4. | NB_A | - | число столбцов в блоках, на которые разбивается глобальная матрица A |
5. | CSRC_A | - | номер столбца процесса в решетке, куда был распределен первый столбец глобальной матрицы A |
6. | LLD_A | - |
ведущая размерность локального массива ( LLD_A і MAX(1, LOCr(M_A)), см. пояснения ниже). Для трехдиагональных матриц игнорируется (положить равной 0) |
7. | - | в текущей версии комплекса не используется (положить равным 0) |