Compare commits

..

No commits in common. "eaefd972078e79e07728015ad009c2daebc1c7c1" and "e281da035d6bfb98d87a68851a9e2f4db2e169a1" have entirely different histories.

12 changed files with 0 additions and 641 deletions

3
.gitignore vendored
View File

@ -1,3 +0,0 @@
cache
literature
.vscode

View File

@ -1,113 +0,0 @@
{
"folders": [
{
"path": "."
}
],
"settings": {
"latex-workshop.latex.outDir": "%DIR%/cache",
"latex-workshop.latex.recipes": [
{
"name": "pdflatex",
"tools": [
"pdflatex"
]
},
{
"name": "latexmk",
"tools": [
"latexmk"
]
},
{
"name": "latexmk (latexmkrc)",
"tools": [
"latexmk_rconly"
]
},
{
"name": "pdflatex -> bibtex -> pdflatex * 2",
"tools": [
"pdflatex",
"bibtex",
"pdflatex",
"pdflatex"
]
},
{
"name": "tectonic",
"tools": [
"tectonic"
]
}
],
"latex-workshop.latex.tools": [
{
"name": "latexmk",
"command": "latexmk",
"args": [
"-synctex=1",
"-interaction=nonstopmode",
"-file-line-error",
"-pdf",
"-outdir=%OUTDIR%",
"%DOC%"
],
"env": {}
},
{
"name": "xelatexmk",
"command": "latexmk",
"args": [
"-synctex=1",
"-interaction=nonstopmode",
"-file-line-error",
"-xelatex",
"-outdir=%OUTDIR%",
"%DOC%"
],
"env": {}
},
{
"name": "latexmk_rconly",
"command": "latexmk",
"args": [
"%DOC%"
],
"env": {}
},
{
"name": "pdflatex",
"command": "pdflatex",
"args": [
"-synctex=1",
"-shell-escape",
"-interaction=nonstopmode",
"-file-line-error",
"-output-directory=%OUTDIR%",
"%DOC%"
],
"env": {}
},
{
"name": "bibtex",
"command": "bibtex",
"args": [
"%DOCFILE%"
],
"env": {}
},
{
"name": "tectonic",
"command": "tectonic",
"args": [
"--synctex",
"--keep-logs",
"%DOC%.tex"
],
"env": {}
}
],
"latex-workshop.latex.rootFile.indicator": "\\begin{document}",
}
}

View File

@ -1,19 +0,0 @@
\clearpage
\titlecontents{section}
[1.5em] % 1.5em (chapter) + 2.3em
{}
{\thecontentslabel \hspace{3mm}}
{\hspace*{-2.3em}}
{\titlerule*[2mm]{.}\contentspage}
\titleformat{\section}
{\normalfont\fontsize{17.28}{15}\bfseries}{\thesection}{1em}{}
\renewcommand*{\thesection}{Приложение~\Alph{section}.}
\chapter*{Приложения}
\addcontentsline{toc}{chapter}{Приложения}
\appendix
% \section{Скрипты установки БД для компонента <<Хранение~данных>>}
% \label{script:storage}
% \inputcode{../software/architecture/first-level/component-storage/CSt.db-script.sql}{frame=none,language=sql}

View File

@ -1,174 +0,0 @@
\documentclass[oneside,final,14pt]{extreport}
\usepackage[utf8]{inputenc}
\usepackage[T2A,T1]{fontenc}
\usepackage[russian]{babel}
\usepackage{threeparttable}
\usepackage[labelsep=endash,tableposition=top,labelfont=md,textfont=md]{caption}
\usepackage{indentfirst}
\usepackage{rotating}
\usepackage{setspace}
\usepackage{array}
\usepackage{graphicx}
\usepackage[compact]{titlesec}
\usepackage{titletoc}
\usepackage{xinttools}
\usepackage{ragged2e}
\usepackage{listingsutf8}
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{color}
\usepackage{xstring}
\usepackage{tabularx}
\usepackage{enumitem}
\usepackage[abspath]{currfile}
\usepackage[hidelinks,linktoc=all]{hyperref}
% ОТЛАДОЧНЫЕ ФУНКЦИИ --------------------
% \usepackage{showframe}
% ПОЛЯ ----------------------------------
\usepackage{geometry}
\geometry{
a4paper,
% total={170mm,257mm},
left=30mm,
top=15mm,
right=15mm,
bottom=20mm
}
% ОФОРМЛЕНИЕ СОДЕРЖАНИЯ -----------------
\addto\captionsrussian{
\renewcommand{\contentsname}%
{\normalsize \MakeUppercase{Содержание}}%
}
\dottedcontents{chapter}[0cm]{}{1em}{2mm}
\titlecontents{chapter}
[0em]
{}
{\thecontentslabel. }
{}
{\titlerule*[2mm]{.}\contentspage}
\titlecontents{section}
[1.5em] % 1.5em (chapter) + 2.3em
{}
{\thecontentslabel. }
{\hspace*{-2.3em}}
{\titlerule*[2mm]{.}\contentspage}
% ОФОРМЛЕНИЕ ЗАГОЛОВКОВ -----------------
% В т.ч. и содержания
\titleformat{\paragraph}[runin]
{\normalfont\normalsize\bfseries}{\theparagraph}{1em}{}
\titlespacing*{\paragraph} {\parindent}{3.25ex plus 1ex minus .2ex}{1em}
\titleformat{\chapter}[display]{\normalfont\large\bfseries}{}{0cm}{\large\centering}
\titleformat{\section}
{\normalfont\large\bfseries}{\thesection}{5mm}{}
\makeatletter
% NormalTeXSyntaxON
\def\@makechapterhead#1{%
\vspace*{0\p@}%
{\parindent \z@ \raggedright \normalfont \setstretch{1.2}
\interlinepenalty\@M
\large \bfseries \space \thechapter. #1\par\nobreak
}}
% NormalTeXSyntaxOFF
\titlespacing{\chapter}{0pt}{-5mm}{0cm}
% ОФОРМЛЕНИЕ СПИСКОВ --------------------
\setlist{noitemsep,align=left,left=\parindent,topsep=0pt}
% ОФОРМЛЕНИЕ ЛИСТИНГОВ КОДА -----------------
\definecolor{dkgreen}{rgb}{0,0.6,0}
\definecolor{gray}{rgb}{0.5,0.5,0.5}
\definecolor{mauve}{rgb}{0.58,0,0.82}
\lstset{
frame=tb,
language=C++,
aboveskip=3mm,
belowskip=3mm,
showstringspaces=false,
columns=flexible,
basicstyle={\small\ttfamily},
numbers=none,
numberstyle=\tiny\color{gray},
keywordstyle=\color{blue},
commentstyle=\color{dkgreen},
stringstyle=\color{mauve},
breaklines=true,
breakatwhitespace=true,
tabsize=3,
escapechar={|},
emptylines=0,
}
\newcommand\inputcode[3][]{
{\bfseries #1\filename{#2}}:
\lstinputlisting[%
#3,
]{#2}%
}
% ОФОРМЛЕНИЕ НУМЕРАЦИИ СПИСКОВ ----------------------------------
% Команды ниже переназначают алфавит используемый при нумерации с английского на русский
\makeatletter
\renewcommand*{\@alph}[1]{%
\ifcase#1\or а\or б\or в\or г\or
д\or е\or ё\or ж\or з\or и\or й\or
к\or л\or м\or н\or о\or п\or р\or с\or т\or
у\or ф\or х\or ц\or ч\or
ш\or щ\or ы\or э\or у \or я
\else\@ctrerr\fi
}
\renewcommand*{\@Alph}[1]{%
\ifcase#1\or А\or Б\or В\or Г\or
Д\or Е\or Ё\or Ж\or З\or И\or Й\or
К\or Л\or М\or Н\or О\or П\or Р\or С\or Т\or
У\or Ф\or Х\or Ц\or Ч\or
Ш\or Щ\or Ы\or Э\or У\or Я
\else\@ctrerr\fi
}
\makeatother
\makeatletter
\renewcommand\@biblabel[1]{#1.}
\makeatother
% file path
\newcommand{\runtimeFsep}{/}
\newcommand{\updateRuntimeFsep}{\IfSubStr{\currfileabsdir}{/}{}{\renewcommand{\runtimeFsep}{\backslash}}}
\updateRuntimeFsep
\makeatletter
\DeclareRobustCommand{\filename}[2][]{%
\begingroup
% \lstname seems to change hyphens into \textendash
\def\textendash{-}%
\filename@parse{#2}%
\IfSubStr{\filename@base}{\runtimeFsep}{\filename@parse{\filename@base}}{}%
\edef\filename@base{\detokenize\expandafter{\filename@base}}%
#1{\filename@base.\filename@ext}%
\endgroup
}
\makeatother
% \section*{#1}%
% \addcontentsline{toc}{chapter}{#1}
\newcommand\tcchapter[1]{%
\chapter{#1}%
}
\newcommand\tcsection[1]{%
\section{#1}%
}
\onehalfspacing
% \contentsmargin{2.55em}
\addto\captionsrussian{\renewcommand{\figurename}{Рисунок }}
% URL ---------------
\urlstyle{same}
% ОФОРМЛЕНИЕ ТЕКСТА
\renewcommand{\baselinestretch}{1.5}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 45 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 62 KiB

View File

@ -1,44 +0,0 @@
\chapter*{Введение}
\addcontentsline{toc}{chapter}{Введение}
В ходе решения решения задач физики, экономики а также множества
практических задач одним из необходимых этапов является построение
математической модели, а после начала компьютеризации общества
--- разработка программы для ЭВМ или выбор уже существующих \cite[с. 4]{book:nm-examples}.
Также стоит учитывать, что решение любой практической задачи, либо
проведение исследования, подразумевает ограниченность по времени
и ресурсам \hbox{\cite[с.~15]{book:bahvalov}}. Развитие ЭВМ и их
всеобщее распространение
привело к тому, что разработка библиотек программного кода для
решения математических задач с использованием заданного языка
программирования стала повсеместной. Язык программирования
Python \cite{links:python} --- один из самых популярных на протяжении
лет \cite{links:tiobe_index}, широко используется при решении многих
практических задач, в том числе и математической направленности.
Для данного языка существуют библиотеки numpy
\cite{links:numpy} и scipy \cite{links:scipy},
предназначенные для математических расчетов.
Понимание их возможностей в области численных методов позволит
снизить затраты времени и ресурсов на разработку программы для
ЭВМ, либо не увеличит их в случае, когда применение данных
библиотек в силу тех или иных причин невозможно.
Проблема состоит в том, что на данный момент особенности библиотек,
полнота их возможностей с точки зрения решения задач численными
методами недостаточно исследованы.
\textbf{Целью} данной работы является исследование вышеприведенных характеристик данных библиотек.
Для достижения цели курсового проекта необходимо выполнить следующие \textbf{задачи}:
\begin{enumerate}
\item Изучить распространенные численные методы решения основных
классов задач.
\item Изучить документацию библиотек numpy и scipy на предмет
реализации рассмотренных методов.
\item Экспериментально исследовать возможности реализаций
рассмотренных численных методов данных библиотек.
\end{enumerate}
В данной работе используются язык Python, библиотеки numpy и
scipy версий \(3.11\), \(1.25\) и \(1.11\) соответственно.

137
main.tex
View File

@ -1,137 +0,0 @@
\input{vars}
\input{config}
\begin{document}
\lstset{language=[11]C++}
%title-page
\include{titlepage}
\thispagestyle{empty}
\clearpage
\tableofcontents
\thispagestyle{empty}
\clearpage
\input{intro}
\chapter{Описание численных методов и возможностей библиотек numpy и scipy}
В данном разделе будут описаны численные методы и их доступные
реализации в библиотеках в частях, посвященным классам задач, которые
они решают.
Стоит учитывать, что scipy основан на numpy, поэтому при рассмотрении
возможностей данных библиотек часто может возникнуть ситуация,
когда искомый функционал содержится только в scipy, либо в numpy
или scipy одновременно.
\section{Численное решение нелинейных уравнений}
При решении некоторых практических задач или проведении исследований
может быть получена математическая модель, которая включает
непрерывную функцию \(F(x), x \in \Re\), и необходимо определить корни уравнения
\(F(x) = 0\). Если данное уравнение не имеет вид \(ax + b = 0\),
где \(a,b\) -- константы, то оно будет нелинейным.
Для решения нелинейных уравнений существует несколько методов, в данной работе будут рассмотрены итерационные.
Каждый из итерационных методов, перечисленных ниже, соответствует
следующему алгоритму из двух этапов \cite[с. 15]{book:nm-examples}:
\begin{enumerate}
\item отыскание приближенного значения корня или содержащего
его отрезка;
\item уточнения значения до некоторой степени точности.
\end{enumerate}
Начальное приближение определяется исходя из физических соображений
решений похожих задач или графических методов. Если ни один из этих
способов не доступен или не позволяет получить начальное приближение,
удовлетворяющее требованиям, то применяют следующий алгоритм
отыскания начального приближения:
\begin{enumerate}
\item Производится поиск двух близкорасположенных значений
\(a\) и \(b\) таких, что \(F(a) \cdot F(b) < 0\), при этом
\(F(x)\) должна быть всюду определена на отрезке \([a;b]\).
\item В качестве начального приближения первой итерации принимается
значение \(x_0 \in [a;b]\), обычно это середина данного
отрезка.
\end{enumerate}
Так как выполняется условие \(F(a) \cdot F(b) < 0\) и \(F(x)\) непрерывна, то обязательно найдется такое \(x_k \in (a,b)\), что \(F(x_k) = 0\) либо \(|F(x_k)| < \epsilon\), где \(\epsilon\) --- погрешность искомого решения.
\subsection{Метод деления отрезка пополам}
Данный метод использует технику поиска решения, похожую на бинарный
поиск.
\subsubsection{Описание метода}
Дано начальное приближение \(x_0 = (a+b)/2\) при
\(F(a) \cdot F(b) < 0\). Для поиска решения уравнения \(x_k\)
применяем следующий алгоритм:
\begin{enumerate}
\item Рассмотрим отрезки \([a;x_i], [x_i;b]\), \(i = 0 \dots k\)
--- номер итерации. На первой итерации \(i = 0\). \label{list:hls_begin}
\item Из рассмотренных отрезков берем те, что удовлетворяют условию
\(F(a) \cdot F(b) < 0\), где \(a,b\) --- границы отрезка. \label{list:hls_test}
\item Для каждого из взятых в п.\ref{list:hls_test} отрезков
вычисляем их длину \(l\). Если \(l < \epsilon\),
тогда дальнейшее выполнение данного алгоритма для данного
отрезка прекращается. За решение уравнения принимается
число \((a+b)/2\), округленное с учетом заданной погрешности.
Если для решения задачи достаточно любого одного решения,
то работа алгоритма прекращается.
\item Для каждого из взятых в п.\ref{list:hls_test} отрезков
устанавливаем значения
\(a,b,x_{i+1}\). Для левого отрезка эти значения будут равны
\(a = a,b = x_i,x_{i+1} = (a+x_i)/2\), для правого ---
\(a = x_i,b = b,x_{i+1} = (b+x_i)/2\). \label{list:hls_prepare}
\item Для каждого из взятых отрезков переходим к п.\ref{list:hls_begin},
с увеличением номера итерации на \(1\) и установленными
относительно взятого отрезка значениями из п.\ref{list:hls_prepare}.
\end{enumerate}
После применение метода на заданных входных данных получим множество
решений уравнения \(Ans = \{x, x \in \Re\}, |Ans| \geq 1\).
\subsubsection{Реализации метода в библиотеках numpy, scipy}
Библиотека scipy содержит функцию \textbf{bisect} из модуля
\textbf{scipy.optimize}\cite{links:scipy_doc}, которая реализует
данный метод.
Функция имеет следующие параметры (задаются в порядке перечисления):
\begin{enumerate}
\item \(f\) --- function
Функция Python, возвращающая число. \(f\) должна быть непрерывной, а \(f(a)\) и \(f(b)\) должны иметь противоположные знаки.
\item \(a\) --- scalar
Первый конец интервала \([a,b]\).
\item \(b\) --- scalar
Второй конец интервала \([a,b]\).
\item \(xtol\) --- number, необязательный
Вычисленный корень \(x0\) будет удовлетворять \verb|np.allclose(x, x0,| \verb|atol=xtol,| \verb|rtol=rtol)|, где \(x\) --- точный корень. Параметр должен быть положительным.
\item \(rtol\) --- number, необязательный
Вычисленный корень \(x0\) будет удовлетворять \verb|np.allclose(x, x0,| \verb|atol=xtol, rtol=rtol)|, где \(x\) --- точный корень. Параметр не может быть меньше значения по умолчанию \verb|4*np.finfo(float).eps|.
\item \(maxiter\) --- int, необязательный
Если сходимость не достигается в итерациях \(maxiter\), возникает ошибка. Должен быть \(\geq 0\).
\item \(args\) --- tuple, необязательный
Содержит дополнительные аргументы для функции \(f\). \(f\) вызывается с помощью \verb|apply(f, (x)+args)|.
\item \(full\_output\) --- bool, необязательный
Если \(full\_output\) имеет значение \verb|False|, возвращается корень. Если \(full\_output\) имеет значение \verb|True|, возвращаемое значение равно \verb|(x, r)|, где \(x\) --- это корень, а \(r\) --- объект \verb|RootResults|.
\item \(disp\) --- bool, необязательный
Если \verb|True|, будет сгенерировано исключение \verb|RuntimeError|, если алгоритм не сошелся. В противном случае статус сходимости записывается в возвращаемый объект \verb|RootResults|.
\end{enumerate}
\subsection{Метод Ньютона (метод касательных)}
\subsection{Метод простой итерации}
\chapter{Экспериментальное исследование возможностей библиотек}
\chapter*{Заключение}
\addcontentsline{toc}{chapter}{Заключение}
\input{sources}
\include{appendix}
\end{document}

View File

@ -1,73 +0,0 @@
\documentclass{beamer}
\usepackage[russian]{babel}
\usepackage[utf8]{inputenc}
\usepackage[outputdir=cache]{minted}
\input{vars.tex}
\usetheme{Madrid}
\usecolortheme{dove}
\setbeamertemplate{blocks}[rounded][shadow=false]
\title[]{\cwtitle}
\institute[]{ФГБОУ ВО «Вятский государственный университет»}
\date{\null}
\author[ ]{Студент ПМИб-3301-52-00 \cwauthor\\ \and к.п.н. А.Н.~Соколова}
\newcommand\frametitleSpec[1]{%
\frametitle{#1}
\section{#1}%
}
% set captions with numbers
\setbeamertemplate{caption}[numbered]
\begin{document}
\begin{frame}
\centering\includegraphics[width=0.4\textwidth]{files/vyatsu_logo.png}\\
\titlepage
\end{frame}
\begin{frame}
\frametitle{План доклада}
\tableofcontents
\end{frame}
\begin{frame}
\frametitleSpec{Введение}
Активное внедрение компьютеров во всевозможные отрасли жизни человека привело к тому, что при решении прикладных задач требование к скорости и дешевизне разработки стало выше требований производительности и ресурсоемкости разрабатываемой программы.
\begin{enumerate}
\item Проблема состоит в том, что на данный момент ОС, которая бы могла более эффективно использовать текущее АО устройств, не разработана.
\item Целью данной работы является рассмотрение архитектуры и разработка части прототипа данной ОС.
\begin{itemize}
\item Изучить архитектуру и требования прототипа ОС.
\item Определить перечень сервисов обеспечения целостности и оптимизации экосистемы устройств.
\item Разработать БД и сервисы обеспечения целостности и оптимизации прототипа экосистемы устройств.
\end{itemize}
\end{enumerate}
\end{frame}
\begin{frame}
\frametitleSpec{О программной реализации}
Реализация сервисов написана на языке C++ в виде отдельных компонентов.
\begin{figure}[h]
\centering
\includegraphics[width=0.25\textwidth]{files/cpp-logo.png}
\end{figure}
\end{frame}
\begin{frame}
\frametitleSpec{Заключение}
При реализации прототипа экосистемы был разработан один из возможных вариантов деления на подсистемы, и рассмотрены возможные пути реализации.
Из недостатков текущей реализации можно отметить отсутствие компонента, отвечающего за безопасность и разделения прав доступа пользователей к вычислительным ресурсам сервера.
Таким образом, задачи проекта выполнены, цель проекта достигнута.
\end{frame}
\begin{frame}
\begin{center}
{\huge Спасибо за внимание!}
\end{center}
\end{frame}
\end{document}

View File

@ -1,23 +0,0 @@
\newcommand{\LiteratureAccessDate}[1][1]{%
дата~обращения: \ifcase#1\or 03.08.2023%
\or 07.08.2023%
\or 09.08.2023%
\else\@ctrerr\fi
}
\renewcommand\bibname{Библиографический список}
\begin{thebibliography}{00}
\addcontentsline{toc}{chapter}{Библиографический список}
\bibitem{book:nm-examples} Ахмадиев Ф.Г., Габбасов Ф.Г., Ермолаева Л.Б., Маланичев И.В. Численные методы. Примеры и задачи. Учебно-методическое пособие по курсам «Информатика» и «Вычислительная математика». -- Казань:
КГАСУ, 2017. -- 107 с.
\bibitem{book:bahvalov} Бахвалов~Н.~С., Жидков~Н.~П.,
Кобельков~Г.~М. Численные методы. -- 7-е изд. -- М.: БИНОМ. Лаборатория знаний,
2011. -- 636 с., c илл. -- (Классический университетский учебник).
\bibitem{book:lectures} Письменный~Д.~Т. Конспект лекций по высшей математике. 2 часть. -- М.: Рольф, 2000. -- 256 с., с илл.
\bibitem{links:numpy} Numpy. Официальный сайт проекта [Электронный ресурс] -- URL:~\url{https://numpy.org/} (\LiteratureAccessDate[2]).
\bibitem{links:numpy_doc} Numpy API Reference [Электронный ресурс] -- URL:~\url{https://numpy.org/doc/stable/reference/index.html} (\LiteratureAccessDate[3]).
\bibitem{links:python} Python. Официальный сайт проекта [Электронный ресурс] -- URL:~\url{https://www.python.org/} (\LiteratureAccessDate).
\bibitem{links:scipy} Scipy. Официальный сайт проекта [Электронный ресурс] -- URL:~\url{https://scipy.org/} (\LiteratureAccessDate[2]).
\bibitem{links:scipy_doc} Scipy API Reference [Электронный ресурс] -- URL:~\url{https://docs.scipy.org/doc/scipy/reference/index.html} (\LiteratureAccessDate[3]).
\bibitem{links:tiobe_index} TIOBE. Официальный сайт проекта
[Электронный ресурс] -- URL:~\url{https://www.tiobe.com/tiobe-index/} (\LiteratureAccessDate).
\end{thebibliography}

View File

@ -1,53 +0,0 @@
\begin{titlepage}
\begin{center}
\begin{small}
\begin{singlespace}
\MakeUppercase{
МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РФ\\ \vspace{0.7em}
Федеральное государственное бюджетное образовательное учреждение высшего образования\\
ВЯТСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ\\ \vspace{0.7em}
Институт математики и информационных систем \\ \vspace{0.7em}
Факультет компьютерных и физико-математических наук\\ \vspace{0.7em}
Кафедра прикладной математики и информатики
}
\end{singlespace}
\end{small}
\vfill
{\null\hfill
\begin{minipage}{0.4\textwidth}
Допущена к защите\\
{\setstretch{2}
заведующей кафедрой прикладной
математики и информатики\\}
{\rule{3cm}{0.1mm}}~Е.В.Разова
\end{minipage}
}
\vspace{5em}
{
\large{
{\bfseries \cwtitle}
}}
\vspace{2em}
Курсовой проект по дисциплине <<Численные методы>>
\end{center}
\vfill
\begin{table}[ht]
\centering
\begin{tabularx}{\textwidth}{>{\raggedright}p{.5\textwidth}X}
Выполнил студент группы \mbox{ПМИб-3301-52-00} \vspace{1mm} & { {\rule{3cm}{0.1mm}}~/\cwauthor}/ \\
К.п.н. \mbox{кафедры} ПМИ \vspace{1cm} & {{\rule{3cm}{0.1mm}}~/А.Н.~Соколова/} \\
Работа защищена с оценкой & {\rule{3cm}{0.1mm}} \hfill {\rule{1cm}{0.1mm}}.{\rule{1cm}{0.1mm}} \the\year\ г. \vspace{1cm} \\
Члены комиссии \vspace{2mm} & {\rule{3cm}{0.1mm}} \hfill /{\rule{3.5cm}{0.1mm}}/ \\
\null & {\rule{3cm}{0.1mm}} \hfill /{\rule{3.5cm}{0.1mm}}/ \\
\end{tabularx}
\end{table}
\vfill
\begin{center}
Киров \the\year\ г.
\end{center}
\end{titlepage}
\setcounter{page}{2}

View File

@ -1,2 +0,0 @@
\newcommand{\cwtitle}[0]{Исследование возможностей библиотек numpy и scipy для реализации численных методов}
\newcommand{\cwauthor}[0]{Г.Е.~Ступников}