Я все-таки нашла ЭТО!
Гарри Поттер и эллиптический интеграл
Саммари: Алгебра всегда побеждает матан.
Этим прекрасным утром в пятницу 13 Поттер проснулся от сильной головной боли. Он с трудом вспомнил вчерашний день: недоделанное задание по защите от сил зла, его вызов черному магу Вольдеморту и бурная ночь с лучшей подругой, Гермионой Грейнджер. Они вдвоем старались вовсю, но так и не смогли взять за всю ночь всего каких-то 75 мясных интегралов типа ?dx ?(1+x2n) - это и было то коварное задание и заодно тренировка перед предстоящей дуэлью.
К тому же Гарри придумал себе для разминки новое задание: найти корни простенького алгебраического (а значит, святого) уравнения x5? x ?1 = 0 и выразить их через радикалы, но безуспешно. Он уже исписал все свои пергаменты и начинал откровенно злиться.
- Это же элементарно, Ватсон,- заявила Гермиона.- это так просто, что, я думаю, и Добби сможет это сделать!
С этими словами она развернулать и ушла. А Гарри ничего не оставалось делать, как позвать на помощь своего старого знакомого эльфа.
К слову сказать, всего за какой-то год Добби резко увеличил свои познания в элементарной арифметике. Он обожал считать определители всяких там матриц и сильно обижался, когда ему предлагали сосчитать определитель всего 100x100 или 239x239. «Всякий уважающий себя домовой эльф должен вычислять только определители NxN!»
А недавно коварный Малфой соблазнил Добби интегралами. Он-то знал, что это зло и вызывает привыкание, но доверчивый эльф ни о чем не догадывался. Вскоре после этого, бедного Добби крючило и корраптило, если он не выполнял норму - 30 интегралов в день.
Пришлось ждать долго. Несчастный cursed и doomed gray elf никак не мог оторваться от своего любимого занятия.
С криком «Добби огорчил великого Гарри Поттера!», явившийся эльф схватил со стола первую попавшуюся книгу и начал биться об нее головой, изрядно портя переплет. Это оказался Кормен и компания.
- Кобольдов меньше жрать надо,- проворчал Поттер, отбирая у него то, что осталось от книжки.- Они же ядовиты. А ты живуч, прямо как тролль варвар, несмотря на то, что ты эльф. Ты лучше реши-ка вот это,- с этими словами, Гарри протянул ему листок с уравнением.
- Добби хороший домовой эльф, он умеет читать, писать, считать определители, брать определенные и неопределенные интегралы, дифференцировать, раскладывать функции в ряд Тейлора, доказывать теорему Лагранжа об эрмитовых формах, теорему Лагранжа о конечных абелевых группах, доказывать алгебраическую замкнутость поля комплексных чисел, писать на C/C++/C# и решать сложные уравнения с коэффициентами из алгебры кватернионов. Он поможет Гарри Поттеру!- с этими словами, Добби схватил листок с заданием и понесся в Infinite Dungeon на свой 239 уровень.
Время шло, а Добби все не появлялся. Неумолимо приближалось время схватки в Темным Лордом. Он вышел из Гриффиндорской башни и направился в сторону Большого Зала. Там Гарри встретили друзья и учителя, среди них был Великий Кострикин, который в прошлом победил особо злого Черного мага Фихтенгольца и его приспешника коварного Демидовича, который любил пытать маленьких детей жуткими интегралами и пределами, да такими, что даже у Добби опускались руки.
И вот, настало 13 часов 13 минут - роковое для него время. Он был обвешан артефактами с головы до ног. Тут были амулеты и Куроша, и Фаддеева, и даже Соминского! От таких holy вещей у него резко повысилось DV/PV. Наконец, Кострикин благославил его, и Гарри исчез.
* * *
Вольдеморт не заставил себя ждать. Первое, что он сделал, так это направил на Гарри свою двухпроцессорную 1,5ГГц палочку фирмы «Magic Missile» (в смысле AMD) и прошипел:
- Вычислить-объем-тетраэдра-по-всем-сторонам-с-точностью-14-знаков-после-запятой-в-трехмерном-евклидовом-пространстве!
Поттер вздрогнул от неожиданности, но все-таки вспомнил нужную формулу и выкрикнул:
- Корень-квадратный-из-определителя-матрицы-Грама-скалярного-произведения-относительно-векторов-образующих-этот-тетраэдр-деленный-на-6!
Раздался хлопок, и черный шар, выпущенный из палочки Темного Лорда, рассыпался в пыль.
Убедившись, что заклинание сработало, Гарри перешел в наступление:
- Решить-в-натуральных-числах-уравнение-«xn+yn=zn»-при-n>2. (Этот спелл он прочел в одном толстенном фолианте, который Добби уничтожил о свою голову, когда не смог диагонализировать ортогональными преобразованиями простейшую квадратичную форму с n переменными, поэтому Поттер не успел прочитать доказательства.)
Вольдеморт побледнел и с мыслью: «Откуда чертов Поттер это знает?» что-то прошипел. Результат превзошел все его ожидания - молния, выпушенная из Гарриной палочки, натолкнулась на ледяную стену и сгинула. Судя по всему, ему было известно доказательство, (причем довольно короткое, несмотря на то, что весь тот злополучный фолиант был посвящен только этому спеллу), но Гарри, как ни старался, ничего расслышать не смог. В ответ на это, Лорд выкрикнул:
- Найти-длину-эллипса-по-обеим-полуосям-если-их-отношение-не-превосходит-1000!
Гарри замер в ужасе. Он понял, чего добивается Вольдеморт - здесь получается эллиптический интеграл второго рода, который не берется. Но тут на него снизошло озарение:
«var
i,j,n:longint;»
«О нет! Что за ересь я несу! - мелькнула у Поттера в голове мысль.- Так нельзя. Time Limit'ов не оберешься.» И он кастанул:
#include
int main(void){
…
return 0;
}
Темный Лорд расхохотался:
- У тебя ничего не выйдет, Поттер.
Но тем не менее, Гарри с удовлетворением наблюдал, как заклятье Вольдеморта постепенно тает. «Фу, пронесло,- подумал он.- могло быть и хуже. Например, так:
import java.math.*
public class Ellipse...»
Он закрыл глаза, чтобы сосредоточиться на следующем спелле, но тут его скрутила страшная боль и незнакомый голос в голове произнес:
- Wrong answer на 15-ом тесте.
Поттера спасли артефакты. Вольдеморт злобно прошипел:
- Ты надеялся отбить это заклятье в одиночку! Неудивительно, что у тебя ничего не вышло. На моей памяти это заклятье было уничтожено всего лишь один раз, и то потому, что его отбивали аж две группы по три колдуна, одна группа со второй попытки, а другая с первой. И притом, обе команды использовали греховную тригонометрию со всякими там синусами и косинусами. Твой ход, я жду.
Гарри судорожно перебирал в голове все известные ему проклятья. Но тут он вспомнил, что Добби до сих пор не принес ему решение того дурацкого уравнения. «Авось пройдет», подумал он и выкрикнул заветную фразу…
С чувством морального превосходства Гарри Поттер наблюдал за Вольдемортом, который в ярости тряс своей двухпроцессорной палочкой. Ничего не помогало, и Темный Лорд почувствовал всю силу святой алгебры на своем горбу - его скрючило еще больше, чем Добби, когда тот брал всего лишь один интеграл из положенных 30.
- Ты читер, Поттер. Это нечестно. Как я мог забыть, что группа автоморфизмов кольца разложения этого многочлена над полем R неразрешима, т.к. изоморфна неразрешимой группе перестановок S5, а значит, согласно теории Галуа, корни не представимы через радикалы. Я никогда не был силен в алгебре, но зато я папа в матане. «Авада Кедавра!»
С ужасом Гарри наблюдал за зеленой субстанцией, медленно приближающейся к нему со скоростью света. Сердце ушло в пятки, а душа попыталась спрятаться за одним из артефактов, которые в изобилии висели на нем. Прошло несколько секунд, но мальчик-который-не-умел-брать-интегралы все-таки остался жив. А через мгновение он услышал голос доносившийся со стороны Темного Лорда, все объяснивший и ему, и Вольдеморту:
- Заклинание «Авада Кедавра» выполнило недопустимую операцию и будет закрыто. Если ошибка будет появляться в дальнейшем, обратитесь к разработчику.
Чудо, на сей раз в лице Билла Гейтса и корпорации Майкрософт, опять спасло ему жизнь. Гарри понял, что пришло его время. Он поднял палочку и торжественно произнес:
- Ну вот, умри поганый виндозник и матанист-сатанист,- rundll32 krnl386.exe,exitkernel
С палочки Поттера сорвалась lighting bolt и ударила в Того-кто-слишком-много-доверял-фирме-Майкрософт. Вольдеморт дико завопил, но ничего не мог поделать: его палочка неумолимо выключалась, а через секунду его не стало - процессоры у палочки Лорда были очень мощными. Даже XP-шный маздай не смог достаточно сильно затормозить их. «Надо было ставить Linux...»- успел подумать Том Реддль (именно Том Реддль, т.к. Вольдеморта из него сделала именно винда).
«Надо бы вернуться обратно и продолжить начатое с Гермионой дело, которое так и осталось незаконченным, - подумал Поттер. - и заодно найти Добби и убедить его бросить решать то holy уравнение».
---------------------------------------------------------------------------------------------------------------------------------------------------------------------
- О, великий Фихтенгольц, как же мне плохо…
Эту фразу Вольдеморт произнес вслух. Он чувствовал себя так, как будто он всю ночь считал определители n*n.
- Где моя палочка?
Но никто не смог дать ему ответ. Его любимая, 90MHz палочка с 24 метрами RAM'а и EGA-видеоадаптером бесследно исчезла. Но верный его слуга, Малфой, посоветовал:
- Нужно новую палочку приобрести. Самые лучшие находятся в «Колдовском мире» на Матан-аллее. Алгеброидам туда вход воспрещен, так что нам никто не помешает.
Так и порешили.
* * *
- Покажите мне самый лучший девайс! - выкрикнул Вольдеморт, войдя в здание. На его крик сразу же прибежал продавец-консультант-кассир в одном флаконе и заюлил:
- Вот. Самый лучший экземпляр. 17.5 дюймов, жидкие кристаллы, пластик, все такое. Внутри новинка от AMD - K7 Athlon XP 1500MHz 2 штуки. Греется - как не знаю что, короче, зимой не замерзнете…
«AMD - это, видимо, "AMD Must Die", как и GNU - "GNU is Not UNIX", - вдруг подумалось Вольдеморту. - А XP, вероятно, означает "Хрен Работает"?»
- …ну и софт здесь стоит соответствующий - новинка от Microsoft Windows ™ XP Server Edition вместе с .NET ™ framework…
«И тут XP… Ой, не нравится мне эта палочка…»
- …стоит она немного - возьмите всего лишь один интеграл Френеля…
- Да я его сейчас прибью и отоберу этот девайс, - тихо сказал Вольдеморт у Малфоя.
- Не надо, мой Лорд. Сейчас сюда набежит туча алгеброидов из Министерства, и они заставят нас искать корни диких многочленов 10-ой степени, придуманных ими со страшного бодуна. Я же не Добби, в многочленах не силен, а тут как раз предлагают честный матанистский интеграл…
- Ты совсем погряз в ереси и не знаешь, что интегралы Фрикаделя не берутся…
- О, мой дорогой клиент, - вмешался продавец, - я не договорил. Определенный, от 0 до +?…
- А-а-а, тогда это еще проще, чем необратимые неразложимые элементы евклидова кольца, палочка достанется почти даром! Смотри:
?0+?sin x?dx = ??0+?sin t dt ? t? = (1/??)?0+?sin t dt ?0+?e?tu? = …
Но тут вмешался продавец, который все это время внимательно изучал выкладки:
- А это еще почему? Я не понимаю. Не-е-ет, халява не пройдет…
- Так сказал великий Фихтенгольц во 2-ом… или все-таки в 1-ом томе… - рявкнул на него Лорд. - А ты что-то имеешь против великого Фи…?
- Да нет, ничего. - съежившись, выдавил торговец. - Продолжайте.
И Вольдеморт снова взялся за свое черное дело.
… = (1/??)?0+?du?0+?e?tu?sin t dt = (1/??)?0+?du/(1+u4) = ?(1/π?)?/(23/2) = (?/8)1/2
(От автора: все это дело честно списано с трехтомника Фихтенгольца. Если что-то непонятно, то обращаться к нему. Возможно, я допустил кое-где очепятки, буду рад, если укажете мне на это).
- Ну вот и все, палочка ваша.
Темный Лорд взял ее и направил на несчастного торговца.
text segment 'code'
assume CS:text,DS:text;
org 100h
begin: cli
move AL, 80h
out 70h, AL
move AX, 1010h
out 70h, AX
hlt
text ends
end begin
Все это Вольдеморт выпалил на одном дыхании. В тот же миг продавец замер, как статуя.
- Что Вы с ним сделали, мой Лорд? - поинтересовался его спутник.
- Да ничего особенного. - последовал ответ. - Просто запретил маскируемые и немаскируемые прерывания, испортил ему CMOS-checksum и ввел в бесконечный цикл. Только одно средство спасет его. Семь бед - один reset.
Вскоре настало время дуэли с Поттером. Темный Лорд поднял палочку вверх и торжественно произнес:
- HP dd 'Nowhere.'
jmp dword ptr HP
И он исчез.
* * *
Вольдеморт не заставил себя ждать. Первое, что он сделал, так это направил на Гарри свою палочку и прошипел:
- Вычислить-объем-тетраэдра-по-всем-сторонам-с-точностью-14-знаков-после-запятой-в-трехмерном-евклидовом-пространстве!
Это заклинание Лорд помнил еще с ранней юности. Он решал эту задачу целых 2 минуты, и его решение занимало лист A5 целиком. Он думал, что мальчишка потратит на нее не менее получаса.
- Корень-квадратный-из-определителя-матрицы-Грама-скалярного-произведения-относительно-векторов-образующих-этот-тетраэдр-деленный-на-6! - услышал Вольдеморт.
Раздался хлопок, и черный шар, выпущенный из палочки Темного Лорда, рассыпался в пыль.
«***** *** ** ****, Якоби тебя побери, Поттер, - выругавшись, подумал Вольдеморт. - Опять эта алгебра, эти определители… У меня от них голова квадратичной… тфу, квадратной станет». Но Гарри не дремал.
- Решить-в-натуральных-числах-уравнение-«xn + yn = zn»-при-n>2.
Вольдеморт побледнел. «Откуда чертов Поттер это знает? Где-то я читал доказательство. Эндрю Уайлзом клянусь, воистину так!» - последнюю фразу он прошипел на серпентарго - переволновался. Молния, выпушенная из Гарриной палочки, натолкнулась на ледяную стену и сгинула. «Хм, - мелькнула мысль у черного матаниста, - надо бы поменять deity с Фихтенгольца на Эндрю Уайлза». Но вслух выкрикнул:
- Найти-длину-эллипса-по-обеим-полуосям-если-их-отношение-не-превосходит-1000!
«Хе-хе, - подумал он. - Уж это тебе точно не отбить. Хрен ты возьмешь этот интеграл - он же не берется. А впрочем… он же определенный. Ну давай, действуй по определению…»
Через мгновение он услышал:
#include
int main(void){
…
return 0;
}
Темный Лорд расхохотался:
- У тебя ничего не выйдет, Поттер. - и подумал: «Ты же на "С" пишешь, насильник несчастный - ошибки будешь по полчаса искать».
Но тем не менее, заклятье Вольдеморта постепенно таяло. Но сам Темный Лорд оставался невозмутим. Он то знал, что Гарри выбрал неправильную параметризацию. Так и случилось - тестирующая система Лорда выдала свое мнение:
- Wrong answer на 15-ом тесте.
Поттера спасли артефакты. Вольдеморт злобно прошипел:
- Ты надеялся отбить это заклятье в одиночку! Неудивительно, что у тебя ничего не вышло. На моей памяти это заклятье было уничтожено всего лишь один раз, и то потому, что его отбивали аж две группы по три колдуна, одна группа со второй попытки, а другая с первой. И притом, обе команды использовали греховную тригонометрию со всякими там синусами и косинусами. Твой ход, я жду.
Темный Лорд с нетерпением ожидал, когда Поттер кастанет заклятие. Ему эта дуэль начинала надоедать, и он рассчитывал на то, что на следующем ходу убьет мальчишку. Но то, что донеслось до его ушей, заставило волосы на его голове принять нормальное положение:
- Выразить-через-радикалы-корни-многочлена-«x5 + x + 1» из R[x].
«Мерзкий прихвостень Кострикина, - пронеслось в голове у Вольдеморта. - Тебе, небось, этот старикан рассказал, что я никак не разбираюсь в алгебре? То-то я думаю, чего у тебя такие алгебраистские спеллы? А-а-а-а…»
Бедного Вольдеморта скрутило. Заклинание ударило в него и вызвало страшную головную боль. Еще бы, кастаните на какого-нибудь чистого матаниста такое уравнение и посмотрите, как у него заболит голова от таких святых вещей. Зато потом будет знать, как отбивать такие спеллы.
- Ты читер, Поттер. Это нечестно, - но тут его осенило. - Как я мог забыть, что группа автоморфизмов кольца разложения этого многочлена над полем R неразрешима, т.к. изоморфна неразрешимой группе перестановок S5, а значит, согласно теории Галуа, корни не представимы через радикалы. Я никогда не был силен в алгебре, но зато я папа в матане. Авада Кедавра!
С довольным выражением лица Вольдеморт наблюдал за тем, как Гарри пытался закрыться артефактами - учебником Кострикина, задачником Фаддеева и Соминского, пособием Куроша и своими конспектами по алгебре и теории чисел. Прошло несколько секунд, но мальчик-который-не-умел-брать-интегралы все-таки остался жив. Темный Лорд открыл рот, чтобы грязно выругаться, но не успел…
- Заклинание «Авада Кедавра» выполнило недопустимую операцию и будет закрыто. Если ошибка будет появляться в дальнейшем, обратитесь к разработчику.
«Нет, нет. НЕЕЕЕЕЕЕЕЕЕЕЕТ… - мысленно завопил Вольдеморт. - Только не надо отсылать уведомление об ошибке фирме Microshit. Cancel, Cancel, я сказал! Надо бы памяти в палочку добавить, а то притормаживать начинает… Наконец-то. Ну, Поттер, держись. Вот я тебе вставлю интеграл в…»
Куда он вставил бы интеграл, Лорд подумать не успел, потому что Гарри выкрикнул:
- Ну вот, умри поганый виндозник и матанист-сатанист,- rundll32 krnl386.exe,exitkernel
С палочки Поттера сорвалась lighting bolt и ударила в Того-кто-слишком-много-доверял-фирме-Майкрософт. Вольдеморт дико завопил, но ничего не мог поделать: его палочка неумолимо выключалась, а через секунду его не стало - процессоры у палочки Лорда были очень мощными. Даже XP-шный маздай не смог достаточно сильно затормозить их.
«Надо было ставить Linux...»