Скачать тексты программ, работающих с оболочкой .NET Framework
Предлагаемая вниманию читателя книга посвящена приложениям теории функциональных сплайнов к задачам численного анализа. Функциональный сплайн в [11(3)] определен как точное решение системы линейных функциональных уравнений (СЛФУ) в топологических векторных пространствах. Если система конечна, ее точное вариационное решение называется алгебраическим сплайном [11(1)]. Если множество уравнений счетно, то ее точное решение называется топологическим сплайном [11(6)]. Системы линейных функциональных уравнений как математические конструкции возникли из формального определения системы линейных алгебраических уравнений (СЛАУ) в предположении, что ее решения могут принадлежать бесконечномерным векторным пространствам. Вопрос о решении СЛАУ, содержащей n уравнений и n неизвестных, в общем виде был решен Лейбницем и Крамером в начале 18. Они ввели понятие определителя и создали исчисление определителей. Точное решение СЛАУ известно как формулы Крамера. Исследование неопределенных СЛАУ (имеющих более одного решения, в частности, когда число уравнений меньше, чем число неизвестных) и несовместных (не имеющих решения, когда число уравнений превосходит число неизвестных) провели в 19 веке Гаусс и Кронекер. В трудах Гильберта в начале 20-го века методы и понятия линейной алгебры, оперирующие с конечномерными точечными векторами, были систематически перенесены на множества функций, рассматриваемые как бесконечномерные векторные пространства. Дальнейшее развитие бесконечномерный векторный анализ получил после оснащения векторных пространств топологиями. В топологических векторных пространствах линейные системы определяются как системы линейных функциональных уравнений. В работах [11] выяснены условия, при которых их решения существуют и предлагаются методы построения точных решений таких систем. Этот математические конструкции могут быть положены в основу построения теории приближения и численного анализа. Особенностью данной книги является параллельное изложение материала на языке математических формул и средствами алгоритмического языка. В качестве такового был выбран новый язык C#, который, по мнению известного специалиста в области программирования Герберта Шилдта, является языком будущего: "C# изменит будущее программирования. Этот язык нужно знать" [26]. C# гораздо проще в изучении, чем С++. Официально Microsoft описывает C# как "простой современный объектно-ориентированный язык с безопасными типами, производный от С++ и Си". Хотя оба этих языка продолжают занимать лидирующее положение в области программирования, во многих сферах информационных технологий они менее пригодны для разработки приложений, чем C#. Кроме того что эти языки сложны в изучении, они предполагают еще слишком большие сроки разработки проектов, не согласующиеся с современными требованиями. Следует также заметить, что C# может в случае необходимости предоставить программисту и высокопроизводительный низкоуровневый доступ к памяти по типу С++. Все разделы численного анализа, рассматриваемые в 3-й главе книги, сопровождаются работающими программами на C#. Чтобы избежать подробных комментариев при написании кода программ 3-й главы, во второй главе излагаются необходимые вопросы техники программирования. В первой главе дается краткое введение в C#. При написании этой главы автор самым активным образом использовал в качестве источников книги [18], [26]. Примеры в программах, реализующих какой-либо вычислительный метод, подобраны таким образом, чтобы проиллюстрировать его возможности. Так, в задаче интерполяции функции 1/(1 + 1000000(x2 + y2)) двух независимых переменных финитными базисными функциями гауссова типа на сетке 10001 x 1001 была достигнута точность 10–3. В одном из примеров исследовалось поведение приближенного решения дифференциального уравнения, точная производная которого в отдельных точках обращалась в бесконечность. Книга может служить целям преподавания. В методическом отношении изложение направлено на то, чтобы параллельно с изучением алгоритмических методов вычислений привить читателю устойчивые навыки формулировать решение задачи непосредственно на языке программирования. Много задач и упражнений в книге предлагается для самостоятельного решения. Все они направлены на освоение техники программирования. Можно сказать, что данная книга - это учебник по программированию на языке C#, но не учебник по C#, поскольку язык в ней описан в ограниченном объеме, необходимом для решения научных задач. Поэтому, в частности, мы не даем анализ работы с окнами Windows, хотя и используем их. Включенные в книгу программы ввода-вывода посредством окон Windows читатель может использовать как абстрактные классы, не вникая в их содержание. Эти программы написаны крупным специалистом в области профессионального программирования, Колесниковым В.П., которого автор книги считает своим соавтором. Колесников Александр Петрович Математик, профессор, доктор физико-математических наук. Окончил Московский государственный университет имени М. В. Ломоносова в 1967 г. Научные интересы лежат в области вычислительной математики, математического моделирования и информатики. Активно занимался приложениями; в частности, в последней четверти прошлого века принимал участие в выполнении программы важных научных исследований в области математического моделирования управляемых оптических систем (адаптивной оптики). В 1994 г. защитил докторскую диссертацию, в которой получило начало новое научное направление — численный анализ в топологических пространствах.
|