Научная статья на тему 'Методические аспекты автоматической генерации задач по линейной алгебре'

Методические аспекты автоматической генерации задач по линейной алгебре Текст научной статьи по специальности «Математика»

CC BY
153
23
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
МАТРИЦА / ВЕКТОРЫ / АВТОМАТИЧЕСКАЯ ГЕНЕРАЦИЯ / ОПРЕДЕЛИТЕЛЬ / РАНГ / СЛУЧАЙНЫЕ ЧИСЛА / ОБРАТНАЯ МАТРИЦА / СИСТЕМА ЛИНЕЙНЫХ УРАВНЕНИЙ / ПАРАМЕТР / БАЗИС

Аннотация научной статьи по математике, автор научной работы — Коновалов Ярослав Юрьевич, Соболев Сергей Константинович, Ермолаева Мария Андреевна

В статье предлагаются алгоритмы генерирования широкого спектра задач по линейной алгебре: задание матрицы любого размера с заданным определителем, с заданным рангом; матричных уравнений, систем линейных уравнений, в том числе с параметром, задач на линейные операторы и квадратичные формы. Алгоритмы успешно опробованы на практике, с помощью них может быть составлено неограниченное число вариантов контрольных работ, проводимых кафедрой "Высшая математика" в первом семестре в модуле "Матрицы и СЛАУ", а также вариантов индивидуальных заданий и рубежного контроля по модулю "Линейная алгебра". Отдельным файлом одновременно генерируются все ответы, в некоторых случаях и промежуточные.

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Methodological aspects of automatic generating problems on linear algebra

The article deals with the automatic compilation of tasks on linear algebra. The algorithms of generating matrix of any size with a specified determinant or of a given rank; matrix equations, systems of linear equations, including with a parameter, are proposed. In addition, the paper describes algorithms generating tasks on linear operators and quadratic forms. These algorithms have been successfully tested in practice. Using them one can produce unlimited number of variants of tests conducted by the Department of Higher mathematics in the first semester in the module "Matrix and the System of Linear equations", as well as variants for individual tasks and boundary control in the module "Linear algebra". A separate file with all the answers inclusive, in some cases, the intermediate ones is simultaneously generated.

Текст научной работы на тему «Методические аспекты автоматической генерации задач по линейной алгебре»

УДК 378.016+ 512.643

Методические аспекты автоматической генерации задач по линейной алгебре

© Я.Ю. Коновалов, С.К. Соболев, М. А. Ермолаева

МГТУ им. Н.Э. Баумана, Москва, 105005, Россия

В статье предлагаются алгоритмы генерирования широкого спектра задач по линейной алгебре: задание матрицы любого размера с заданным определителем, с заданным рангом; матричных уравнений, систем линейных уравнений, в том числе с параметром, задач на линейные операторы и квадратичные формы. Алгоритмы успешно опробованы на практике, с помощью них может быть составлено неограниченное число вариантов контрольных работ, проводимых кафедрой «Высшая математика» в первом семестре в модуле «Матрицы и СЛАУ», а также вариантов индивидуальных заданий и рубежного контроля по модулю «Линейная алгебра». Отдельным файлом одновременно генерируются все ответы, в некоторых случаях и промежуточные.

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

Введение. Проблема автоматической генерации задач не нова и возникла намного раньше массового появления компьютеров. Известно, что современные студенты очень быстро обзаводятся ответами и даже полными решениями (иногда с ошибками) имеющихся комплектов контрольных работ (КР) уже после первого их использования преподавателем, а уж про индивидуальные домашние задания (ДЗ), висящие на стендах по нескольку лет (а иногда и десятилетий) и говорить нечего. Кроме того, на кафедрах регулярно возникает потребность обновления условий КР или ДЗ по чисто методическим причинам: надо упростить (или усложнить) условия задач, добавить задачи нового типа, да и просто в связи с появлением новых дисциплин или новых разделов старых.

Итак, возникает необходимость придумать по каждой теме не одну, а 10-15 вариантов задач для КР и даже 30 вариантов для ДЗ, различных, но относительно однотипных и сравнимых по сложности, обязательно с ответами и желательно хотя бы с краткими решениями. В идеале комплекты по 10-30 задач хорошо бы в разных группах сделать разными. В каждом варианте КР может быть от трех до пяти различных задач, а в ДЗ их число может доходить и до 10-15. Естественно, при их создании должна быть минимизирована вычислительная работа преподавателя и максимально задействованы современные ресурсы персональных компьютеров.

Составлять задачи надо так, чтобы ответы к ним были по возможности «хорошими», например, корни характеристического урав-

. -13 ±л/137 „

нения были целыми, а не, скажем-. Кроме того, возникает

19

много других «методических» ограничений, на которых мы подробно остановимся ниже.

В литературе проблема генерирования задач по математике обсуждается давно [1 — 4]. Отметим, что многие реально работающие генераторы устроены так: имеется большой банк уже готовых задач на разные темы, и при генерировании варианта, состоящего из набора задач на заданные темы, задачи из банка выбираются случайно.

В настоящей работе описаны результаты создания генератора именно самих задач с ответами (окончательными и промежуточными). Мы ограничились задачами, так или иначе связанными с матрицами: ранг матрицы и системы векторов, обратная матрица, матричные уравнения, системы линейных алгебраических уравнений (СЛАУ), в том числе и с параметром, приведение матрицы линейного оператора к диагональному виду, приведение квадратичной формы к каноническому виду с помощью ортогонального преобразования.

Широко известны способы составления задач «от обратного», когда условие задачи строится по заданному ответу. Например, квадратное уравнение с корнями х1 и х2 можно составить в виде

а (х - х1 )(х - х2) .

Для решения задач, связанных с матрицами и системами линейных уравнений (СЛАУ), широко применяется метод элементарных преобразований. Используя его в способе «от обратного» можно генерировать условия задач при помощи относительно простых алгоритмов.

Напомним, что элементарными преобразованиями матрицы называются прибавление к одной строке (столбцу), матрицы другой строки (столбца), умноженной на некоторое число, умножение строки (столбца) матрицы на любое число, не равное нулю, перестановка строк (столбцов). Известно [5-8], что при элементарных преобразованиях не меняется ранг матрицы, а при первом из преобразований у квадратных матриц сохраняется определитель. Кроме того, при элементарных преобразованиях строк расширенной матрицы СЛАУ не меняется множество ее решений.

Ниже описаны алгоритмы, которые успешно применены на практике для автоматической генерации задач и формирования из них вариантов КР и ДЗ по аналитической геометрии и линейной алгебре.

1. Алгоритм генерации матриц с заданным определителем. Пусть требуется построить матрицу размера п х п с определителем ё. Возьмем верхнетреугольную матрицу А, у которой один из диагональных элементов равен ё, а остальные 1 (звездочкой обозначены произвольные случайные числа).

А =

(й Л

*

0 1

0

V Ъ

(1)

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

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

2. Алгоритм генерации матричных уравнений. Рассмотрим алгоритм генерации матричных уравнений вида АХ = В, где А и В — известные квадратные матрицы, а X — искомая. При решении студент должен обратить матрицу А по формуле А"1 = А, где

А = (Ау)Т — присоединенная матрица ( т. е. составленная из алгебраических дополнений матрицы А и затем транспонированная), и найти X = А1В. При этом матрица А должна быть невырожденной и иметь небольшой определитель, но не равный единице, чтобы студент, забывший на него поделить, не мог случайно получить правильный ответ. Также матрица А не должна быть симметричной, чтобы студент не мог получить правильный ответ в случае, если он забыл транспонировать матрицу алгебраических дополнений, что является довольно распространенной ошибкой.

Для генерации квадратной матрицы А (порядка п) зададим ее определитель небольшим случайным числом, отличным от нуля и

единицы, и применим алгоритм построения матрицы с заданным определителем, описанный выше. Выполнение требования несимметричности матрицы А обеспечивается дополнительной проверкой. Матрицу X (размером п х т, не обязательно квадратную) составляем из случайных чисел, находим В как В = АХ и проверяем ее на наличие избыточно больших элементов. Аналогичным образом составляем матричные уравнения вида ХА = В и АХВ = С. В последнем случае матрицы Х и С имеют одинаковые размеры.

3. Задачи на ранг и линейную зависимость. Алгоритм генерации матричных уравнений можно применить для генерации матриц с заданным рангом г. Для этого составим матрицу А, состоящую из единичной матрицы Е порядка г, прямоугольной матрицы Б случайных чисел к{, ^ размера г х (т — г) и (п — г) нулевых строк:

А =

Г1 0 л

Г Е Б Л ки

V 0 0 ,= 0 1

V 0 У

(2)

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

В контрольных работах по теме «Матрицы и СЛАУ» в МГТУ им. Н.Э. Баумана, а также в [9] присутствует задача о нахождении ранга матрицы в зависимости от параметра. Рассмотрим алгоритм ее генерации. Модифицируем матрицу (2), добавив в (г + 1)-ю строчку на место с номером q > г элемент X — Х0. Получим

п

о!

• I

I

о ] о

I

л

', 1

X — Х0

(3)

Ранг матрицы (3) равен г при X = Хо и г +1 при X Ф Хо. Прибавим к (г + 1)-й строке случайную линейную комбинацию первых г (базисных) строк. Подвергнем все строки кроме (г + 1)-й перемешиванию. Помимо перечисленных выше проверок строка и столбец полученной матрицы, содержащие параметр X, не должны становиться пропорциональными другим строкам и столбцам после выбрасывания элементов, стоящих на месте q (для строк) и г +1 (для столбцов)

соответственно. В противном случае найти X 0 окажется очень легко.

4. Алгоритм генерации СЛАУ. Способ генерации матриц с заданным рангом г лежит в основе алгоритма генерации задач на решение СЛАУ.

Пусть требуется составить СЛАУ из п строк и т столбцов ранга г ( г < т, г < п ). Построим матрицу системы вида (2). Добавим случайный столбец В в правой части:

Г1

о

о

• 1 к

■ I к,I I

о 1 о

V I

Ь Л

К "о

Г Е ! в

О\о

V I

в Л о

(4)

Легко показать, что решение этой системы уравнений имеет вид

Г К Л

Г X л

X =

V Хп у

т-г

=2а

1=1

к IЛ

о

г+1

V о у

Ьг

о

V о у

А-вЛ Г в Л с +

Е

V

о

V у

(5)

где матрица В состоит из столбцов к , =

Г к Л

к11

V кг1 у

С =

— столбец

с

V т - г у

произвольных констант, а 1г+;- означает, что элемент 1 стоит на

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

(г + 1)-м месте. Затем, аналогично предыдущему алгоритму подвергнем матрицу перемешиванию строк. Поскольку при элементарных преобразованиях решение СЛАУ не меняется, ответ по-прежнему задается формулой (5). Для дополнительного усложнения задачи можно переставить столбцы в левой части СЛАУ (и соответственно стро-

ки в ответе) так, чтобы базисные столбцы шли не подряд. Для генерации однородной СЛАУ задаем bi = 0. Как и в задачах на ранг матрицы, необходимо проверить отсутствие пропорциональных строк и столбцов, а также избытка нулей.

Отметим, что при генерации по этому алгоритму полной квадратной СЛАУ определитель ее матрицы окажется равным 1. Поэтому построение СЛАУ, которые предполагается решать методом Крамера, рекомендуется осуществлять аналогично описанной выше процедуре генерации матричных уравнений АХ = В, заменив искомую матрицу X и матрицу правой части В на столбец неизвестных Х и столбец свободных членов В соответственно.

Обобщим алгоритм для генерации СЛАУ, зависящих от параметра. В зависимости от положения параметра и его влияния на решение рассмотрим четыре случая.

Первый случай: параметр в правой части влияет на существование решения.

Аналогично предыдущему составим СЛАУ вида (4). Зададим последнюю строку как случайную линейную комбинацию первых г (базисных) строк. Добавим к свободному члену последней строки Х-Х 0, где Х0— случайное число. Оставшиеся строки аналогично подвергнем перемешиванию, не затрагивая последнюю строку. Полученная СЛАУ будет иметь решение (5) при Х = Х0 и будет несовместна при Х ^Х0.

Второй случай: параметр в правой части не влияет на существование решения. Составим СЛАУ вида (4), умножим некоторую базисную строку (например, г-ю) на случайное число q ^ 0 и прибавим к ее свободному члену параметр Х. Получим СЛАУ следующего вида:

(1 ь )

к,

1 Ьг-1

q qk, qbг + Х

__ __ V 0 0 У

Прибавим к г -й строке случайную линейную комбинацию предыдущих базисных строк. Затем подвергнем перемешиванию все строки кроме г -й (для этого удобно поставить ее на последнее место). СЛАУ (6) и соответственно полученная СЛАУ при любом значении Х будут иметь следующее решение:

ш-г 1=1

г-к.. 1

Г+1

V 0 у

г ь 1

Ьг-1

Ьг +

X

0

(7)

Третий случай: параметр в левой части уравнения влияет на

существование решения. В матрице вида (4) поставим элемент X- Х0 в (г + к )-й столбец (г +1 )-й строчки и добавим в правую часть элемент Ьг+1 ^ 0, получим

(8)

г 1 0 ! 1 Ь']

0 1 1 1 Ьг

0 ¡0 • 1 X — X 0 •• 0 Ьг+1

0 V "Г 1 1 0 0 У

Аналогично предыдущему добавим к этой строчке случайную линейную комбинацию базисных строк, а остальные строки подвергнем перемешиванию. Полученная СЛАУ будет несовместна при

Х = Х о. При X ^ Xо хг+к = — т—гт—, к -й столбец (5) переходит в сво-

X — Х0

бодный член и решение (8) представляется в виде (9).

X =

Ъ

1=1

1 *к

Г-к.' ГК' Г к к 1

0 0

+ Ьг , Ьг+1

1г+1 0 ~г X -X 0 - 1г+к

V 0 у V 0 у V 0 у

(9)

Четвертый случай: параметр в левой части уравнения влияет

на размерность системы решений. В матрице вида (4) поставим элемент X — ^^0 в г + к -й столбец г + 1-й строчки. Получим (8) с Ьг+1 = 0. Добавим к г + 1-й строчке случайную линейную комбинацию базисных строк, а остальные строки подвергнем перемешиванию. При

Х = Х0 СЛАУ равносильна (4) и ее решение есть (5). При Х ^ Х0 добавляется условие xг+k = 0, что приводит к выпадению из (5) к -го столбца.

Отметим, что описанный выше алгоритм генерации условия задачи на нахождение ранга матрицы в зависимости от параметра аналогичен четвертому случаю алгоритма генерации СЛАУ с параметром.

Помимо собственно генерации СЛАУ приведенные алгоритмы генерируют системы векторов и матрицы заданного ранга, что позволяет использовать их при составлении различных задач на линейную зависимость, и базисы. Кроме того, определители и СЛАУ широко используются при решении многих задач аналитической геометрии, следовательно, описанные алгоритмы применимы и для них.

5. Задачи на собственные значения. В курсе линейной алгебры ключевое положение занимают задачи нахождения собственных векторов и собственных значений линейных операторов и квадратичных форм. Опишем алгоритмы их генерации.

Известно [5-9], что для любого линейного оператора в пространстве М" найдется базис, в котором матрица линейного оператора имеет жорданов вид, а матрица оператора в исходном базисе равна А = РЗР 1, где J - матрица оператора в жордановой форме, а Р -матрица перехода.

Для генерации задачи о нахождении собственных значений оператора в трехмерном вещественном пространстве построим матрицу оператора как А = PJP 1. Жорданова форма такого оператора может быть одного из следующих четырех видов:

0 ^ ГХ1 1 0 ^ ГХ1 1 0 > Г

ГХ1 0

0 0

Х 2

0 Х

3 У

0 0

Х1 0

0 Х

2 У

0 0

1

Х1 0

0 ^ 1

Х1

а

-Р 0

Р

а 0

0 ^ 0

Х3 У

В первом случае трем собственным значениям соответствуют три собственных вектора — столбцы р 1з р2, р3 матрицы перехода Р; во втором случае двум собственным значениям соответствуют собственные векторы р1 и р 3; в третьем — единственному собственному значению Х1 соответствует вектор р1; четвертый случай соответствует наличию одного вещественного собственного значения Х3 с собственным вектором р 3 и пары комплексных Х12 =а±i Р. В зависимости от требований конкретной задачи выбор случаев можно ограничить. Например, для задачи о приведении оператора к диагональному виду нужно рассматривать только первый случай. Выберем один из случаев и зададим целые Х1 случайным образом. Поскольку

обычно первый корень кубического многочлена ищут подбором, по крайней мере, одно из собственных значений должно быть целым числом в пределах от —3 до 3 . В качестве матрицы P подойдет любая невырожденная матрица. При вычислении P—1 в знаменателе оказывается det P, и элементы матрицы A могут оказаться не целыми, что значительно усложнит задачу. Бороться с этим явлением можно двумя способами, либо взять матрицу P с определителем, равным единице (алгоритм составления таких матриц приведен выше), либо выбирать все или некоторые X t, кратные det P. Полученную матрицу проверяем на наличие избыточно больших элементов и нулей. Кроме того, полезно проверить характеристический многочлен на наличие больших коэффициентов.

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

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

6. Квадратичные формы. Матрицы квадратичных форм преобразуются по формуле A' = PT AP, где А и A' — матрицы квадратичной формы в старом и новом базисе соответственно, но в отличие от операторов часто требуется, чтобы матрица P была ортогональной: PT = P—1 о PTP = E. В этом случае A = PA'PT . Некоторые методы генерирования ортогональных матриц любого размера описаны в конце статьи и в [10].

Генерация задачи о построении кривой второго порядка, заданной в виде квадратичной формы, не представляет трудности. Составим матрицу квадратичной формы в виде PDPT, где D - диагональная матрица, а P - ортогональная матрица. Для двумерного случая матрица

p=. 1

i

a2 + b2

a

b Л

y—b a у

все вычисления можно провести в целых числах. Компенсировать деление на определитель можно умножением на него собственных значений.

Аналогично организуем генерацию условий задачи об исследовании знакоопределенности квадратичной формы от двух переменных в зависимости от значения параметра. Составим ее матрицу в виде PDPT, где D — диагональная матрица, на диагонали у которой стоят многочлены первой степени, а P — обратная матрица перехода. Практика показала, что относительно небольшие коэффициенты чаще всего получаются в случае, когда столбцы матрицы P ортогональны, хотя в качестве P подойдет любая невырожденная матрица. Формально перемножая матрицы, получим требуемую квадратичную форму. Аналогично можно получить квадратичные формы более высокой размерности для случаев, в которых не требуется ортогональность преобразования P, например для исследования знакоопределенности квадратичной формы.

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

Для генерации условий задачи о диагонализации квадратичной формы ортогональным преобразованием рассмотрим три квадратичные формы:

A =

а2 ab ас ^ f b2 -ab 0 > Г d 0 0

ab b2 bc , в = -ab а2 0 , С = 0 d 0

ас bc с2J 0 V 0 0 у V 0 0 d у

Все они имеют собственные векторы

Г a > Г bЛ Г ac Л

ei = b , e 2 = -a , e 3 = bc

V c J V 0 J V-a2 - b2)

со следующими наборами собственных значений: для А: (а2 + Ь2 + с2, 0, 0), для В: (0, а2 + Ь2, 0), для С: (ё, ё, ё). Тогда их линейная комбинация аА + РВ + С с теми же собственными векторами будет иметь собственные значения а(а2 + Ь2 + с2) + ё для

еь р(а2 + Ь2) + ё для е2 и ё для е3 соответственно. К полученной

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

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

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

7. Генерация ортогональных матриц произвольного порядка.

1-й метод. Каждую ортогональную матрицу Q порядка п можно представить в виде произведений простейших матриц поворота

Щ, (ф) в плоскости хх,, где 1 < i < , < п, -к<ф< к:

Г1

r (ф) =

о

о

cos ф

sin ф

о

о

о

о

sin ф

cos ф

о j

0 ^

1

Таким образом, всякая ортогональная матрица Q есть произведе-: 2 п(п -1) ма' межутка [-к; к]:

ние 1 п(п -1) матриц такого вида, где все углы ф, берутся из про-2

б = П Rj(фу )•

1<i< j <n

(10)

2-метод. Произвольную ортогональную матрицу 3-го порядка можно выразить через углы Эйлера а, Р, у :

Р, У) =

Г cos а cos у- sin а cos Р sin у - cos а sin у- sin а cos Р cos у sin а sin Р ^

sin а cos у- cos а cos Р sin у - sin а sin у + cos а cos Р cos у - cos а sin Р

sin Р sin у sin Р cos у cos Р

Для наших учебных целей достаточно генерировать ортогональные матрицы небольшого размера (не более 6-го), и эти матрицы должны получаться нормированием по возможности целочисленных матриц с ненулевыми попарно ортогональными строками (или столбцами). В таком случае косинусы углов надо выбирать не сложными, например, 1 112 3

тт ^ ? ? ?•

3-й метод. Ортогональные матрицы можно получить, применяя процесс ортогонализации к строкам целочисленной квадратной матрицы А с ненулевым определителем (и последующей нормировкой всех строк). Процесс ортогонализации последовательно строит попарно ортогональные строки целочисленной матрицы В, в которой первая строка такая же, как и в матрице А. На к-м этапе из уже построенных попарно ортогональных вектор-строк Ьь ..Ьк, таких, что Ь(аь ..., ак) = = Ь(Ьь..., Ьк) (Ь обозначает линейную оболочку), следующая вектор-строка Ь к+1 выбирается в виде Ь к+1 =А,1Ь1 +... + Х к Ь к + ца к+1 (X i, це Щ) из условия ортогональности всем векторам Ьь .. ., Ь к, откуда

д = -(Ь1)2...(Ьк)2, X,- = _ц(Ьк, а2к. Числа Хь..., Хк, ц затем надо

(Ь )2

сократить на их наибольший общий делитель.

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

1 1 -2 1 3 1 Г 1 1 -2 1 31

0 1 0 0 0 -1 15 -2 -1 -3

0 0 1 0 0 2 0 11 2 6

0 0 0 1 0 -1 0 0 10 -3

0 0 0 0 1 у V-3 0 0 0 1,

Лучше взять случайную верхнетреугольную матрицу А с ненулевыми диагональными элементами (скажем, единицами), например:

1 1 1 -1 -11 Г1 1 1 -1 -Г|

0 1 2 -2 -1 -6 -1 4 -4 1

0 0 1 -1 -1 0 -1 0 0 -1

0 0 0 1 -2 -5 5 1 6 -5

0 0 0 0 1 У V 1 -1 3 2 1 ,

4-й метод (пока не реализованный). Взять случайную целочисленную и-мерную строку с небольшими компонентами, например,

ax = (1; -1; 0; 2), и в ее ортогональном дополнении aj, задаваемом уравнением (ab x) = 0, перебирая один за другим его целочисленные векторы, выбрать из первых N векторов вектор a 2 с минимальной нормой, вычисляемой по формуле ||b|l = max\bt I. Затем в ортогональном

дополнении векторов {ab a2}x, задаваемом матричным уравнением A2 X = 0, где матрица A2 состоит из двух строк a1 и a 2, выбрать целочисленный вектор a 3 с минимальной нормой (точнее, перебрать N векторов и выбрать из них минимальный по этой норме) и т. д. Этот способ требует наличия хорошо отлаженного генератора целочисленных векторов, ортогональных данным линейно независимым векторам al3 a2,..., ak, и поэтому его реализация пока затруднительна.

Заключение. На основании предложенных алгоритмов авторами создан и успешно применяется работающий прототип программного комплекса, позволяющий в автоматическом режиме составлять варианты контрольных работ и домашних заданий по аналитической геометрии и линейной алгебре.

ЛИТЕРАТУРА

[1] Карнаухов В.М., Русаков А.А. Компьютерный способ подготовки раздаточного материала контрольных работ по математике. Материалы Меж-дунар. науч.-прак. конф. «Информатизация образования — 2012». Орел, ООО «Картуш», 2012, 368 с.

[2] Карнаухов В.М. Приложение LATEX. Генератор вариантов контрольных работ. Saarbrücken, Germany, Lap lambert Academic Publishing, 2012. URL: http://karnauhov-60.narod.ru/

[3] Кручинин В.В., Морозова Ю.В. Модели и алгоритмы генерации задач в компьютерном тестировании. URL: http://www.lib.tpu.ru/fulltext/ v/Bulletin_TPU/2004/v307/i5/29.pdf

[4] Amruth N. Kumar. Generation of Problems, Answers, Grade, and Feedback — Case Study of a Fully Automated Tutor. ACM Journal of Educational Resources in Computing, 2005, vol. 5(3).

[5] Гельфанд И.М. Лекции по линейной алгебре. Москва, Добросвет-2000, МЦНМО, 2007, 320 с.

[6] Курош А.Г. Курс высшей алгебры. Москва, Лань; Физматкнига, 2007, 432 с.

[7] Ильин В.А., Позняк Э.Г. Линейная алгебра. Москва, ФИЗМАТЛИТ, 2010, 280 с.

[8]. Гантмахер Ф.Р. Теория матриц. Москва, ФИЗМАТЛИТ, 2010, 560 с.

[9]. Соболев С.К., ред. Сборник задач по линейной алгебре. Москва, Изд-во

МГТУ им. Н.Э. Баумана, 1991, 145 с.

[10] Соболев С.К. Генерирование матриц специального вида: аналитический подход. Инженерный журнал: наука и инновация, 2013, вып. 5.

Статья поступила в редакцию 28.06.2013

Ссылку на эту статью просим оформлять следующим образом:

Коновалов Я.Ю., Соболев С.К., Ермолаева М.А. Методические аспекты автоматической генерации задач по линейной алгебре. Инженерный журнал: наука и инновации, 2013, вып. 5. URL: http://engjournal.ru/catalog/pedagogika/ hidden/740.html

Коновалов Ярослав Юрьевич окончил механико-математический факультет МГУ им. М.В. Ломоносова в 2005 г. и аспирантуру МГТУ им. Н.Э. Баумана

в 2009 г, ст. преподаватель кафедры «Высшая математика» МГТУ им. Н.Э. Баумана. Сфера научных интересов: атомарные функции, вейвлеты, цифровая обработка сигналов, численные методы. e-mail: kon20002000@mail.ru

Соболев Сергей Константинович окончил механико-математический факультет МГУ им. М.В. Ломоносова в 1973 г. и аспирантуру в МИАН им. В.А. Стеклова в 1976 г. Канд. физ.-мат. наук, доц. кафедры «Высшая математика» МГТУ им. Н.Э. Баумана. Автор ряда статей по математической логике, методике преподавания математики, методических пособий для студентов и старших школьников. Председатель методической комиссии кафедры «Высшая математика». e-mail: ser-gesobolev@mail.ru

Ермолаева Мария Андреевна окончила механико-математический факультет МГУ им. М.В. Ломоносова в 2002 г. и аспирантуру МГТУ им. Н.Э. Баумана в 2010 г. Ассистент кафедры «Высшая математика» МГТУ им. Н.Э. Баумана. Сфера научных интересов: непараметрические методы статистики. e-mail: mashik_@mail.ru

i Надоели баннеры? Вы всегда можете отключить рекламу.