Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Абрамов С.А., Гнездилова Г.Г., Капустина Е.Н., Селюн М.И. Задачи по программированию [pdf]

.pdf
Скачиваний:
740
Добавлен:
02.05.2014
Размер:
6.04 Mб
Скачать

соответствующую квадратную матрицу порядка n (элементы главной диагонали заполняются нулями).

696. Имеется таблица футбольного чемпионата, в котором участвовало n команд (см. задачу 413). Таблица представлена целочисленной квадратной матрицей порядка n, элементы главной диагонали этой матрицы равны нулю. Перестроить эту таблицу, присвоив каждой команде номер, равный занятому ею месту (для простоты считается, что при равном числе очков места распределяются произвольно). Отдельно указать распределение команд в старой нумерации по занятым ими местам.

§ 21. Матричная алгебра *)

*) В матричной алгебре [10] принято обозначать матрицу какой-нибудь большой буквой латинского алфавита, а элемент матрицы– одноименной малой буквой с индексами. Такая система обозначений выдержана и в этом разделе книги.

За исключением задачи 714, во всех задачах матрицы и векторы считаются действительными.

697. Даны матрицы А и В размера k× m и m× l соответственно.

Найти произведение АВ.

698.Дана квадратная матрица прядка n. Получить матрицу А2.

699.Даны квадратные матрицы А и В порядка n. Получить матрицу АВ–ВА.

700.Дана квадратная матрица А порядка n. Получить матрицу АВ; элементы матрицы В вычисляются по формуле:

а) bij =

б) bij =

в) bij =

(i, j=1, …, n).

1;

i+ j 1

 

 

 

 

1

 

 

,

 

 

 

 

 

 

 

 

i +

j

1

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

i +

j +

1

 

 

 

 

 

 

 

 

1

 

,

 

 

 

 

 

 

 

i +

 

j

1

 

0,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

i + j

1

 

 

 

 

 

 

 

 

 

 

 

если i j,

в противном случае;

если i <

j,

если i =

j,

в остальных случаях

701. Даны квадратная матрица A порядка n и вектор b c n элементами. Получить вектор:

а) Ab; б) A2b;

в) (AE)b, где E–единичная матрица порядка n.

702. Дана квадратная матрица порядка n. Получить вектор Ab, где b–вектор, элементы которого вычисляются по формуле:

а) bi

=

 

1

 

;

 

i

2 +

2

 

 

 

 

 

 

 

 

 

 

 

1

 

, если i - четное,

 

 

 

 

 

 

б) bi

=

i2

+ 2

 

1

 

 

 

 

 

 

 

 

в противном случае

 

 

 

 

i

 

 

 

 

 

 

 

 

 

 

(i=1, …, n).

703.Даны квадратная матрица А порядка n, векторы x и y с n элементами. Получить вектор A(x+y).

704.Даны квадратные матрицы A, B и C порядка n. Получить матрицу (A+B)C.

705. Даны квадратные матрицы A и B порядка n. Получить матрицу A(BE)+C, где E–единичная матрица порядка n, а элементы матрицы C вычисляются по формуле

Cij =

1

 

, i, j = 1, 2, ..., n.

i +

j

 

 

706. Пусть даны квадратная матрица A порядка m и натуральное число n; требуется найти An. Алгоритм, основанный на непосредственном применении формулы An = A A ... A (n

сомножителей), слишком разорителен. Например, А4 экономичнее вычислять как (А2)2. Идея одного достаточно экономного алгоритма вычисления Ап заключена в следующем: если n = 2k , то An = ( A2 )k ;

если же n = 2k + 1, то An = (A2 )k A . Степень с показателем k

вычисляется с учетом этих же соображений. Итак, надо разделить n на 2 с остатком: n = 2k + l (0 l 1) , потом это же проделать с k и т. д.

Эти действия приводят, как известно, к построению двоичной записи n. Алгоритм, основанный на этой идее, состоит в том, что последовательно вычисляются Aa0 , Aa1a0 , ..., Aal al 1 ... a1a0 , где al al 1...a1a0

двоичная запись числа n. Для этого вычисляется, цифра за цифрой, двоичная запись n и, параллельно, степень за степенью,

A(20 ) , A(21 ) , A(22 ) , ...– каждая следующая степень получается из предыдущей возведением в квадрат. Подсчитывается произведение тех из вычисленных степеней, для которых соответствующая цифра двоичного представления равна 1. Например, запись 9 в двоичной системе есть 1001 (9 = 18 + 0 4 + 0 2 + 1) ; для вычисления А9

достаточно найти А2, А4, А8 (3 умножения), а затем определить A A8 (1 умножение).

Преимущество этого алгоритма в сравнении с простейшим состоит в том, что простейший алгоритм требует числа умножений,

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

Написать программу, реализующую предложенный алгоритм.

707.Дана квадратная матрица порядка 5. Получить матрицу А15 (см. задачу 706).

708.Даны квадратная матрица А порядка m, натуральное число

n. Получить матрицу E + A + A2 + ... + An , где E–единичная матрица порядка m.

709. Даны квадратная матрица А порядка m, натуральное число n, действительные числа pn, pn-1, …, p0. Получить матрицу

p

n

An +

p

n1

An1 + ... + p A +

p

E , где Е – единичная матрица порядка m.

 

 

 

1

0

 

710.Дана матрица А размера m × n . Получить транспонированную матрицу А* (ее размер – m × n ).

711.Дана матрица А:

а) размера m × m ; б) размера m × n .

Получить матрицу АА* (ее размер m × m ).

712.Дана квадратная матрица А порядка m. Получить матрицы 12 ( A + A*) и 12 ( A A*) .

713.Следом квадратной матрицы называется сумма элементов, расположенных на главной диагонали.

Даны квадратная матрица порядка m, натуральное число n. Вычислить следы матриц А, А2, …, Аn.

714.Комплексная матрица Z представляется парой X, Y действительных матриц так, что Z = X + iY . Даны действительные квадратные матрицы А, В, С и D порядка m. Найти произведение двух комплексных матриц A + iB и C + iD , т. е. найти действительные квадратные матрицы X и Y порядка m такие, что

X + iY = ( A + iB)(C + iD) .

715.Пусть для квадратной матрицы А, имеющей порядок n, существует обратная матрица А-1. Тогда, рассматривая элементы матрицы А-1 ка неизвестные величины, из соотношения -1=Е, где Е– единичная матрица порядка n, можно получить систему n2 линейных уравнений с n2 неизвестными. Найти матрицу этой системы и вектор, определяющий ее правую часть, считая, что неизвестные элементы матрицы А-1 пронумерованы так, что сначала по порядку идут элементы первой строки, затем–второй, и т. д. Считать, что А

заданная матрица порядка 4; в ответе должны получиться квадратная матрица и вектор порядка 16.

716. Правая треугольная матрица А порядка n задана в виде последовательности (n + 1)n / 2 чисел: сначала идет n элементов первой строки, затем n 1 элемент второй строки, начиная со второго элемента, и т. д. (из последней, n–й строки берется только n–й элемент). Кроме этой последовательности дан вектор b с n элементами. Найти вектор Аb.

717.Две правые треугольные матрицы А и В порядка n заданы так, как описано в предыдущей задаче. Получить в аналогичном виде:

а) матрицу АВ;

б) матрицу А(Е+В2), где Е–единичная матрица порядка n.

718.Симметричная квадратная матрица А порядка n задана последовательностью n(n + 1) / 2 чисел, аналогично правой