
- •Спасское Городище 2012
- •Введение
- •Список обозначений и терминов
- •Немного о бейсиКе
- •Наивная теория множеств.
- •Декартовы произведения
- •Натуральные числа
- •Рекурсия
- •Порядок на множестве натуральных чисел
- •Делимость натуральных чисел
- •Делимость целых чисел
- •Алгоритм Евклида
- •Матричная трактовка алгоритма Евклида
- •Элементы логики
- •Высказывательные формы
- •Матричная алгебра
- •Определители
- •Обратная матрица
- •Компьютерная реализация матричной алгебры
- •Линейные преобразования плоскости
- •Комплексные числа
- •Конструкция поля комплексных чисел.
- •Сопряжение комплексных чисел
- •Тригонометрическая форма записи комплексных чисел
- •Комплексная экспонента
- •Решение квадратных уравнений.
- •Основная теорема алгебры комплексных чисел
- •Алгебраические системы
- •Операции и отношения на множестве
- •Моноиды
- •Поля и тела
- •Подсистемы алгебраических систем
- •Декартово произведение алгебраических систем
- •Фактор системы
- •Изоморфизм алгебраических систем
- •Абелевы группы
- •Группа подстановок
- •Алгебра многочленов
- •Немного комбинаторики
- •Биномиальные коэффициенты
- •Числа Фибоначчи
- •Рациональные числа
- •Дерево Штерна-Брокко
- •Алгебра высказываний
- •Дизъюнктивная совершенная нормальная форма.
- •Конъюнктивная нормальная совершенная форма
- •Многочлены Жегалкина
- •Алгебра кватернионов.
- •Литература
Матричная трактовка алгоритма Евклида
Придадим матричную трактовку алгоритму Евклида (о матрицах см. следующий параграф). Перепишем последовательность делений с остатком в матричном виде:
Подставляя в каждое последующее равенство вместо столбца в левой части левую часть предыдущего равенства, получим:
Заметим, что
слева стоят матрицы с определителем
-1, поэтому их произведение, обозначим
его
,
имеет определитель
и, значит, оно обратимо в кольце
целочисленных 2х2-матриц. Доказана
ТЕОРЕМА. Для любой пары целых чисел
с
найдется обратимая 2х2-матрица
над ℤ такая, что
.
В частности,
найдутся числа
такие, что
.
В нашем численном примере
Вторую строку матрицы Q можно найти с помощью НОК(m,n) – наименьшего общего кратного чисел m и n, т.е. наименьшего натурального числа, кратного как m так и n. Оно связано с НОД соотношением
и в нашем числовом примере равно НОК(900,1155)=900⋅ 1155/15=69300. Тогда 69300=900⋅77=1155⋅ 60 и поэтому -77⋅ 900+60⋅ 1155=0. Вот отсюда и берется вторая строка (-77, 60). Почему определитель матрицы Q, полученной таким образом, будет заведомо ± 1 (мы его сделали +1, за счет корректировки знаков второй строки)? Ответ в упр. ___
В приложении
2 указан алгоритм, позволяющий вычислить
матрицу Q. Основная идея алгоритма
заключается в том, что по мере продвижения
по строкам алгоритма Евклида, мы сначала
от единичной матрицы переходим к матрице
,
затем к матрице
и т.д., пока не дойдем до итоговой матрицы
.
Элементы логики
Математики
имеют дело с объектами, такими как,
например,
-- числа,
-- функции,
-- матрицы,
-- прямые на плоскости и т.д., а также
имеют дело с высказываниями. Высказывание
есть некоторое повествовательное
предложение, подлежащим в котором
является математический объект, и про
которое можно в принципе сказать верно
оно или ложно. Приведем примеры
высказываний.
1. Прямая
пересекает ось Ох.
2. Число «пи» больше 3.14.
3. Отношение
равно 1.
4. Число
есть корень уравнения
.
5. Число составляет все множество корней уравнения .
6. Корень из 2 не будет корнем никакого многочлена с целыми коэффициентами.
7. Число e (основание натуральных логарифмов) не будет корнем никакого многочлена с целыми коэффициентами.
Здесь утверждения 2,4,7 справедливы, утверждения 1,5,6 ложны, а 3 не является утверждением, поскольку нет такого объекта-числа как 0/0.
А будут ли сами «ИСТИНА» и «ложь» математическими объектами? Да, будут. Они составляют весьма важное в математической логике множество
которое называется булеаном, и на котором можно определить разнообразные логические операции: «или», «и», «следует», «эквивалентность», «не», «либо» (исключающее). Первые четыре операции, а также последняя двуместные (или, как говорят, бинарные), операция отрицания «не» одноместная (=унарная). Чтобы напомнить житейский смысл этих операций, попытайтесь оценить истинность следующих высказываний в зависимости от разных истинностных оценок компонент этих высказываний.
Не верно, что Васька плут и мошенник.
Не верно, что Фигаро здесь или Фигаро там.
Ветер дует, потому (=из-за того), что деревья качаются.
Мы победим либо все вместе погибнем.
Ты и ты и ты не можете сравниться с Матильдой моей
Так как нам
надо алгебраизировать операции на
булеане (помни название предмета!), то
полагаем:
и это равно 1 в однобитовом представлении
булеана,
и это равно 0, операцию «или» называем
дизъюнкцией и обозначаем “or”, операцию
«и» называем конъюнкцией и обозначаем
“and” (иначе, она называется
логическим умножением), операцию
отрицания обозначаем “not”,
операцию следования называем импликацией
и обозначаем
,
исключающее или обозначаем “xor”
(по-другому “+”, -- логическое сложение).
Тогда действия этих операций можно
свести в таблицу
Таблица 1
-
x
0
1
0
1
y
0
0
1
1
x or y
0
1
1
1
x and y (= xy)
0
0
0
1
x +y
0
1
1
0
x xor y (= x+y)
0
1
1
0
not x (=1+x)
1
0
x Imp y (x ⇒ y)
1
0
1
1
x Equ y (x≡ y)
1
0
0
1
Предпоследняя
строка таблицы определяется в соответствии
с принципом «солгавши раз, да кто тебе
поверит!». Если некто ложное утверждение
объявляет истинным, и тем самым его
собственное мировоззрение становится
противоречивым, то далее он может
объявлять, что угодно – в своих глазах
он будет прав. Еще раз объясним импликацию
на математическом языке: – ложность
посылки
влечет истинность импликации
вне зависимости от
.
В компьютерных языках операции импликации
и эквивалентности используют крайне
редко. Частично это объясняется тем,
что
эквивалентно
(здесь
-- какие-либо высказывания).
На битовые
строки
логические операции распространяются
покомпонентно:
Здесь * --
какая-либо бинарная операция, а
-- унарная операция (она у нас пока одна
– отрицание, но все впереди)
ПРИМЕРЫ
логических вычислений в
(полубайт):
В среде VBA под True и False отводится два байта (=16 бит), столько же сколько и под тип целого числа Integer. При этом True представляется строкой из единиц (1,1,…,1), а False – строкой из нулей. Система представления целых чисел типа Integer такова, что первый бит указывает на знак числа (см. «Компьютер и алгебра») и строка из 16 единиц представляет целое число -1. Поэтому ничего удивительного нет в том, что на вопросы к дебюггеру “True = -1”; “True<False” он ответит утвердительно.