Методы решения систем с разреженными матрицами. Способы хранения и представления разреженных матриц, операции над ними. Блатов И.А - 13 стр.

UptoLike

Рубрика: 

- 13 -
З а м е ч а н и е . Если мы не хотим, чтобы в
CN
были записаны нули,
нужно выбросить” нулевой элемент и соответствующий ему столбец. Тогда
для данной задачи вектор
C
будет следующим:
57310:
6
.
0
4
.
0
3
.
0
7
.
0
:
JC
CN
.
3.2.2. Метод расширенного целого указателя (РЦУ )
На входе даны векторы
B
А
,
в РСФ , на выходе должны получить вектор
B
А
C
+
=
в том же формате . Здесь в качестве накопителя используется вектор
CN
.
Алгоритм
1.
Символический этап
: слияние списков
,
в
J С
.
2. Численный этап
0
1
. Вводится расширенный целый массив указателей (РЦМУ)
IX
, размер
которого равен размаху списка
J С
. Он заполняется с помощью
просмотра массива
J С
, и
)
(
j
IX
указывает, в какой позиции массива
CN
будет храниться
j
- я компонента массива
С
, т.е .
)
(
j
С
. Начальное
состояние
IX
- нулевое .
0
2
. В позиции
CN
засылаем нули. Затем сканируем
AN
,
в
CN
,
определяя с помощью
IX
позиции
CN
, где должны накапливаться
значения ненулевых элементов. Затем сканируем
BN
,
в
CN
:
)
(
)))
(
(
(
)))
(
(
(
i
AN
i
IX
CN
i
IX
CN
+
=
;
)
(
)))
(
(
(
)))
(
(
(
i
BN
i
IX
CN
i
IX
CN
+
=
.
Задача 19. Сложить вектора
B
А
,
методом РЦУ.
;
43710:
14.08.06.04.0:
JA
AN
.
1359:
4.03.02.01.0:
JB
BN
1.
N
позиции:
7
6
5
4
3
2
1
N
позиции соответству-
ющего столбца в
J С
:
JC
1
5
9
4
3
7
10
N
столбцов в
С N
2. 1)
N
позиции:
10
9
8
7
6
5
4
3
2
1
N
элемента в
JC
(
CN
)
:
IX
0
0
0
0
0
0
0
0
0
0
1
5
2
6
4
3
7
2)
N
позиции:
7
6
5
4
3
2
1
CN
:
14
.
0
8
.
0
6
.
0
4
.
0
сканируем
AN
4
.
0
2
.
0
1
.
0
3
.
0
сканируем
BN
______________
4.02.01.014.01.16.04.0
элементы
С N
Таким образом,
4
.
0
2
.
0
1
.
0
14
.
0
1
.
1
6
.
0
4
.
0
:
CN
                                          - 13 -

     З а м е ч а н и е. Если мы не хотим, чтобы в CN были записаны нули,
нужно “выбросить” нулевой элемент и соответствующий ему столбец. Тогда
для данной задачи вектор C будет следующим:
                        CN :        0.7 0.3          0.4 0.6
                                                                .
                        JC :        10      3        7     5
    3.2.2. Метод расширенного целого указателя (РЦУ)
    На входе даны векторы А, B в РСФ, на выходе должны получить вектор
C =А +B в том же формате. Здесь в качестве накопителя используется вектор
CN .
                                Алгоритм
1. Символический этап: слияние списков JА, JB в JС .
2. Численный этап
   10 . Вводится расширенный целый массив указателей (РЦМУ) IX , размер
   которого равен размаху списка      JС . Он заполняется с помощью
   просмотра массива JС , и IX ( j ) указывает, в какой позиции массива
   CN будет храниться j -я компонента массива С , т.е. С ( j ) . Начальное
   состояние IX - нулевое.
   2 0 . В позиции CN засылаем нули. Затем сканируем JА, AN в CN ,
   определяя с помощью IX позиции CN , где должны накапливаться
   значения ненулевых элементов. Затем сканируем JB, BN в CN :
                 CN ( IX ( JA (i ))) =CN ( IX ( JA(i ))) +AN (i ) ;
                 CN ( IX ( JB (i ))) =CN ( IX ( JB(i ))) +BN (i ) .
    Задача 19. Сложить вектора А, B методом РЦУ.
     � AN : 0.4 0.6 0.8 −0.14            � BN : 0.1 0.2 0.3 0.4
      �                              ; �                              .
        �  JA : 10    7    3     4        �   JB :  9   5    3    1
   1. N позиции:        1 2 3 4 5 6 7              N позиции соответству-
                                                   ющего столбца в JС
                 JC : 10 7 3 4 9 5 1                N столбцов в СN
   2. 1) N позиции: 1 2 3 4 5 6 7 8 9 10            N элемента в JC ( CN )
                   IX : 0 0 0 0 0 0 0 0 0 0
                         7    3 4 6   2      5 1
          2) N позиции: 1 2      3    4       5 6 7
                   CN : 0.4 0.6 0.8 −0.14                  сканируем AN
                                0.3         0.1 0.2 0.4    сканируем BN
                         __    __    __         __    __   __   __
                        0.4 0.6 1.1 −0.14 0.1 0.2 0.4                элементы СN
Таким образом,   CN :     0.4 0.6 1.1 −0.14 0.1 0.2 0.4