Математика и секс
Июнь 22nd, 2014

Невычислимое, недоказуемое

Предположим, что у нас есть какое-то логическое утверждение, зависящее от натурального числа $$P(n)$$. Это утверждение, предположим, можно легко проверить для любого конкретного числа, но не понятно верно ли оно для любого числа.

Например, можно рассмотреть гипотезу Гольдбаха о том, что любое чётное число может быть представлено в виде суммы двух простых чисел (так, например, $$50=19+31$$ или $$100=11+89$$). Для любого конкретного чётного числа можно довольно легко перебором подобрать его разложение на сумму двух простых чисел. По крайней мере всегда у людей это получалось. А вот возможно ли это сделать в общем случае, то если получится ли представить в виде суммы двух простых вообще любое чётное число — вопрос, на который наука пока не нашла ответа.

Или вот можно рассмотреть последовательности Коллатца. Начальный элемент последовательности — это произвольное натуральное число, которое мы обозначим как $$K_0$$. $$K_{n+1}$$ получается из $$K_n$$ по следующему правилу: если $$K_n$$ чётное, то $$K_{n+1}=\frac{K_n}{2}$$. Если $$K_n$$ нечётное, то $$K_{n+1} = 3K_n + 1$$. Например, если за $$K_0$$ принять число 15, то мы получаем следующую последовательность:
$$15, 46, 23, 70, 35, 106, 53, 160, 80, 40, 20, 10, 5, 16, 8, 4, 2, 1$$
Как видим, последовательность пришла в единицу. До сих пор с какого бы числа люди не начинали писать последовательность Коллатца, она всегда приходит в единицу, но приходит ли она в единицу всегда, или всё же есть исключения — никто не знает, это открытый вопрос математики.

Интуитивно должно казаться ясным, что чтобы ответить на такие вопросы, не достаточно перебрать просто большое количество вариантов. В обоих упомянутых проблемах математики перебрали уйму чисел (фактически все числа, на которые хватило вычислительных возможностей), но примера, чтобы какое-то число не раскладывалось в сумму двух простых или чтобы последовательность Коллатца для него не приходила в единицу, так и не нашли. Доказывает ли это что-либо? Конечно нет, потому что чисел, которых математики не проверили, куда больше — их ещё целая бесконечность, а проверена лишь малая конечная часть.

Так вот. Примерно 50 лет тому назад было доказано, что на самом деле для почти любого утверждения достаточно проверить лишь конечное число случаев. То есть если вплоть до некоторого номера $$M$$ нам не встретятся чётные числа, не представимые в виде суммы двух простых, или не встретится последовательность Коллатца, не приходящая в единицу, то такие числа нам не встретятся вовсе никогда.

Теорема. Для установления истинности почти любого утверждения $$P(n)$$ достаточно проверить лишь истинность конечного числа утверждений $$P(n)$$ для $$n$$ от 1 до некоторого $$M$$.

Доказательство. Давайте представим себя на минуточку программистами. Мы хотим найти такое число $$f\in\mathbb{N}$$, что $$P(f)$$ окажется неверным, то есть мы ищем контрпример к нашей гипотезе.

Будем считать, что мы можем написать программу для проверки утверждения $$P$$ для любого конкретного номера (это предположение и составляет значение слова «почти» в формулировке теоремы). Напишем программу, которая будем перебирать все числа подряд начиная единицей и которая остановится лишь когда она найдёт такое $$f\in\mathbb{N}$$, что $$P(f)$$ не выполняется. Возможно, что мы не найдём его никогда и тогда программа будет работать бесконечно долго, а это значит, что у нас есть время попить чай и поразмышлять.

Код нашей программы имеет конечную длину, обозначим её N. Если рассмотреть все возможные программы длины $$N$$, то среди них найдутся конечно же те, которые будут работать бесконечно долго (можно сказать, что они «зависнут») и те, которые в итоге остановятся. Обозначим за $$B_N$$ самое долгое время работы программы длины $$N$$ (на английском эти числа называются Busy Beaver Numbers по фольклорным причинам, а как это адекватно переводится на русский я и не знаю). Как вычислить это самое $$B_N$$ не очень понятно, но такое число вполне определено. Предположим пока, что мы его знаем.

Посмотрим на часы, сколько уже работает наша программа по поиску контрпримера, пока мы пили чай? Что? Уже дольше, чем $$B_N$$? Но ведь $$B_N$$ это самое долгое время, которое может работать программа, которая останавливастся. Значит мы знаем, что программа не остановится уже никогда, то есть контрпример не будет найден. Утверждение об истинности $$P$$ можно считать доказанным, программу можно выключать.

Конечно же, наша программа за конечное время $$B_N$$ успела проверить лишь конечное число вариантов от 1 до некоторого $$M$$, но из рассуждений, приведенных выше, следует, что нам этого каким-то образом оказалось достаточно для того, чтобы утверждать об истинности $$P$$ для совсем любого $$n$$. В чём тут подвох? Подвоха тут нет.
$$\square$$

Задумайтесь на секундочку: почти любой сложный вопрос математики, касающийся натуральных чисел, может быть установлен путём перебора конечного числа вариантов. Будь то теорема Ферма, гипотеза Гольдбаха, Коллатца или кого ещё: достаточно проверить конечное число случаев. Не знаю как вам, но на меня в своё время этот факт произвёл неизгладимое впечатление.

Насколько этот результат практичен? На самом деле совершенно не практичен. Во-первых, не понятно как вычислить значение $$B_N$$. Во-вторых, даже если мы его вычислим для какого-то $$N$$, то оно наверняка окажется настолько гигантским, что вряд ли поместится в наш калькулятор. Так что выгоды мы из этого всего извлечь судя по всему не сможем, увы. Но сам факт!

Логично было бы, если бы после изложения этого результата я тут же показал бы, как считать числа $$B_n$$, однако сейчас мы уйдём в сторону и я покажу как эти числа ещё можно было бы использовать, если бы они были в нашем распоряжении.

Попробуем написать такую программу, которая будет анализировать другую программу, и говорить нам о том, зависнет она или же нормально остановится. Можно рассматривать такую программу как функцию $$H:P\to\{0,1\}$$, где $$P$$ — множество всех возможных программ. 0 означает, что программа зависнет, 1 что остановится.

При условии, что мы можем написать программу, вычисляющую $$B_n$$, мы нашу задачу можем очень легко решить. Пусть нам дана программа $$x$$ длины $$n$$, для которой надо установить остановится ли она. Поскольку программа — это просто описание каких-то действий, мы можем заставить выполнять эти действия не компьютер, а нашу программу $$H$$, то есть мы как бы будем симулировать выполнение программы $$x$$ внутри программы $$H$$. Это не сложно технически, но я не буду углубляться в детали как это реализуется. Если вы знакомы с компьютерными технологиями, то наверняка слышали про интерпретаторы, виртуализацию, виртуальные машины и подобное. Это именно то, это возможно и это не особо сложно.

По ходу выполнения программы $$x$$, программа $$H$$ будет считать, как долго $$x$$ работает. Если вдруг окажется, что программа $$x$$ работает дольше, чем время $$B_n$$, то мы знаем, что она не закончится, и $$H$$ останавливает $$x$$, выдавая нам результат 0. Если же $$x$$ остановится сама раньше, то $$H$$ даст результат 1. Вроде всё.

А теперь давайте напишем такую программу $$A$$, которая так же будет принимать на вход какую-то другую программу $$x$$, затем будет запускать на ней программу $$H$$, и если $$H(x)=1$$, то $$A$$ будет зависать (например, начнёт считать все натуральные числа подряд), а если же $$H(x)=0$$, то она будет возвращать какой-то результат. Такую программу так же легко написать.

Попробуем понять какой результат мы получим, если на вход программе $$A$$ мы дадим её же саму, то есть попробуем выполнить $$A(A)$$. Что будет? Предположим, что $$H(A)=0$$, тогда программа $$A$$ должна завершиться, вернув результат. Но это противоречит тому, что $$H(A)=0$$. Из этого противоречия видно, что $$H(A)\not=0$$. Пусть теперь $$H(A)=1$$, но тогда $$A$$ должна зависнуть, что противоречит тому, что $$H(A)=1$$, а значит $$H(A)\not=1$$. Как так? $$H$$ оказывается не равно ни одному своему возможному значению!

Это противоречие означает, что программа $$H$$ не может быть написана, не существует такой программы и существовать не может. Но как так, ведь мы же чётко указали, как её можно написать! Если вглядеться, то при описании работы программы $$H$$ мы опирались на то, что мы можем как-то вычислить числа $$B_n$$, но мы не показывали этого. И это единственный момент во всём рассуждении, который мы никак не обосновали. Значит, числа $$B_n$$ вычислить невозможно.

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

Мы получили два результата.

Теорема. Невозможно написать программу, которая бы могла по коду другой программы определить остановится ли она или зависнет.

Теорема. Числа $$B_n$$ невычислимы. Другими словами невозможно определить максимальное время, которое может работать независающая программа длины $$n$$.

Приведённые рассуждения можно вывернуть ещё и вот под каким углом. Напишем программу $$E$$, которая будет проверять истинность произвольного утверждения $$x$$ путём последовательного перебора всех возможных доказательств (программа может начинать с коротких доказательств и постепенно переходить к более длинным, так что такая программа определённо может быть написана). Если предположить, что всё можно доказать или опровергнуть, то через какое-то время наша программа либо найдёт доказательство для $$x$$, либо доказательство для $$\neg x$$.

Используя эту программу, однако, мы опять же легко можем написать пресловутую программу $$H$$ проверяющую, остановится ли программа $$y$$ или нет. Просто вместо запуска программы $$y$$ и ожидания времени $$B_n$$ мы на этот раз будем искать доказательство остановки или зависания $$y$$. Поскольку мы уже знаем, что программа $$H$$ не может существовать, наше предположение, что программа $$E$$ всегда либо найдёт доказательство $$x$$ либо $$\neg x$$ так же не верно. Это значит, что существуют такие утверждения $$x$$, которые невозможно ни доказать ни опровергнуть. Как вы вероятно помните, это есть ни что иное как теорема Гёделя о неполноте:

Теорема. Существуют утверждения, которые невозможно ни доказать ни опровергнуть.

Я упомянул, что числа $$B_n$$ окажутся скорее всего довольно большими. Оказывается, мы можем примерно прикинуть насколько именно большими они будут.

Теорема. Числа $$B_n$$ с ростом $$n$$ растут быстрее, чем любая последовательность, которую мы могли бы вычислить.

Доказательство. Предположим, что это не так, и что существует некоторая последовательность $$x_n$$ такая, что мы можем её вычислить и что $$B_n\le x_n$$. Но тогда мы можем запустить все программы длины $$n$$ и останавливать их как только они отработают время $$x_n$$. Среди программ, остановившихся раньше, выберем ту, что работала дольше. Время, которое она работала — это и есть $$B_n$$. Но это значит, что мы смогли их вычислить, а это противоречит теореме 3.51. Значит, такой последовательности $$x_n$$ всё же не существует.
$$\square$$

Упражнение. Если предположить, что мы имеем в нашем распоряжения числа $$B_n$$ и неограниченный вычислительный ресурс, проверка истинности произвольных утверждений может всё равно вызывать трудности. Гипотеза Коллатца является как раз таким примером. Если наша программа поиска контрпримера не остановилась за время $$B_n$$, то она не остановится действительно никогда, но это может иметь разное значение: либо она нашла такое $$m$$, что последовательность Коллатца для него будет бесконечной (и соответственно программа будет бесконечно долго вычислять её значения), либо же что она такого $$m$$ никогда не найдёт. Таким образом мы не получили из работы программы никакой полезной информации. Однако простая модификация алгоритма поиска контрпримера может всё таки дать нам способ понять найден ли контрпример либо же он не будет найден никогда. Придумайте эту модификацию.

Упражнение. Великая теорема Ферма (на английском её называют последней теоремой) утверждает, что уравнение
$$x^n + y^n = z^n$$
не имеет решений для $$n>2$$. Покажите, как можно было бы её доказать при неограниченном вычислимом ресурсе и известных $$B_n$$.

У Великой теоремы Ферма интересная история. Ферма сформулировал её в 1637 году в виде пометки на полях книги, которую он читал. Там же он указал, что он нашёл элементарное доказательство этой теоремы, но поскольку места недостаточно, он его приводить не будет. В итоге первое доказательство этой теоремы появилось только в 1994 году (спустя 356 лет!) и занимало оно 130 страниц. В этом доказательстве спустя год была найдена ошибка, которую ещё год исправляли. В итоге финальное доказательство без ошибки было представлено лишь в 1996 году. Такая вот история.

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

Чтобы избавиться от всех мешающих факторов реальных компьютеров используется модель машины Тьюринга, которая представляет собой видимо самую простую модель компьютера. Я не буду её описывать, но если вы хотите понять как примерно устроен формализм того что я здесь изложил, вы можете поискать статьи о ней и о том как она соответствует реальным вычислительным машинам, рекурсивным функциям и понятию множеств. Так же рекомендую почитать трагичную и важную биографию самого Алана Тьюринга: будучи блестящим учёным, работающим в области вычислимости и криптографии (благодаря значительным образом его работе союзники могли перехватывать шифрованные сообщения Германии во Вторую Мировую войну; теорема 3.50 так же была сформулирована и доказана именно им), он был обвинён в гомосексуальных связях и принуждён к химической кастрации и употреблению гормональных таблеток «для лечения гомосексуализма». Закончилась история лишением его всех военных наград и званий, а так же полным запретом на занятия накой. Итогом таких мер по борьбе с гомосексуализмом стал его суицид.

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

Этот текст последний параграф третьей главы учебника. Напомню, что учебник целиком доступен в pdf, что гораздо удобнее читать.

Декабрь 27th, 2013

Really want to be a gangsta

С сайта Департамента статистики Питтсбургского университета, со страницы книги «Time Series Analysis and Its Applications»:

If you’re at a University that subscribes to the Springer library, follow the link to the right. If you want to steal the text, it’s pretty easy to find an illegal copy, but you can get a nice illegal copy from LibGen. There’s little risk in stealing stuff off the internet, so if you really want to be a gangsta, go into your campus bookstore and steal a hardcopy. Then, sell it back to them.

Я не уверен, что в библиотеке МАДИ найдётся именно эта книга, поэтому просто скачал её.

Декабрь 17th, 2013

Первая лекция

Посмотрел первую лекцию на Хекслете по своему учебнику, очень круто. Думаю, что это очень хорошо, что читать курс стал всё же Рахим, а не я, у него это очень здорово получается, у меня вряд ли подача оказалась бы такой же хорошей. Может быть когда-нибудь попробую, но пока кажется, что было бы хуже. На фразе «Роман, автор учебника, брит и имеет спортивные штаны в гардеробе, хотя уже наверное далеко и не мальчик», я побагровел и усиленно вжимал пятерню себе в лицо. Очень круто, серьезно, давно таких эмоций не испытывал.

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

А Рахим большой молодец, всем бы его энтузиазм и трудолюбие (ну или хотя бы мне), глядишь и жизнь наладилась бы.

Декабрь 12th, 2013

Сняли кино по моей книге

А проект Hexlet запускает курс по первой главе моего учебника. Это довольно круто и для меня самого неожиданно. Рахим когда-то давно предлагал мне начитать курс, но мне это не удалось в силу загруженности, и тогда он взял и сделал курс сам. Я о том что он всё же начинает мой курс не знал и был приятно удивлён.

На момент написания этой заметки на курс уже записалось 352 человека, что, как мне кажется, не мало. Сам я тоже записался, буду ошиваться на форуме ну и вообще послушаю.

Вообще проект Hexlet вызывает у меня всяческое одобрение и восторг, всем рекомендую. Там помимо курса по логике, есть куча других курсов, среди которых для меня сейчас самые интересные~— это курс разработки под Android и курс по операционным системам. Не уверен, что буду всерьёз заниматься этими курсами, так как времени мало, но посмотрим (курс по операционным системам я сам в свое время оставлял в заявках, но с тех пор прочёл Танненбаума, поэтому не факт, что будет интересно, хотя неизвестно: книга Танненбаума мне хоть и много рассказала с одной стороны, с другой меня не покидает ощущение поверхностности и неглубокости моих нынешних знаний этой темы).

Кстати, Hexlet даёт каждому не только возможность курсы слушать, но так же ещё и читать. Я знаю, что у меня среди посетителей много всяких умных людей, математиков, айтишников, дизайнеров, экономистов и прочих, было бы круто если бы кто-то из них тоже начитал бы курс. Не знаю как мотивировать людей на это, но мне это кажется интересным. По крайней мере человеку, читающему лекции, банально поставить в аудитории видеокамеру и потом накидать тестов труда не составит, если он и так читает какой-то курс. Так что не вижу причин, чтобы так не сделать.

Присоединяйтесь!

Август 16th, 2013

Еще рекомендации по математике

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

Сейчас у меня неожиданно случился огромный завал на работе (вторую неделю вкалываю до поздней ночи), но желание писать в блог есть. И тут я вспомнил о списке читателя. Дальнейший текст не мой (я обрезал только самый первый параграф).

Jazz — 31.05.2013

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

Вряд ли кто-то из читателей этого блога будет учить математику совсем уж с нуля. В большинстве случаев, хотя бы рудиментарные знания из школы и института быть должны. Поэтому вместо повторения школьного курса, я бы советовал идти немного другим путем: сразу учиться по хорошим (но простым и понятным!) учебникам достаточно высокого уровня.

1) Начальный курс алгебры
В первую очередь, перед любыми другими разделами и учебниками, очень рекомендую изучить и прорешать от корки до корки учебник Гельфанда и Шеня “Алгебра” (этот и остальные учебники упоминаемые ниже можно найти в свободном доступе в интернете). Он покрывает собой практически всю школьную алгебру, но намного лучше всех стандартных школьных учебников. Последние я не смотрел уже очень давно, так что сравнивать с ними могу только предположительно, но в этом предположении я практически уверен. Он не только интереснее, полнее, более стимулирующий и т.д., но и подает материал в правильном и удобном виде для последующего изучения анализа и алгебры. При этом в нем вводятся многие понятия, равенства и неравенства, которые будут часто использоваться в дальнейшем в алгебре и анализе: сложение в других системах счисления (+ умножение и деление), треугольник Паскаля, многочлены (+ деление в столбик, теорема Безу и т.д.), арифметические и геометрические прогрессии (+ формула для чисел Фибоначчи), квадратные уравнения и графики (+ теорема Виета для квадратного и кубического уравнения), неравенства о средних (арифметическое, геометрическое, гармоническое, квадратическое).

Полезно и то, что в нем не только сочетаются теория и задачи, но и почти все задачи очень простые, что многим будет помогать для роста уверенности в своих возможностях. И задачи часто не просто вычислительные, а идеологические, что тоже очень важно.

2) Начальный курс анализа
Школьный курс анализа бесполезен чуть менее, чем полностью. Я редко употребляю подобные выражения, но в данном случае иначе просто не скажешь :) К сожалению, это же верно и по отношению к большинству вузовских курсов. Роман уже писал раньше о вредительстве учебников Ильина-Позняка, что я поддерживаю двумя руками. Большинство остальных учебников анализа (как и всего остального) “рекомендуемых Министерством образования” ушли от него недалеко.

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

Также несогласен и с мнением о ненужности эпсилон-дельта формализма. Как начальный метод для понимания пределов и непрерывности он вполне приемлим и полезен. Собственно, и в первом томе Зорича многие определения и теоремы формулируются или дублируются на этом формализме. ОДНАКО важно относиться к этому формализму правильно:
— Учить его по правильным учебникам, например по Фихтенгольцу. В нем, в отличие от многих других стандартных курсов анализа, как раз отсутствуют бессмысленные технические удлинения доказательств за счет точного вычисления эпсилона в каждом случае. При этом сохраняется полная строгость всех доказательств, просто они часто короче и понятнее, чем в учебниках подобных Ильину-Позняку. В отличие от многих других курсов, где простое делается сложным, у Фихтенгольца (как потом и у Зорича) сложное делается простым.
— Понимать, что этот формализм не самоцель, а всего-лишь ступенька к более продвинутому формализму метрических и топологических пространств. Т.е. параллельно представлять в голове интерпретацию всех эпсилон-дельта выражений как окрестностей точек соответствующих пространств.
— Не тратить время на решение десятков задач “на вычисление эпсилон”.
— Очень полезно, даже на самом начальном этапе, потратить день (больше не надо) на чтение первых двух глав из второго тома Зорича: “Непрерывные отображения (общая теория)” и “Дифференциальное исчисления с более общей точки зрения”. Цель при этом не разобрать все доказательства, а хотя бы примерно понять основные структуры и увидеть картину того, к чему в будущем придет эпсилон-дельта формализм в отношении непрерывных функций и дифференциального исчисления.

Важно понимать, однако, что Фихтенгольц полезен только на самом начальном этапе для одномерного анализа, т.е. только примерно 2/3 первого тома: вещественные числа, последовательности, функции одной переменной, пределы, непрерывность, производные, исследованией функций одной переменной. Там все будет очень просто и будет идти быстро. Также ряды во втором томе, но на них много времени тратить не надо. Когда дойдете до функций нескольких переменных и интегралов, надо будет уже переходить на Зорича (при желании заглядывая в Фихтенгольца, но уже не используя последний как базовый начальный учебник). Фихтенгольц останется в памяти как наглядный детский конструктор, но пора будет вырастать и переходить на более серьезные игрушки. Первый том Зорича, как и Фихтенгольц, тоже будет очень легким. Тем более, что после Фихтенгольца вы уже будете знать идеи и доказательства практически всех теорем одномерного анализа, просто будете смотреть на некоторые из них с более общей точки зрения (предел по базе и т.д.).

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

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

В этом отношении я не согласен с Романом, что достаточно интуитивного понимания, например арифметических операций, а строгие формальные выкладки не нужны. Не нравится мне и используемое в некоторых учебниках, например у Зорича, аксиоматическое построение множества вещественных чисел. Дело в том, что построение вещественных чисел заканчивается важнейшим в идеологическом смысле понятием полноты/непрерывности множества вещественных чисел в виде существования точных верхних и нижних граней у любого ограниченного множества (есть и несколько других эквивалентных формулировок, см. их ниже). Это наиболее важное (the single most important) понятие начального курса анализа, из которого потом выводятся ВСЕ последующие теоремы о пределах, непрерывных функциях, дифференцировании и т.д. А если не чувствуешь внутренней уверенности в фундаменте и в том, как именно этот фундамент построен, то потом и все здание тебе не будет казаться прочным и понятным. Поэтому важно не просто вводить полноту R в виде аксиомы (как, например, у Зорича), а выводить его из структур на множестве рациональных чисел, которые позволяют ввести сечения, из которых потом выводится полнота множества вещественных чисел в виде элементарной теоремы.

Кстати, заодно с Фихтенгольцем на этом этапе рекомендую и небольшую книгу Хинчина “Восемь лекций по математическому анализу”. Она полезна как источник интересных и стимулирующих рассуждений.

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

4) Теория чисел
Уже функции многих переменных в первом томе Зорича, и особенно его второй том, будут требовать знания линейной алгебры. Но перед тем, как двигаться в сторону алгебры, я бы рекомендовал начальный курс по теории чисел. Элементы этого курса входят и в школьную алгебру, и в любые курсы алгебры, но, обычно, в очень усеченном и конспективном виде.

И это очень зря. Теория чисел, как минимум элементарная, очень полезна с точки зрения поставления простых и содержательных примеров и иллюстраций ко многим объектам алгебры. Кольца, поля, делимость, фактор-группы, теорема Лагранжа и другие алгебраические понятия можно гораздо лучше понять, если перед глазами будут примеры реализации этих структур на простейшем множестве целых чисел. Причем изученные не мимоходом в школе или курсе алгебры, а спокойно и обстоятельно, и еще до курса алгебры.

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

По моему мнению, лучший учебник для начального знакомства с теорией чисел это “Теория чисел” Нестеренко. У него есть недостатки, но, по-сравнению с остальными, у него наиболее последовательное и простое изложение всех основных разделов элементарной теории. Только мне там не очень нравилось доказательство мультипликативности функции Эйлера, более естественное доказательство см. например в “Теории чисел” Михеловича.

Не все разделы у Нестеренко необходимы при первом изучении. Достаточно, например, сначала изучить делимость чисел (включая НОД и НОК, алгоритм Евклида и диофантовы уравнения), основную теорему арифметики о разложении на простые числа, дзета-функцию Римана, кольцо классов вычетов (включая полную и приведенную систему вычетов), функцию Эйлера, теорему Эйлера (из которой, кстати, и следует, что рациональные числа представляются бесконечными периодическими дробями), китайскую теорему об остатках. В общем, по ходу чтения будет понятно, что именно нужно для последующего изучения абстрактной алгебры.

Кстати, лемма Евклида (и даже более общее утверждение, когда p не простое), и следующая из нее основная теорема арифметики, более прозрачно и естественно доказывается не из алгоритма Евклида, где это больше похоже на фокус, а из двух простых лемм о том, что A) произведение двух чисел равно произведению их наибольшего общего делителя и наименьшего общего кратного, и B) любое общее кратное двух чисел делится на их наименьшее общее кратное.

5) Алгебра
В дополнение к “Теореме Абеля в задачах и решениях” Алексеева есть очень приятная книга Аршинова и Садовского “Грани алгебры”.

В остальном буду неоригинален: Винберг “Курс алгебры” и Кострикин “Введение в алгебру”. Городенцев “Алгебра-1” это тоже отличный курс, но не для начального изучения.

Также буду неоригинален и в том, что геометрию лучше учить не на школьном уровне, а одновременно с алгеброй. Собственно говоря, как стало ясно еще в конце 19-го века в “Эрлангенской программе” Клейна, классическая “аналитическая” геометрия (включая евклидовую, проективную, афинную и т.д.) это просто часть линейной алгебры. При этом, конечно, и линейную алгебру нужно учить сразу на геометрическом бескоординатном языке.

6) Дальнейшее изучение анализа
После линейной алгебры можно будет приступать и ко второму тому Зорича. Одновременно с ним я бы рекомендовал и курс функционального анализа, например “Элементы теории функций и функционального анализа” Колмогорова и Фомина. Собственно, это курсы почти об одном и том же, просто с разными акцентами. Колмогоров-Фомин в некоторых отношениях даже лучше, поскольку там метрические и топологические пространства рассматриваются более подробно. Заодно, Колмогорова-Фомина можно использовать и как начальный курс теории множеств.

Параллельно с ними рекомендую и “Лекции по математическому анализу” Львовского. Вообще, хороших учебников по анализу много. Изучение сразу по нескольким учебникам очень полезно, если это делается эффективно. Как именно это делать, каждый может определяться согласно своим предпочтениям и нарабатываемому опыту. Я бы рекомендовал, например, так:
— Ориентироваться на 1-2 курса как на основные по данному разделу. По ним подробно разбирать все понятия, доказательства, примеры и т.д.
— При этом я полностью согласен с Романом, что все теоремы надо сначала пробовать доказать самому (если вообще не появляется идей, то посмотреть начало доказательство и пробовать дальше продолжать самому… если потом снова где-то застрял, то посмотреть продолжение и снова продолжать самому… и т.д.).
— После них, или параллельно с ними, читать другие учебники как вспомогательные. Они будут идти уже намного быстрее, почти как беллетристика. Цель в том, чтобы подсмотреть где-то интересные новые понятия, дополнительные мотивировки, оригинальные идеи, альтернативные доказательства, немного другие акценты и т.д.

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

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

7) Доказательства
Выше я уже отметал, что в разных учебниках встречаются разные доказательства одних и тех же теорем. Это ОЧЕНЬ полезно. Еще Фейнман говорил, что умение посмотреть на что-то с разных точек зрения значительно улучшает понимание. Собственно говоря, “понимание” чего-то это и есть возможность посмотреть на данное понятие или теорему разными способами. Например, даже у простейших теорем анализа (непрерывность последовательностей и функций) есть по 3-4 равноценных доказательства. Это неудивительно, ведь само понятие полноты множества вещественных чисел (из которой все эти теоремы и выводятся) можно выразить несколькими равноценными способами:
— Существование чисел, производящих сечения в множестве вещественных чисел (теорема Дедекинда).
— Существование точных граней у ограниченных множеств.
— Существование общей точки у стягивающейся системы отрезков.
— Существование предельных точек у бесконечных множеств (или, что то же самое, возможность выделить сходящиеся подпоследовательности из бесконечных последовательностей).
— Сходимость фундаментальных последовательностей.

И польза не только в том, что смотришь на одни и те же вещи по-разному и больше “привыкаешь” к ним. Очень важно и то, что глубже понимаешь исходную природу тех или иных математических понятий и структур. Основная цель доказательств теорем же не в том, чтобы проверить их справедливость, а в том, чтобы понять как именно они связаны с теми понятиями и структурами, на которых они основаны. А значит лучше понять как сами фундаментальные структуры, так и то, что на их основе можно построить. Поэтому, например, доказательста по индукции — не всегда хороши (хотя могут быть и хороши, когда они раскрывают естественные причины справедливости теоремы), а доказательства через различные случайные трюки — почти всегда плохи.

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

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

Очень важно понимать, что когда ты изучаешь математику, ты не просто узнаешь новые понятия, теоремы и связи между ними, а все время поднимаешься на следующие уровни абстракций. Грубо говоря:
— Сначала идут отдельные изолированные объекты (например, натуральные числа).
— Потом множества из этих объектов и операций/структур на множествах (сложение, умножение, упорядочение…).
— После этого сами множества (!) уже можно представлять как отдельные объекты и выполнять операции над ними (например, классы вычетов на Z).
— Затем вообще отвлекаешься от природы исходных элементов или множеств, и строишь абстрактные алгебраические структуры (группы, кольца, модули…)
— Затем применяешь аналогичную идеология во всех остальных разделах математики (алгебра – алгебраические структуры, анализ – метрические и топологические пространства и т.д.)
— И, наконец, поднимаешься еще на одну ступеньку и рассматриваешь уже операции над “множествами множеств” (строго говоря – над “классами множеств”), что приводит к понятию “категорий” и “функторов” и объединяет все области математики.

При таком движении важно каждый раз приходить к тому, чтобы уже изученное становилось для тебя простым, коротким и почти очевидным. Тогда можно будет твердо стоять на очередной ступеньке абстракций и быть готовы двигаться выше. Но надо и соблюдать разумный баланс изучения и потраченного времени, не пытаться достичь идеального понимания на данной ступеньке. Почти всегда бывает так, что поднявшись на одну ступеньку выше, ты намного лучше понимаешь и то, что было ниже. Во-первых, сверху все лучше видно, а во-вторых, прежние понятия становятся частным случаям новых понятий, а значит более простыми хотя бы из-за этого. Наконец, при этом у тебя в мозгу возникает больше структур и связей, что, как отмечалось выше, во многом и есть “понимание”.

По поводу множеств и структур на них, рекомендую короткую и простую статью Бурбаки “Архитектура математики”. Стоит, однако, понимать, что она излагает математическую идеологию “докатегорных” времен. В последние несколько десятков лет акцент сместился с описания множеств “самих по себе” (со структурами _внутри_ множеств), на их описание на основе отображений _между_ множествами. Последнее, грубо говоря, и есть суть теории категорий.

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

Но, как и с начальными курсами анализа, важно начинать с правильных учебников. А это такие учебники, в которых теория излагается не начиная с определений и теорем, но начиная (и продолжая) с мотиваций и примеров. Без излишней сухости и снобизма, без стремления сразу все усложнять и излагать на максимально общем языке, с нежным отношением к читателю. Блестящим введением в теорию категорий является Голдблатт “Топосы. Категорный анализ логики” (хотя по названию этого и не скажешь). Кстати, в этой книге очень неплохо кратко излагаются и некоторые тонкие вопросы теории множеств, например различие между множествами и классами. Также, как это часто бывает, отличное изложение начал теории категорий можно найти в оригинальной статье создателей этой теории Samuel Eilenberg and Saunders Mac Lane “General Theory of Natural Equivalences”, 1945 год. Приятно читать изложения, в которых авторы сначала объясняют, как и почему возникают те или иные понятия, а потом уже начинают вводить определения и формулировать теоремы. А когда это сами авторы теории, то это еще интереснее и полезнее.

9) Решение задач
Почему-то в этом вопросе часто много крайностей: или решать сотни однотипных задач из Демидовича, или вообще почти ничего не решать. Лучше всего некий компромисс, причем когда задачи это не вещь в себе, а просто один из этапов общего обучения:
— В первую очередь, стараешься максимально глубоко понять теорию — до того уровня, когда все становится очевидным (ну или почти очевидным). Пытаешься доказать теоремы всеми возможными способами, рисуешь для себя схемы взаимных связей различных структур и т.д.
— Много думаешь и повторяешь про себя: восстанавливаешь доказательства, пытаешься придумать новые, обдумываешь понятия и связи между ними… Это, кстати, лучшее, чем можно заниматься в поездках в машине или транспорте.
— Решаешь “идеологические” задачи для повторения и закрепления теории, а также дополнительного рассмотрения некоторых тонких вопросов.
— Добавляешь к этому умеренное число “вычислительных” задач для лучшего понимания отдельных алгоритмов, особых случаев и т.д. Они также важны, чтобы не забывать о практических применениях и приложениях новых понятий и теорем. Если доходишь до уровня, когда алгоритмы решения вычислительных задач очевидны при вгляде на них, и вспоминаешь, что нечто подобное уже решал, на этом можно остановиться.

И самое главное. Очень важно иметь интерес к математике, но не менее важны трудолюбие и регулярность. Одно подпитывает другое и невозможно без другого. Action without vision is nonsense. A vision without action is a dream.

Июнь 20th, 2013

Поцелуй меня в математику

Нашел совершенно замечательную девушку, вот смотрите какую:

danica-mckellar-stuff2 DanicaMcKellar-Maxim-full danica-mckellar-math

Девушка интересна тем, что она — математик. Пишет вот такие замечательные книги:

Girls-Get-Curves-660x1012 hx-giant 51unVd4AS7L[1] 9780452289499_p0_v1_s600

Можно было бы подумать, что это грязный пиар какой-то шлюхи (книги-то не глубокие, если так по правде), но нет. Теорема Чейза-МакКеллар-Винна названа как раз её именем в том числе. Вот она на полном серьезе объясняет суть своей теоремы на какой-то конференции:

danica_blackboard_large

Офигительная я считаю. Она и у Терренса Тао училась топологии и была у него  второй по успеваемости — он о ней очень хорошо отзывается, теорему её имени объясняет там же. Жаль, что я не профессор — я бы себе тоже таких студенток хотел бы. А уж научить чему нашел бы.

Май 30th, 2013

План изучения математики

Я думал, что напишу короткий текст-набросок, но как обычно накатал гигантскую простыню. Здесь фактически объединено три темы: примерная программа по математике для среднего школьника (гуманитария или инженера, но не математика), методические рекомендации по тому как выбирать книги и темы для чтения, как относиться к задачам и доказательствам, а так же набор задач для самостоятельной проверки собственных знаний. Если вам интересны лишь отдельные эти темы, то вы можете проматывать до соответствующего параграфа, поскольку я отлично понимаю, что осилить весь текст целиком — сложно и большинству скучно. В то же время я убеждён, что именно отдельные фрагменты текста могут быть полезны многим читателям.

Мне постоянно, практически каждый день, присылают один и тот же вопрос: «Как изучить математику с самого начала?». Проблема обычно у всех одна и та же: в школе не учил, в институте не понял, наверстать не получается. Либо в институте даже нормально учился, был уверен, что его хорошо и правильно учат мудрые профессора в каком-нибудь МИФИ или Бауманке, решал интегралы и пределы, но как только после института столкнулся с реальной математикой в какой-то не совсем тривиальной задаче, понял наконец, что учили не тому и не так.

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

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

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

Источники

По школьному курсу я не знаю ни одной хорошей книги. Есть отдельные хорошие брошюры МЦНМО, ориентированные главным образом для 57-ой школы и подобных заведений, но они часто либо совсем узконаправленные, либо сложные для неподготовленного. Почитать их может быть интересно, они все составляются очень хорошими грамотными людьми, но надо понимать, что ориентированы они на тех, из кого есть шанс вырастить математика-теоретика, и у кого есть на это время. Если вы студент престижного инженерного ВУЗа и вынуждены каждый день решать интегралы, пределы, дифуры и урматы, либо вообще работаете по 8 часов в день, у вас скорее всего не будет времени в них углубляться. То есть путь чтения МЦНМО-шных книг хоть и правилен с методической точки зрения, но скорее всего не подойдёт большинству читателей.

Наверное самый быстрый и правильный путь наверстать школьную программу  — это иметь перед глазами ориентировочную адекватную программу того что надо учить и какие области необходимо затронуть. Придерживаясь такой программы, необходимо искать информацию по каждой отдельной теме в Интернете. Часто хорошим источником становится Википедия, но далеко не всегда. Тогда может помочь Гугл, какие-то учебники либо ресурсы типа math.stackexchange.com. Такую примерно программу я сейчас и предлагаю читателю. Ниже излагается краткий перечень того, что необходимо изучить, в каком порядке и в каком виде, а так же что из чего выводится. По замыслу это должно стать хорошим ориентиром для тех, кто хочет самостоятельно наверстать математику, которую он плохо понимает.

Обозначу сразу, что моя программа ориентирована на прикладников, а не на теоретиков. Это накладывает очень большой отпечаток на спектр тем, определения и рассматриваемые теоремы, включая их общность. Какие-то понятия могут профессиональным математикам показаться определенными не правильно, но я осознанно стараюсь в этой программе идти по пути наименьшего сопротивления. Так же я тут не составляю идеальной математической программы — то что я пишу ниже сильно отражает существующий школьный курс, который сам по себе можно раскритиковать. Я это делаю осознанно, чтобы учащемуся было легче ориентироваться и он мог быстрее усваивать материал. Из отклонений от школьной программы я допускаю лишь минимальные нововведения (то что совсем уж стыдно не знать) и выкидываю ненужное главным образом в виде геометрии.

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

1. Английский

Один из самых важных навыков, которым должен владеть человек, изучающий математику (да и почти что угодно) — это английский язык. Как только вы становитесь способны читать на английском, множество источников для изучения материала у вас расширяется многократно. При том, что есть много хороших книг на русском, на английском их несравнимо больше даже по школьной программе. Многие теоретические темы, даже самые базовые, на русском языке вообще никогда и никем не излагались, либо излагались крайне неудачно. В той же Википедии аналогичные статьи зачастую оказывается куда лучше на английском языке, нежели на русском. Бывают и обратные примеры, но редко. Даже многие очень адекватные российские ученые пишут свои учебные материалы сразу на английском, русский язык полностью игнорируя, поскольку в России для этих материалов будет крайне малая аудитория.

Так что первым делом, как только вы прочитаете этот текст — начинайте изучать английский язык. Потратив пару лет на то, чтобы уметь бегло и без напряжения читать английский текст и общаться на английском, вы потом сэкономите себе кучу времени, пользуясь куда более качественными источниками при изучении любой другой области, в том числе и математики.

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

Для изучения английского лучше идти на групповые занятия на курсы. Так же полезно читать на английском (есть много адаптированных книг), пытаться переводить интересные вам тексты, искать собеседников-иностранцев для переписки (тут помогут сайты типа livemocha.com и специализированные форумы), могут помочь самоучители типа Мерфи (English Grammar in Use, Eglish Phrasal Verbs in Use и подобные), полезны бесплатные онлайн-курсы типа study.ru.

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

Начинайте изучать английский прямо сегодня.

2. Натуральные числа

Начать именно математику логично с арифметики натуральных чисел (это числа 0, 1, 2, 3 и так далее). Вы должны знать основные операции над натуральными числами и их взаимосвязь: сравнение чисел на больше-меньше, сложение, вычитание, умножение, деление с остатком, возведение в степень.

При изучении всех этих тем желательно иметь в голове три интерпретации натурального числа (здесь в порядке убывания важности):

Комбинаторная интерпретация. Число обозначает количество неких объектов в каком-то наборе. Если x>y, то это значит, что в наборе x больше объектов. Сложение чисел — это объединение двух наборов объектов (у одного человека 100 рублей, у другого 200 — сумма, это когда они скинулись). Умножение чисел — это способы составить пары. Например, у нас x мужиков и y баб. Умножение xy — это количество способов выбрать из них одну пару мужик-баба. Возведение в степень xy — это количество способов составить из алфавита, содержащего x символов, слова длины y. Именно комбинаторная интерпретация наиболее часто используется в приложениях математики, она же наиболее удобна при доказательстве арифметических свойств, она же наиболее близка к современному теоретико-множественному определению натуральных чисел.

Геометрическая интерпретация. Натуральное число — это отрезок на линейке. Сравнение чисел — сравнение отрезков по длине. Сложение чисел — склеивание двух отрезков. Умножение — площадь квадрата с заданными сторонами. Возведение в степень элементарной геометрической интерпретации не имеет (имеет интерпретацию в многомерной геометрии, но на начальном этапе об этом не стоит думать).

Индуктивная интерпретация. Натуральные числа получаются одно из другого, то есть есть выделенное число «ноль», и так же есть куча чисел, которые получаются прибавлением единицы. Другими словами для каждого числа определено число, следующее за данным. Эта интерпретация наиболее близка к тому, что рассказывают в начальной школе о том, что чтобы умножить x на y нужно посчитать сумму $latex x +\ldots + x$, где сложение происходит y раз. Аналогично возведение в степень — это многократное умножение.

В каких-то ситуациях полезна одна интерпретация, в каких-то другая. Например, свойства степени довольно легко выводятся из индуктивной интерпретации, однако в ней совершенно непонятно почему $latex xy = yx$, однако это же свойство элементарно видно в интерпретации геометрической или комбинаторной.

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

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

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

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

а) Докажите лемму Евклида: если p — простое число, которое делит xy, то оно делит хотя бы одно из x и y (считайте эти числа взаимопростыми). Докажите это не пользуясь основной теоремой арифметики (поскольку она сама вытекает из леммы Евклида; при доказательстве полезно использовать следствие из алгоритма Евклида).

б) Докажите, что для того, чтобы число делилось на 3, надо чтобы сумма его цифр в десятичной системе счисления делилась на 3. Аналогично объясните как проверить делимость на 9.

в) Объясните, каким образом можно возвести число 123 в 64-ю степень, используя только 6 операций умножения.

3. Целые, рациональные, вещественные, комплексные числа

Их следует изучать именно в этом порядке. Возведение в соответствующие степени пока следует отложить.

Опять же, важно рассмотреть несколько интерпретаций. Для целых чисел вы можете рассматривать отрицательные числа как отрицательный денежный баланс (долги, недостаток средств), геометрически как продолжение линейки натуральных чисел в обратную сторону (сложение и умножение будет определяться как движение по этой линейке), либо как чисто формальную конструкцию: целые числа — это расширение натуральных чисел такое, что для каждого натурального x найдется новое число -x, обладающее свойством $latex x + (-x) = 0$. С этой точки зрения целые числа — это такое расширение натуральных чисел, чтобы всегда было возможно произвести операцию вычитания (для натуральных чисел $latex x-y$ имеет смысл лишь тогда, когда $latex x \ge y$).

При рассмотрении целых чисел хорошо обратить внимание на операцию модуля числа, он же абсолютное значение (чуть позже, после знакомства с тригонометрией и геометрией, проделать то же самое для модуля комплексного числа). Вы должны понимать откуда берутся формулы типа $latex ||x|-|y||\le |x-y|$.

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

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

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

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

Про комплексные числа важно лишь знать, что $latex i^2 = -1$ и вывести отсюда формулы сложения, умножения и деления (в учебниках можно встретить много разных определений, чаще всего как пары вещественных чисел, но на начальном этапе самым корректным будет именно определение через формальную мнимую единицу). Это чисто формальная конструкция, которая должна стать понятнее, если вы справитесь с формальным определением отрицательных и рациональных чисел. Не пытайтесь найти комплексным числам физической или геометрической интерпретации — на данном этапе это совершенно ненужно и даже вредно.

Бытует мнение, что комплексные числа нужны только математикам, а простым инженерам они нужны не очень-то. Я спешу вас расстроить: без комплексных чисел не очень понятно как решать многие виды интегралов, рядов, дифференциальных уравнений. В теории вероятностей (крайне важная наука для анализа данных, а соответственно и для всяких там менеджеров, социологов и маркетологов) комплексные числа используются при определении характеристической функции, которая делает элементарными многие факты и вычисления в теории вероятностей. В современной геометрии комплексные векторные пространства позволяют эффективно исследовать свойства вещественной евклидовой геометрии и т. п. Можно было бы обойтись и без комплексных чисел, но тогда всё было бы намного сложнее. Тот факт, что комплексная арифметика не проходится ни в школах, ни почти в институтах, не делает её не нужной. Если вы хотите действительно стать нормальным инженером, вам строго необходимо понимание комплексных чисел.

Факультативно можно посмотреть в сторону кватернионов (там три разных мнимых единицы), октав (там их семь разных) и седенионов (там мнимых единиц пятнадцать). Это уже не является необходимым, но вероятно поможет понять формальность процедуры, которая даёт нам комплексные числа.

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

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

б) Объясните, почему не существует адекватного способа сравнивать комплексные числа на больше-меньше. (Подсказка: попробуйте определить является ли мнимая единица положительным или отрицательным числом).

в) Пусть рациональное число имеет вид a/bc, где b и c взаимопросты. Покажите каким образом отсюда можно получить его представление в виде $latex {a_1\over b} + {a_2\over c}$. Здесь, вероятно, вам будет полезно прочитать в общем виде об элементарных дробях (а для тех, кто интересуется теорией это вообще совершенно обязательно).

4. Начальная комбинаторика, матиндукция и суммы

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

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

Так же выведите $latex \sum_{k=0}^n {n\choose k} = 2^n$ и дайте комбинаторную интерпретацию этому результату.

Выведите по аналогии $latex \sum_{k=0}^n (-1)^k{n\choose k} = 0$.

Данные результаты очень просты, желательно, чтобы вы вывели их самостоятельно.

Следующая формула к комбинаторике имеет уже мало отношения, но имеет интуитивную связь с биномом Ньютона, если рассматривать его как «формулу сокращенного умножения» и доказывается во многом так же:  $latex x^n-y^n = (x-y)(x^{n-1} + x^{n-2}y + \ldots + y^{n-1})$ — её нужно знать, особенно в частном случае для $latex n=2, 3$.

Полезно так же почитать про приём двойного счета, принцип Дирихле и правило включения-исключения, а так же рассмотреть примеры применения этих приёмов.

Обязательно поймите принцип математической индукции. В самой комбинаторике гигантское количество утверждений может быть доказано методом математической индукции (хотя лучше её именно в комбинаторике и избегать из-за неинтуитивности), полно доказательств есть из теории чисел. Полезно найти формулу и доказать её по индукции для сумм $latex \sum_{k = 1}^{N} k^p$ для значений p равных 1, 2 и 3. (Это не сложно сделать самостоятельно). Для теоретиков можно найти и разобраться в формуле Фаулхабера (позволяет считать такую сумму в общем виде) и числах Бернулли, но это уже только для теоретиков.

Так же изучите арифметические и геометрические прогрессии.

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

а) Если в формуле разложения $latex x^n-y^n$ заменить y на -y, то можно понять каким образом записать аналогичную формулу для суммы $latex x^n+y^n$, однако это сработает лишь в случае нечетного n. Тем не менее, иногда может помочь замена y на мнимое значение iy. Покажите для каких n будет возможно подобное разложение суммы степеней n и запишите его.

б) Любое натуральное число можно записать в виде суммы других натуральных чисел. Например, $latex 10=2+7+1$. Таких разложений, естественно, очень много разных. Сколько именно? (Разложения следует рассматривать с точностью до порядка слагаемых).

в) Функция Эйлера $latex \phi(n)$ — это количество чисел, меньших чем n и взаимопростых с ним. Используя приём включения-исключения, выведите формулу для неё: $latex \phi(n) = n-{n\over p_1}-\dots-{n\over p_k}+{n\over p_1p_2}+\dots + (-1)^k{n\over p_1\dots p_k}$, где $latex p_i$ — простые множители числа n.

5. Графики функций

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

Необходимо знать как выглядят основные виды графиков: линейный $latex y = kx + b$, степенной $latex y = x^n$, график квадратичной функции $latex y = ax^2 + bx + c$ и дробно-линейный $latex y = {ax + b \over cx + d}$. График квадратичной функции поможет строить умение решать квадратные уравнения, график дробно-линеной функции как раз умение делить полиномы.

Если вам уже известен график некоторой функции $latex f(x)$, необходимо уметь построить так же график функций $latex |f(x)|$, $latex f(|x|)$, $latex f(x + a)$, $latex f(x) + a$, $latex f(ax)$, $latex af(x)$. Важно уметь строить график обратной функции.

Так же на этом этапе полезно иметь хотя бы общее представление о том как устроены графики функций комплексного переменного как отображение кривых комплексной плоскости.

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

а) Функция называется четной, если $latex f(-x)=f(x)$ и нечётной, если $latex f(-x)=-f(x)$. Охарактеризуйте четность и нечетность с точки зрения графика функции. Может ли функция быть одновременно и четной и нечетной? Перечислите все такие функции.

б) Функция называется периодической, если существует такое T, отличное от нуля, что $latex f(x + nT) = f(x)$ для любого $latex n$. Охарактеризуйте это определение с точки зрения графика функции. Существует ли такая периодичная функция, что любое значение T будет её периодом?

в) Пусть даны две функции. Как найти точки пересечения их графиков?

5. Уравнения, неравенства, системы уравнений

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

Надо уметь решать основные виды частных случаев уравнений более высоких степеней. Например, уравнения вида $latex ax^{2n}+bc^n + c = 0$ или уравнения с симметричными коэффициентами.

Сразу стоит оговориться, что аналитически уравнения старше четвертой степени в общем виде не решаются — это утверждение составляет выдающуюся теорему Абеля. Среднему читателю нет смысла углубляться в доказательство, но интересующимся теоретической математикой я настоятельно рекомендую ознакомиться с книжкой «Теорема Абеля в задачах и решениях» Алексеева А.Б.

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

Из возможности делимости полиномов (с остатком и без) и из основной теоремы алгебры должен стать очевидным тот факт, что любой полином n-ой степени представим в виде $latex a\prod_{i=0}^n (x-x_i)$, где $latex x_i$ — комплексные корни данного полинома. Отсюда элементарно выводятся формулы Виета в общем виде (если вы вывели сами Бином Ньютона, то и формулы Виета отсюда выведете). Если мы знаем, что все корни многочлена рациональны, то из формул Виета следует очевидный способ нахождения их перебором.

Если известно, что комплексное $latex x_0$ является корнем многочлена $latex f$ с вещественными коэффициентами, то подставив в него сопряженное $latex \bar{x_0}$, мы убедимся, что оно так же является корнем. Отсюда можно получить аналогичное данному выше представление вещественного многочлена в виде $latex a\prod_{i=0}^n (x-x_i) \prod_{j=0}^m (x^2+p_jx+q_j)$, где используются уже только вещественные корни и коэффициенты. Теперь очевидно, что любой вещественный многочлен нечетной степени имеет вещественный корень.

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

С неравенствами всё довольно просто — достаточно понять как решаются базовые случаи на уровне задачников к ЕГЭ. Там нет ничего сложного. Аналогично с системами уравнений. Важно понять общий принцип решения систем уравнений через выражение вначале одной из n переменных через $latex n-1$ других, затем подстановкой этого значения в систему, выражения одной из оставшихся через остальные и т. д.

Можно посмотреть так же в сторону метода Гаусса решения систем линейных уравнений, но на самом деле это пока не обязательно — мотивация для решения таких систем и их важность станут понятны несколько позже.

Упражнения:

а) Решите уравнение $latex x^5 + 5x^4 + 10x^3 + 10x^2 + 5x +1 = 0$ меньше чем за две минуты.

б) Используя формулы Виета, получите представление для дискриминанта квадратного уравнения в виде $latex D = a^2(x_1-x_2)^2$, где $latex x_i$ — корни многочлена. В отличие от привычной школьной формулы, это определение обобщается на случай многочленов произвольного порядка: $latex D = a_0^{2n-2}\prod_{i<j} (x_i-x_j)^2$. Пользуясь этим определением и формулами Виета найдите дискриминант для многочлена $latex x^3 + px + q$.

в) При каких параметрах a уравнение $latex \sum_{i=1}^x {1\over i(i+1)} = a$ имеет решение и какое? (Стоит рассматривать только целые $latex x\ge 1$).

6. Показательная и логарифмическая функции

Определить строго эти функции в школьном курсе весьма сложно, поэтому придётся опираться не на строгость, а на интуицию.

Начать следует с показательной функции $latex a^x$. Как строить такую функцию для целых $latex x$ понятно (из индуктивного определения легко следует как считать отрицательные целые степени). Степень вида $latex a^{1/x}$ можно определить как корень степени $latex x$ и использовав приём поразрядного подбора. Это следует из свойства $latex (a^b)^c=a^{bc}$. Воспользовавшись этим же свойством еще раз, можно определить возведение в любую рациональную степень.

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

Когда определена показательная функция, можно определить логарифм как функцию, обратную к показательной.

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

Упражнения:

а) Пусть дано произвольное натуральное число x. Сколько разрядов потребуется для его записи в позиционной системе счисления с основанием k? (Для тех, кто пропустил системы счисления, рассмотрите только случай $latex k=10$).

б) Используя выпуклость логарифма докажите неравенство Юнга: $latex ab \le {a^p\over p} + {b^q \over q}$ при $latex {1\over p} + {1\over q} = 1$, $latex p,q\ge 1$ и $latex a,b\ge 0$. Факультативно можете посмотреть в учебниках как из него выводятся неравенства Гёльдера и затем Минковского (сейчас это не необходимо, но позже они сыграют важную роль).

в) Используя неравенство $latex a^x \ge x + 1$ докажите, что среднее геометрическое всегда меньше либо равно среднему арифметическому.

7. Геометрия

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

Во-первых, надо узнать про сумму углов n-угольников. Это очень простая теорема. Употребляется она не часто, но не знать её стыдно.

Затем надо принять число 2π как длину окружности единичного радиуса. Никакой строгости тут быть не может — школьник (да и студент технического ВУЗа) чисто физически не сможет определить понятие длины, а уж тем более доказать, что окружность этой самой длинной в принципе обладает. Это действительно не простые всё вопросы, требующие значительной подготовки, поэтому просто примите большую часть очевидных фактов как должное.

Затем полезно (но не обязательно) доказать (не слишком строго опять же) формулы площади и периметра для окружностей произвольного радиуса, в предположении, что радиус единичной окружности равен 2π, что мы пока условились принимать как аксиому.

Изучите измерение углов в радианах и как считать длину дуги окружности (можно пока только единичной).

Покажите, что если из одной точки A исходит два луча, пересекающих линию L в точках B и C, и линию L’, параллельную L, в точках D и E, то $latex {AB\over AC} = {AD \over AE}$. Это и подобные соотношения дают основания для введения тригонометрических функций: синуса, косинуса, тангенса, котангенса, секанса и косеканса. Определяемые изначально как отношения между сторонами прямоугольного треугольника, тригонометрические формулы оказываются зависимыми в действительности не от сторон этого треугольника, а только от угла, что и должно быть видно из выведенного выше соотношения.

Используя тригонометрические функции научитесь определять площади и высоты простейших геометрических фигур.

Докажите теорему Пифагора и из неё установите основное тригонометрическое тождество $latex \sin^2 x + \cos^2 x = 1$ и его следствия.

Докажите теорему синусов (для этого вам предварительно придется немного покопать свойства вписанных в окружность углов).

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

Из векторного исчисления выведите теорему косинусов. Из теоремы косинусов и основного тригонометрического тождества — формулу Герона.

Докажите теперь теорему Пифагора в чисто векторном смысле: определив ортогональность (перпендикулярность) векторов как $latex (x, y) = 0$ установите равенство $latex \|x+y\|^2 = \|x\|^2 + \|y\|^2$ для ортогональных векторов.

Рассмотрите уравнения прямой и окружности на плоскости. Если в дальнейшем вы хотите изучать теоретическую математику — изучить так же свойства инверсии.

Полезно изучить так же золотое сечение.

Упражнения:

а) Докажите неравенство Коши-Шварца (его еще называют неравенством Коши-Буняковского): $latex |(x, y)| \le \|x\| \|y\|$.

б) Дана единичная окружность с центром в начале координат. Найдите все уравнения прямых, проходящих через заданную точку $latex (x_0, y_0)$ и касающихся этой окружности.

в) Каждая точка плоскости может быть представлена парой координат $latex (x, y)$. Существует ли такая прямая, которая проходит в точности через одну точку, у которой обе координаты рациональны? (Более сложный вариант: установить существует ли прямая, которая вообще не проходит через точки с двумя рациональными координатами).

8. Тригонометрия

Рассматривая единичную окружность определите значения тригонометрических функций для произвольных аргументов углов. Отсюда установите периодичность тригонометрических функций, четность, нечетность, свойства типа $latex \sin(x+\pi/2) = \cos x$. Докажите неравенство $latex \sin x \le x \le \tan x$.

Самые сложные формулы, которые надо изучить в самом начале, это формулы синуса и косинуса суммы: $latex \sin(x+ y) = \sin x \cos y + \cos x \sin y$ и $latex \cos (x + y) = \cos x \cos y-\sin x\sin y$. Их доказательство обязательно надо найти.

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

Научитесь строить графики тригонометрических функций. Изучите обратные тригонометрические функции. Научитесь решать тригонометрические уравнения и неравенства.

Изучите геометрическую интерпретацию комплексных чисел и их тригонометрическое представление. Разберите формулу Муавра и вычисление комплексных корней. Применяя формулу Муавра и Бином Ньютона получите формулу n-кратного угла для синуса и косинуса.

В общем-то главная суть тригонометрии на данном этапе — усвоить всевозможные манипуляции с тригонометрическими тождествами и ряд стандартных трюков при решении уравнений. Здесь опять же можно почитать материалы для подготовки к ЕГЭ — какой-то специальной теории на данном этапе не удастся рассмотреть.

Уражнения:

а) Преобразуйте выражение $latex \sin\arctan x$ так, чтобы оно не содержало арктангенса (и любой другой обратной тригонометрической функции).

б) Пусть $latex \epsilon_n^k$ — k-ый комплексный корень n-ой степени из единицы. Докажите, что $latex \sum_{k=1}^n \epsilon_n^k = 0$.

в) Придумайте формулу разложения для произвольной суммы $latex x^n+y^n$.

9. К начальному институтскому курсу

Изложенного выше достаточно для того, чтобы начинать читать университетские учебники. Области математики, которые необходимо изучать, очень зависят от того, чем вы планируете заниматься. Я дам краткий ориентир что и как читать по самым основам в самом начале — все это вам пригодится 100%.

Одномерный анализ: это пределы, производные, интегралы и ряды. На начальном этапе я бы посоветовал избегать вникания в формализм. Запись $latex \lim_{x\to a} f(x) = b$ означает, что при приближении аргумента x к a, значение функции приближается к b. Довольно очевидно, что функция $latex 2f(x)$ при этом будет приближаться к значению $latex 2b$ даже без строгих доказательств. Если вы начнете зарываться в эпсилон-дельта формализм, который преподаётся в ВУЗах, то потратите уйму времени и ничего не поймёте. Причины ненужности этого формализма я подробнее поясню ниже.

По пределам вы должны усвоить два золотых предела, теорему Штольца (её возможно отложить на время, пока не займётесь формализмом), изучить о-нотацию и свойства бесконечно малых и бесконечно больших.

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

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

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

Про ряды особо ничего знать не надо. На практике вам мало что из теории рядов пригодится, кроме как самих рядов. То есть сама теория ставит много вопросов о сходимости, равномерной сходимости и подобном, однако все реальные ряды, которые встретятся на вашем жизненном пути, будут обладать весьма хорошими свойствами сходимости и не потребуют какого-либо специального анализа. Про это я опять же напишу ниже подробнее. Из прикладных аспектов хорошо посмотреть арифметические операции над рядами, как с помощью рядов решаются дифференциальные уравнения и как выводятся ряды для основных школьных функций. Посмотрите так же на аппроксимацию Стирлинга (в общем виде вы пока её не сумеете понять, но простейшее приближение $latex n! \sim \sqrt{2\pi n}(n/e)^n$ вы уже должны быть способны получить из Гамма-функции, пусть и не совсем формально).

Читать по анализу рекомендую учебники Зорича и Лорана Шварца. Если решите брать другой учебник и копать теорию, то критерием выбора книги должно быть использование языка топологии и векторных пространств в книге, а не эпсилоны и кучи неравенств.

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

Основы линейной алгебры. Обозначить наиболее важные темы в линейной алгебре довольно сложно — там в принципе неважного нет. Поначалу можно опустить изучение тензоров, но это в принципе всё. При изучении линейной алгебры следует обращать внимание на следующие аспекты:

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

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

3) Сам определитель должен быть определен как кососимметрическая форма либо как направленный объём. Если вам изначально предлагается формула с разложением по строке или столбцу, либо же здоровая сумма с перестановками коэффициентов — такой учебник так же никуда не годится (исключение составляет учебник Кострикина).

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

Из конкретных учебников советую учебник Винберга, Кострикина и совместный учебник Кострикина и Манина. Говорят, что хороший учебник Шелдона Акслера «Linear Algebra Done Right», но сам я его не читал.

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

В интегрировании опять же не стоит углубляться в теорию — просто посмотрите как считаются стандартные примеры интегралов. Например, обратите внимание на вычисление интеграла Гаусса и вычисление объема n-мерной сферы. Из теоретически важного можно выделить теорему Грина и интегрирование потенциальных векторных полей. Учебники все те же Зорича и Шварца.

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

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

Комплексный анализ. Курсы комплексного анализа все довольно стандартны, можете брать любой, хотя комплексный анализ нужен уже только тем, кто собрался двигаться дальше. Хорошим критерием того, что вы неплохо разобрались в теме, является понимание как интегрировать и суммировать с помощью вычетов (вы должны быть способны посчитать сумму $latex \sum_{k=1}^{+\infty} {1\over k^2}$), умение доказывать основную теорему алгебры в одну строчку и понимание почему голоморфность эквивалентна аналитичности. С точки зрения комплексного анализа удобно рассмотреть анализ Фурье (хотя, если углубляться в теорию, еще лучше рассматривать эти темы с точки зрения функционального анализа).

10. Что дальше

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

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

Задачи

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

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

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

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

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

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

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

Доказательства

К доказательствам отношение в школе и в институте так же формируется некорректное. Надо понимать три вещи:

1) Целью доказательства является логически корректное убеждение спорящего оппонента, а не достоверное установление истины.

2) Достоверно корректных доказательств вообще почти не существует.

3) Доказательств каждого отдельного факта чаще всего существует довольно много и нет никакого единого доказательства, которое надо знать.

Я поясню что я имею ввиду.

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

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

Это очень тонкий момент, но для полноты строгости его необходимо рассматривать. Это приводит к тому, что вместо пяти аксиом Евклида приходится рассматривать двадцать аксиом Гильберта, которые закрывают дырки Евклидовой геометрии. Но возникает резонный вопрос: а нужна ли нам вообще такая строгость? Что реально получает студент-инженер или школьник, рассматривая вместо пяти аксиом двадцать аксиом? Ведь скорее всего эти щели в окружностях ему будут совершенно непонятны и будут казаться надуманными — чтобы вполне осознать их возможность, надо предварительно изучить понятие полноты метрических пространств, а это уже довольно продвинутый теоретический материал. Изучение же метрических пространств без предварительной геометрической интуиции так же будет бессмысленным.

Здесь как раз возникает вопрос убедительности. Аксиомы Евклида были сформулированы в третьем веке до нашей эры, а их неполнота стала понятна лишь во второй половине XIX-го века. Во весь этот промежуток времени ни у кого не было никаких сомнений в верности доказательств Евклида. В школе до сих пор используются аксиомы и доказательства Евклида — они некорректны, что очевидно любому математику, но они в то же время убедительны, и никого в школе они не смущают. Но тогда возникает вопрос, стоит ли тратить время вообще на эту формулировку неполноценных аксиом и неполноценные доказательства? Так факт, что вертикальные углы равны между собой очевиден на глаз, и никакой школьник никогда не поймёт зачем это надо доказывать. Так не логично ли выкинуть это доказательство вообще из курса школьной геометрии, наряду с другими? Моя программа по геометрии, данная выше, как раз предполагает именно подход доказательств, беря за основу не аксиомы и строгие выводы, а очевидные соображения.

Аналогичная ситуация наблюдается в матанализе. Исторически производные, пределы, интегралы и ряды появились гораздо раньше, нежели они были формально обоснованы с точки зрения эпсилон-дельта формализма. Такой выдающийся математик как Эйлер доказал огромное количество теорем, но за эти доказательства в современном российском ВУЗе ему поставили бы твёрдый кол: Эйлер просто не знал о том, что надо еще доказывать всякие там сходимости, произнося слова типа «для любого эпсилон больше нуля, существует такое эн, что…» Тем не менее, доказательства Эйлера казались совершенно строгими и убедительными его современникам — в то время никто не занимался поиском контрпримеров и тонким анализом сходимости.

Что здесь важно заметить: при всей нестрогости доказательств Эйлера, результаты, которые он получил (даже самые невероятные), оказались верны. Почему так произошло? Как я уже упоминал выше, вам очень маловероятно что попадутся примеры функций, обладающих какими-то неприятными свойствами, а если они и будут, то эти неприятные свойства чаще всего будут совершенно очевидны. Чтобы сконструировать какой-то контрпример, в котором будет важно тонко анализировать свойства сходимости, надо очень здорово попотеть. Посмотрите, к примеру, книгу Гелбаума и Олмстеда «Контрпримеры в анализе». Вы очень быстро поймёте, что такие функции вам никогда не понадобятся на практике.

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

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

Тут возникает проблема аксиоматизации теории множеств, поскольку наивные представления о множествах тут же приводят к чудовищным противоречиями. Возникает потребность в строгой аксиоматике на языке формальной логики. Здесь уже сразу возникает вопрос о том, что аксиоматизаций теории множеств существует много разных и хорошо бы обсудить со студентами их различия, а так же следующие из некоторых из них парадоксы. Но даже если рассматривать лишь одну какую-нибудь аксиоматику, возникает вопрос строгого обоснования используемой логики, на которой мы формулируем аксиомы. Логических парадоксов ведь тоже довольно много, да и самих разновидностей логики существует изрядное количество: какое-то время назад многие математики активно выступали против классической логики в пользу интуиционистской, но даже в рамках привычной всем логики возникают вопросы использования логики более высокого порядка нежели первого, или необходимости рассматривать модальную логику, или же нашей правомочности в принципе рассматривать объекты бесконечной природы. Во Вселенной ведь судя по всему лишь конечное число частиц, так имеем ли мы право мыслить о всяких там континуумах и счетных множествах в математических рассуждениях? Не является ли это всё одним большим заблуждением? Эти вопросы не стоят сейчас на полном серьезе в математике, но тем не менее они показывают, что корректность математического доказательства — вещь очень относительная.

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

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

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

Для студента задачей доказательства так же является убеждение, но в данном случае уже самого себя. Когда вы убедили себя в верности какого-либо утверждения и оно не вызывает у вас сомнений, вы можете считать, что вы это понимаете. Только когда у вас нет сомнений в истинности теоремы, вы можете её смело применять.

Предположим, вы начали изучать натуральные числа и хотите понять, почему $latex xy=yx$. Предположим, что вы перебрали очень много пар чисел (скажем, сто разных пар), и убедились, что во всех этих случаях данное свойство выполняется. Допустим, вы сочли, что этот перебор является замечательным доказательством требуемого утверждения, настолько замечательным, что вы сами вполне убеждены в верности теоремы и не мыслите себе иного. Учитель в институте скажет вам на такое доказательство, что вы идиот и отправит служить в армию. Я же вам скажу, что вы молодец, вы действительно доказали этот факт для себя и можете переходить к следующей теме. Через какое-то время, может быть при изучении графиков функций, может быть при изучении производных, вы всё же поймёте, что ваше доказательство никуда не годится — тогда вы вернетесь в самое начало и докажете это же самое свойство чисел уже по-другому. И будет наивно думать, что это станет окончательным вашим доказательством.

Идеальная ситуация — это когда у вас есть учитель, который показывает вам в чем ваше доказательство не верно. Если вы считаете какой-то шаг очевидным, учитель должен вам показать ситуацию, в которой такой шаг является явно некорректным. В некоторых книжках для некоторых доказательств отдельно рассматриваются тонкие моменты самих доказательств, но это лишь частные случаи. По большому счету у самоучки нет никакого способа достоверно проверить является ли его понимание доказательства полноценным или нет — единственный критерием здесь является лишь ваша личная убежденность в правильности доказанного утверждения. Чаще всего и у студента технического ВУЗа тоже нет такого учителя, который способен показать неверность доказательства — там требуется лишь ответ в соответствии с программой и не более того. Понимания от вас не требуют, дать вам это понимание там никто не способен.

Сказанное имеет важное методическое следствие. Во-первых, вы должны принять за правило не изучать строгие формальные доказательства на более глубоком уровне, чем это требуется лично вам. Если вам очевидно, что $latex xy=yx$ из геометрических построений, не стоит лезть в теорию множеств. Если вам очевидно, что предел суммы равен сумме пределов, потому что это довольно логично (если $latex x_n$ приближается к $latex a$, а $latex y_n$ приближается к $latex b$, то было бы странно, если бы $latex x_n+y_n$ приближался к чему-то иному, нежели к $latex a+b$), то наплюйте на строгое доказательство. Именно сам эпсилон-формализм вам нигде кроме этого и парочки подобных очевидных доказательств не пригодится. Так не тратьте время.

Второй методический момент связан с тем, как вообще человек мыслит при доказательстве чего-либо. Я очень сильно сомневаюсь, что какой-либо математик начиная думать о теореме, начинает с того, что произносит в голове фразу: «Пусть функция f равномерно непрерывна на замкнутом интервале $latex [a;b]$ и дифференцируема по крайней мере десять раз в некоторых окресностях точек x, y и z; выберем для каждой из этих точек такое положительное эпсилон и натуральное эн-большое, что…». Люди просто не умеют так думать, хотя это именно то, что требуют отвечать в институте.

Можно рассмотреть набросок доказательства основной теоремы алгебры, который я привёл выше. Данное «доказательство» совершенно неформально и не строго, но это хорошая идея, которая подсказывает, каким путем идти дальше. Попытки формализовать это доказательство и заполнить пробелы, которые имеются, приводят уже к доказательству в том виде, как оно публикуется в учебниках и научных статьях. Со всякими эпсилонами  и эн-большими. Но изучать математику именно в таком формализованном виде, не пытаясь обратить внимания на неформальную интуицию, скрывающуюся за определениями — не правильно. Первоначальна в рассуждениях почти всегда интуиция и неформальные построения, а лишь затем добавляется строгость.

Таким образом получается, что ваша личная интерпретация доказательства, пусть даже и неформальная и где-то что-то упускающая, оказывается гораздо более ценна, нежели целиком точное и формальное изложение. Гораздо ценнее, если вы понимаете интуитивно теорему, нежели чем если вы зазубрили доказательство и умеете его выдать у доски. Формальное же доказательство в учебнике дается не для того, чтобы вы разобрались именно в нем и знали именно его в том виде как оно дано, а для того, чтобы подсказать вам идею, которая стоит за утверждением и объяснить почему теорема имеет вообще место быть.

Через какое-то время самостоятельного изучения математики вы научитесь читать формальные выкладки очень быстро и бегло, и на лету выхватывать стоящую за ними идею. Понимание необходимости таких выкладок по идее должно придти при рассмотрении более-менее продвинутых тем вещественного и комплексного анализа, где появляется уже много совершенно не очевидных теорем, далеко не каждая их которых имеет хоть какую-то интуитивную трактовку. Набивание руки на изучении таких доказательств приучит вас легко их интерпретировать. Поэтому если на начальном этапе вам вдруг покажется, что какой-то факт и так понятен и не требует доказательства — пропускайте это доказательство. Если вы видите очевидное рассуждение, устанавливающее справедливость какой-то формулы, и не понимаете зачем в учебнике даны тонны непонятных выкладок — ориентируйтесь на своё рассуждение и плюйте на выкладки в учебнике.

Ваша личная интерпретация и понимание математики на порядок важнее того, что вам навязывают.

Помочь в развитии навыков доказательства могут два таких совета:

1) Иногда, не слишком часто, внимательно просматривайте все условия теоремы, и по каждому из условий задайте сами себе вопрос: «Где используется это условие? Что было бы, если бы это условие не присутствовало, каким именно образом доказательство развалилось бы?» Такие размышления со временем научат вас строгому мышлению и понимаю математического формализма.

2) Для каждой теоремы с не очень простым доказательством, спрашивайте сами себя: «Каким именно образом автор доказательства до него додумался? Какая у него была первоначальная неформальная идея?» Это научит вас понимать интуицию, которая кроется за формальными выкладками.

Последовательность изучения

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

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

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

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

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

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

Правда, с забеганием вперед и поверхностным знакомством надо тоже знать меру. Вы все же должны понимать, что вы читаете, и поддерживать в голове баланс из общих знаний что откуда берется и строгих доказательств. Я насмотрелся в своей жизни на кучу финансовых аналитиков, портфельных и риск менеджеров и подобных, которые умеют очень долго вести разговор на математическую тему, сыпать терминами и фамилиями, они знают названия кучи теорем, областей математики и что откуда берется, но при малейшей попытке как-то конкретизировать разговор, выясняется, что они вообще не понимают даже в общих чертах о чем они балаболят. Такому, как я понимаю, учат в разных там экономических ВУЗах. Это стыдно.

Что касается самого материала, то тоже нужно понимать, что в общем-то что действительно важно и нужно тоже нет никакой достоверности. Инженеры будут вас уверять, что обязательно надо изучать интеграл Римана со всеми строгими выкладками и читать про равномерную сходимость, однако студенты и преподаватели НМУ вам расскажут о том, что интеграл Римана не нужен, а нужен интеграл Лебега, а вместо равномерной сходимости надо изучать банаховы пространства в самом общем виде. Правильный ответ как учить скорее всего может дать лишь каждый отдельно взятый учащийся, и этот ответ будет правильным исключительно для него, в зависимости от его личных целей и того, как ему проще понимать материал. При всей абсурдности такого курса как «аналитическая геометрия» в институтах, если вам просто надо быстро понять свойства эллипса для прикладной цели, то вероятно будет эффективнее действительно почитать книгу по «аналитической геометрии», а не копаться в свойствах квадрик, хотя конечно последнее даст вам куда лучшее понимание вопроса.

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

На этом я закончу. Меня только что (несколько минут назад) бросила девушка и я не могу собраться с мыслями, чтобы как-то осмысленно подвести черту под этим текстом.

Февраль 19th, 2013

Конкретная математика, Д. Кнут

Еще недавно прочитал (вернее конечно пролистал) книгу Кнута «Конкретная математика». Опять же читал с целью найти чего-нибудь интересного для собственного учебника.

Когда-то, в заметке, где я ругал «Искусство программирования» того же Кнута, я эту книгу уже рекомендовал читателям. Тогда я не имел хорошего представления о книге, и поэтому судил по прочитанным парочке первых глав и содержанию. Мне тогда показалось, что первые главы очень просты и хорошо написаны, а судя по содержанию там материал был довольно интересный — мне казалось, что там весьма глубоко рассматривалась комбинаторика, всякие там числа Бернулли, постоянная Эйлера и прочие интересности.

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

Проблем у книги три:

1. Сам материал крайне примитивен. Даже теорема Эйлера (та что $latex m^{\phi(n)}\equiv 1 \pmod n$ при $latex (m, n) = 1$) не доказывается, хотя используется.

2. Всё что доказывается — доказывается исключительно синтаксически. Везде, где есть какая-то логика за рамками синтаксических выводов (та же комбинаторика или метод «разделяй и влавствуй»), это просто умалчивается. Верхом сообразительности в книге позиционируется способность придумать какую-нибудь замену или что-то на что-то домножить.

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

В общем не читать ни в коем случае. Говно редкостное.

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

Февраль 18th, 2013

Доказательства из Книги, М. Айгнер, Г. Циглер

Читаю сейчас в метро «Доказательства из Книги» Айгнера и Циглера. Купил я её уже достаточно давно, собственно именно она в своё время подстегнула меня к изучению абстрактной математики — в первой же главе я наткнулся на понятия полей, колец и топологических пространств, что подвигло меня на чтение общей алгебры и топологии, а это была очень значительная веха в моём изучении математики. Правда, сразу после первой главы была довольно скучная вторая глава (наверное одна из самых скучнух во всей книге), и поэтому  я в своё время так её читать дальше и не стал.

Сейчас я подбираю хорошие примеры и задачи для собственного учебника (я обязательно буду его продолжать, но пока всё никак не могу найти времени), и поэтому просматриваю чаще всего наискосок многие учебники уровня начинающих, и вот взялся за это издание. Если кратко — книга блестящая. Оторваться от чтения невозможно вообще никак, сами доказательства не сказать что всегда элементарные (но чаще всего), но никаких особых знаний не потребуется. Там конечно есть и основы алгебры и основы многомерной геометрии, но именно основы, по большому счёту в любой главе можно разобраться довольно быстро, получив лишь самое шапочное представление об общих алгебраических и геометрических понятиях из Википедии (а часто эти понятия приводятся там же в приложениях или во врезках на полях).

Кто не читал эту книгу — обязательно прочтите. Не потому что она сообщает какие-то уникальные сведения, а просто потому что безумно увлекательно. Одна из лучших книг, что вообще когда-либо мне попадалась.

Октябрь 10th, 2012

Лекции Городенцева

Вчера читатель в комментариях поинтересовался что ему читать по алгебре, и ему посоветовали записки лекций Городенцева. Сам я их не читал, но говорят, что хорошие. Так вот выяснилось вдруг, что сайт ИТЭФ, где была домашняя страничка Городенцева вместе со всеми его лекциями, закрыта, видимо навсегда, а главная страница группы «Theoretical, Mathematical & String Physics» выглядит как гробовая доска. «All activities closed. Site not updated». Говорят, виноват Путин, и вроде так оно и есть.

Про ИТЭФ я мало что знаю, сам ни с физикой ни с физиками почти не пересекался в своей жизни, но урывками про ИТЭФ слышал много хорошего, ну и то что там вращались люди типа Городенцева дает основания полагать, что место действительно было достойное. Потом краем уха я слышал, что там отбирают какую-то собственность, ученых выживают, лаборатории закрывают, требуют заниматься не наукой, а бизнесом. Что вместо ученых в руководство института назначили «эффективных менеджеров». Был какой-то проект «Спасите ИТЭФ!», но это всё мимо меня прошло.

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

UPD: Лекции найдены и выложены читателями блога и Тифаретника. Спасибо им! Собственно лекции по алгебре, еще фрагменты лекций по геометрии, так же есть записки лекций на сайте НМУ: 1, 2.

This work is licensed under GPL - 2009 | Powered by Wordpress using the theme aav1
SEO Powered by Platinum SEO from Techblissonline