<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>A multiuser web-interface for solution of systems of nonlinear equations</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>A N Danilenko</string-name>
          <email>danilenko.al@gmail.com</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>I A Zhdanov</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Samara National Research University</institution>
          ,
          <addr-line>Moskovskoe Shosse 34А, Samara, Russia, 443086</addr-line>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>University of Stuttgart</institution>
          ,
          <addr-line>Keplerstraße 7, Stuttgart, Germany, 70174</addr-line>
        </aff>
      </contrib-group>
      <pub-date>
        <year>2019</year>
      </pub-date>
      <fpage>242</fpage>
      <lpage>251</lpage>
      <abstract>
        <p>In this article, the idea of creating web-applications is considered by the example of developing a multiuser web-interface for the automated search for roots of non-linear equations in the Django package. The automated system is implemented in the Python programming language. It is proposed to create a web application based on a client-server technology, where the client part implements the user interface, forms queries to the server and processes the responses from it. The server part receives the request from the client, performs necessary calculations, then forms a web page and sends it to the client online. The developed application is designed for nonlinear equations systems solution. The system has the ability to save solutions on the server and the PC, and to visualize the step-by-step solution and plotting. The system efficiency was tested on real data.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1. Introduction</title>
      <p>
        There are many physical systems, which are nonlinear in nature. Sometimes it is possible to describe the
operation of a physical system by a linear model, but in analyzing the behavior of any physical system,
one often encounters situations where the linearized model is inadequate or inaccurate; that is the time
when the system of nonlinear system should be introduced and solved [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ].
      </p>
      <p>
        Indeed, systems of nonlinear equations arise in many domains of practical importance such as
engineering, mechanics, medicine, chemistry, and robotics [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ]. Numerous examples from all branches of
the sciences are given in [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ], [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ], [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ], [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ], [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ], [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ], [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ]. Thus, the nonlinearity in all shapes and forms is at
the heart of many of the 21st century challenges to science as we try to extend the scientific framework
beyond its dependency upon linear systems theory to find new ways to embrace the complex world we
live in on its own irregular and imperfect terms. Contrary to linear systems, in the nonlinear systems the
principle of superposition fails meaning that they are needed to be approached as a whole, since the output
of the system might be greater or less than sum of its part due to synergy or interference of relationships
between system elements. There are several methods to solve systems of nonlinear equations, which are
covered in [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ], [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ]. The overview of these methods is briefly given in the Section 2 of this article.
      </p>
      <p>
        Since the solution of nonlinear systems heavily relies on the numerical computing, the importance of
the appropriate software arise. In applied science and engineering, e.g. when engineers analyze and design
nonlinear dynamical systems in electrical circuits, mechanical systems, control systems, and other
disciplines, there is a need to use a wide range of nonlinear analysis tools. Despite the fact that these tools
have developed rapidly since the mid-1990s, the solution of nonlinear systems is still largely a tough
challenge [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ]. For the large-scale problems having very high computational complexity the issue of the
computational power and large memory requirements arise for some numerical methods, e.g. Newton’s
method [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ].
      </p>
      <p>
        With the rapid development of internet and cloud services, there is a noticeable shift from desktop
applications towards web and mobile applications. The journey from legacy internal servers and software
to cloud-based compute, storage and memory will no happen overnight. Nor will it be without unique
challenges. But as more and more the community is realizing, that these new opportunities with cloud
services are just too good to ignore [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ].
      </p>
      <p>
        The big drawback of desktop native programs is their high cost and the need to be installed on each
computer, which is inconvenient, for example, in large companies involved in engineering calculations.
Another disadvantage is the use of outdated solution methods, which leads to a large time investment in
solving resource-intensive tasks [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ], [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ], [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ]. Currently, there is a trend to move a large amount of
software into the form of web applications.
      </p>
      <p>However, existing analogues have a large number of options for solving computational problems, but
they have several disadvantages. For example, in the WolframAlpha system, the user can only set a
limited number of non-linear equations and cannot control the minimum and maximum parameters. The
developed system is able to solve as many equations as possible, even if the system as a whole is
indefinite, that is, the number of equations in it is less than variables.</p>
      <p>This paper is organized as follows in Sections 2 the current status of nonlinear methods and tools is
described, in Section 3 the comparison of native and web application is highlighted, in Sections 4,5 and 6
the concept, structure and impact of the developed web application is shown, in Section 7 the conclusion
is given.</p>
    </sec>
    <sec id="sec-2">
      <title>2. Methods for solving of nonlinear systems</title>
      <p>
        Most popular methods for solving nonlinear systems are local. A local method is an iterative scheme that
converges if the initial approximation is close enough to a particular solution. Frequently, we are also able
to prove rate of convergence results for the methods, which tell something about the asymptotic velocity
of convergence of the process. Fortunately, in many practical cases the domain of convergence of local
methods is large, so that these methods are useful. However, when the initial estimate of the solution is
very poor, local methods must be modified in order to improve their global convergence properties. In
general, global methods are modifications of local methods which would ensure the solution even with the
poor initial conditions [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ].
      </p>
      <p>
        The local methods are:
 Newton’s method [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ]
 Quasi-Newton Methods [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ], [
        <xref ref-type="bibr" rid="ref16">16</xref>
        ], [
        <xref ref-type="bibr" rid="ref17">17</xref>
        ], [
        <xref ref-type="bibr" rid="ref18">18</xref>
        ], [
        <xref ref-type="bibr" rid="ref19">19</xref>
        ]
 Inexact-Newton Methods [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ]
 Decomposition method [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ]
The main procedures currently used for globalization are:
 Optimization [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ], [
        <xref ref-type="bibr" rid="ref20">20</xref>
        ], incl. multiobjective [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ]
 Homotopies [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ], [
        <xref ref-type="bibr" rid="ref21">21</xref>
        ]
      </p>
      <p>
        There is no numerical method that can guarantee finding all the roots to a general system of equations
in finite time. Most numerical solution techniques are based on Newton's method [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ], [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ]. Each iteration
of Newton's method consists of computing the Jacobian matrix at a feasible point and solving a linear
system which approximates the original system at that point. The solution to the linear system is used as
the starting point in the next iteration. Another class of numerical methods transforms the system into an
optimization problem. In a strategy based on trust regions [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ], [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ], at each iteration a convex quadratic
function is minimized to determine the next feasible point to step to. The convex quadratic function is the
squared norm of the original system plus a linear function multiplied by the Jacobian matrix. There is also
the approach of homotopy methods, sometimes referred to as continuation methods [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ], [
        <xref ref-type="bibr" rid="ref22">22</xref>
        ]. This
approach begins with a `starting' system of equations (not the true system). whose solution is known. This
starting system is gradually transformed to the original system. At each stage, the current system is solved
to find a starting solution for the next stage system. The idea is that as the system changes, the solutions
trace out a path from a solution of the starting system to a solution of the original system. At each stage,
the current system is normally solved by a Newton-type method, again making use of the Jacobian.
Problems with this approach include not all paths converging to a finite solution. With all of the above
numerical methods for solving nonlinear systems of equations, derivative information is assumed to be
available.
      </p>
      <p>
        Luckily, for the most problems where the number of equations is large, the Jacobian is structurally
sparse. This means that most entries of Jacobian are zero for all x in the domain of nonlinear system.
Sparsity is a particular case of the more general notion of structure. Jacobian matrices can be symmetric,
antisymmetric, positive definite, combination of other matrices with some particular structure, etc. Many
times we can take advantage of particular structures of Jacobian in order to obtain efficient algorithms for
solving the nonlinear system [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ], [
        <xref ref-type="bibr" rid="ref23">23</xref>
        ], [
        <xref ref-type="bibr" rid="ref24">24</xref>
        ], [
        <xref ref-type="bibr" rid="ref25">25</xref>
        ], [
        <xref ref-type="bibr" rid="ref26">26</xref>
        ].
      </p>
    </sec>
    <sec id="sec-3">
      <title>3. Native, web or hybrid app</title>
      <p>
        The process of choosing a development approach for a scientific, financial or engineering application
(hereafter referred to as an “app”), namely native, web or hybrid, entails many parameters, such as budget,
project timeframe, target audience and app functionality to name a few. Each approach carries inherent
benefits and limitations, and finding the one that best addresses the organization’s needs could be a
challenging task [
        <xref ref-type="bibr" rid="ref27">27</xref>
        ].
      </p>
      <p>Native apps have binary executable files that are downloaded directly to the device and stored locally.
The installation process can be initiated by the user or, in some cases, by the IT department of the
organization. The native app is free to access all of the APIs that are made available by the OS vendor
and, in many cases, has unique features and functions that are typical of that specific mobile OS. To create
a native app, developers must write the source code (in human-readable form) and create additional
resources, then the source code is compiled in order to create an executable in binary form that can be
packaged along with the rest of the resources and made ready for distribution. These differences across
platforms result in one of the most critical disadvantages of the native development approach—code
written for one platform cannot be used on another, making the development and maintenance of native
apps for multiple OSs a very long and expensive undertaking.</p>
      <p>
        The web apps are created to be run in modern powerful browsers which support many new HTML5
capabilities, Cascading Style Sheets 3 (CSS3) and advanced JavaScript. With recent advancements on this
front, HTML5 signals the transition of this technology from a “page-definition language” into a powerful
development standard for rich, browser-based applications. A few examples of the potential of HTML5
include advanced UI components, access to rich media types, geolocation services and offline availability.
Using these features and many more that are under development, developers are able to create advanced
applications, using nothing but web technologies. One of the most prominent advantages of a web app is
its multiplatform support and low cost of development [
        <xref ref-type="bibr" rid="ref27">27</xref>
        ].
      </p>
      <p>
        The hybrid approach combines native development with web technology. Using this approach,
developers write significant portions of their application in cross-platform web technologies, while
maintaining direct access to native APIs when required [
        <xref ref-type="bibr" rid="ref27">27</xref>
        ].
      </p>
      <p>Currently, there is a trend to move a large amount of software into the form of web and hybrid apps.
This trend is widespread thanks to the following benefits:
 all program logic of the application is located on the server, in contrast to ordinary software,
where the application logic is located on each user's computer. This allows to solve the problem of
copyright infringement and illegal copying, since the user in reality does not receive a copy of the
application, as before. All that the user receives is the program interface;
 to work with a large number of different applications, only a browser and Internet access are
required;
 there is no problem accessing the web application, since it can be obtained at anytime, anywhere;
 it is possible to work with applications not only from a computer, but also from a smartphone or
other gadgets with Internet access;
 when working with web applications, there is no need to download large installation files of
programs and store their data on your computer;
 program update at making any introductions occurs simultaneously for all users.</p>
      <p>Also, based on recent events related to the WannaCry virus, it was proved that it is necessary to use
software that is as isolated as possible from the influence of third-party organizations and is fully
controlled by the software company that uses it.</p>
      <p>One of the main advantages of web applications is that the application is completely independent of
which operating system is installed on the user's computer, that is, it can be considered cross-platform.
Also, a great advantage over local applications can be considered the lack of the need to install and
configure software – everything you need is already installed on the servers and configured by the
developers. Due to the fact that the only copy of the application is on the server, and only the developer
has access to it, there is no need to solve problems related to illegal copying of software. For developers, a
positive thing is that when updates are released, they are immediately available to all users and they do not
need to worry about compatibility.</p>
      <p>The only visible disadvantage of web applications is that they cannot be used without Internet access.</p>
    </sec>
    <sec id="sec-4">
      <title>4. Concept</title>
      <p>The relevance of the paper lies in the fact that the developed web application will be used to solve
engineering tasks in a company. The system may also be relevant for students and teachers of technical
subjects, engineers working with large calculations.</p>
      <p>In line with the above requirements, the web app is an online application. It has a graphical user
interface and no programming capacity is required for accessing solving the systems of nonlinear
equations, conducting data analysis, and building plots. The app has been optimized for low Internet
bandwidths and connectivity, with a light interface that is less than 1.5 MB and that is transferred to the
client when the application loads in a browser. The app has been developed following interoperability
standards. To achieve smooth and fast display of information, the app architecture is composed of a stack
of existing open source libraries and in-house developed functions.</p>
      <p>In terms of user management system, the app features multiple and flexible user access levels to its
tools. Each user is assigned a role of “public”, or “admin”. A role defines the access to the application’s
different components.</p>
      <p>The significance of the app is that it connects the contemporary methods of solving nonlinear equations
running in background with the modern scalable and cross-platform GUI with a high level of accessibility.</p>
    </sec>
    <sec id="sec-5">
      <title>5. Methods and solutions</title>
      <p>
        Web application consists of client and server parts, thereby implementing the client-server technology
[
        <xref ref-type="bibr" rid="ref13">13</xref>
        ]. The client part implements the user interface, forms requests to the server and processes responses
from it. The server part receives a request from the client, performs calculations, then generates a web
page and sends it to the client over the network using the HTTP protocol. Figure 1 shows the architecture
of a web application using a database.
      </p>
      <p>
        The web application itself can act as a client of other services, e.g., a database or another web
application located on another server. Currently a new approach is gaining popularity which is developing
web applications called Ajax. While using Ajax pages, web applications do not reload entirely, but only
load the necessary data from the server, which makes them more interactive and productive [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ], [
        <xref ref-type="bibr" rid="ref28">28</xref>
        ].
      </p>
      <p>Also of great popularity is the WebSocket technology, which does not require constant requests from
the client to the server, but creates a bidirectional connection, in which the server can send data to the
client without a request from the latter. Thus, it is possible to dynamically manage content in real time.</p>
      <p>
        To create web applications on the server side, a variety of technologies and any programming
languages that can output to a standard console are used [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ], [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ].
      </p>
      <p>
        This article discusses the problems of creating a multi-user web-interface software for automated
search for the roots of nonlinear equations systems [
        <xref ref-type="bibr" rid="ref29">29</xref>
        ], [
        <xref ref-type="bibr" rid="ref30">30</xref>
        ], implemented in the Python programming
language.
      </p>
      <p>The system for solving nonlinear equations implements a new algorithm based on matrices, which,
unlike standard solvers, allows us to analyze the system of equations and find a step-by-step solution to
the system. First, all the parameters that can be calculated directly are found, then subsystems are
determined and solved, then the algorithm is repeated recursively. This approach makes it possible to
reduce the calculation time of large systems and increase the stability of their solution, since instead of a
large number of parameters at each stage, only those that are necessary and amenable to calculation are
sought. The search algorithm is completed if all solutions are found or there is insufficient data to
calculate the remaining variables.</p>
      <p>
        The purpose of this work was to develop a web application that produces a solution of nonlinear
equations systems on the server [
        <xref ref-type="bibr" rid="ref31">31</xref>
        ].
      </p>
      <p>To achieve this purpose it is necessary to solve the following tasks:
1. Application integration on the server. The implemented algorithm for solving systems of
nonlinear equations and associated files must be fully stored on a remote server.
2. Creating a user interface. A web application should implement a universal algorithm for
solving nonlinear equation systems, have a friendly interface that allows the user to enter
equations manually, load equation systems from a computer and save the results.
3. Differentiation of access rights to the system. Access to work with the web application is
provided only to authorized users.
4. Visualization of the solution of the system. For clarity, the application should display the
course of solving a system of nonlinear equations and build graphs.
5. Data storage and access. The system should allow saving user-defined equations in the
database and provide access to them when entering the account.
6. Loading and saving systems of nonlinear equations and their solutions. The system should be
able to load nonlinear equations systems from the user's computer in a text format and save the
report as a pdf document.</p>
      <p>Figure 2 shows a diagram of the simulated system objects.</p>
      <p>The subsystem for solving systems of nonlinear equations is implemented in the Python programming
language. Python is an optimal programming language for solving math problems that require large
calculations. The language supports the possibility of programming within the framework of the OOP
model, but does not oblige to do this if it is not necessary.</p>
      <p>In addition to the many included in the standard set of libraries, the Python language has easy access to
third-party libraries, which is another important advantage of Python. In particular, such libraries as
pandas, sympy, numpy, etc. were used to solve the systems of nonlinear equations in this project.</p>
      <p>To solve “garbage” removal problem, gc module and gc.collect () command were used, which allows
to release resources.</p>
      <p>To describe the client part of the system, JavaScript was chosen, which is an object-oriented scripting
language and interacts through an interface called Document Object Model (DOM) with content that can
be executed on the server side (web servers) and on the client side in the web the user's browser when
browsing web pages. Many web sites use client-side JavaScript technology to create powerful dynamic
web.</p>
      <p>JavaScript has several types of embedded objects, namely Object, Array, String, Number, Boolean,
Function, Date and Math. Other objects belong to DOM objects (windows, forms, links, etc.).</p>
      <p>Figure 3 shows the flow diagram of the system being developed. By defining the functions of the
constructor, you can define objects. JavaScript is an object-oriented language based on prototypes. You
can add additional properties and methods to individual objects after they have been created. For this, for
all instances of a particular type of object, you can use a prototype – a statement.</p>
      <p>Notepad ++ was chosen as the development environment. It is a free open source text editor for
Windows with syntax highlighting for a large number of programming languages and markup. Supports
opening more than 100 formats. Based on the Scintilla component, written in C ++ using STL, as well as
the Windows API and distributed under the GNU General Public License. The basic functionality of the
program can be extended both by plugins and third-party modules, such as compilers and preprocessors.</p>
      <p>The environment was chosen due to the fact that it is free software that completely provides the
necessary functionality to accomplish the task.</p>
      <p>The application was developed using the Django framework, the programming language Python 3.0, in
the Notepad ++ environment.</p>
      <p>Traefik is used to manage user load. This is a balance proxy and load balancer. It creates a copy of the
system calculation service, if the service load is more than the calculated one.</p>
      <p>The application designed by the authors allows the user to:
 solve systems of nonlinear equations downloaded from the user's computer;
 solve systems of nonlinear equations manually entered into the system;
 save solutions to the server;
 download solutions in a pdf format;
 build graphs;
 describe own functions;
 show the progress of the decision</p>
    </sec>
    <sec id="sec-6">
      <title>6. Results and application</title>
      <p>A registered user has access to all functions of the system through the use of the relevant sections of the
solution page, which is divided into 3 main parts: the equation input area, the solution display area, the file
system operation area. The computational part of the program is based on the algorithm for solving
systems of nonlinear equations, developed by a postgraduate student at the University of Stuttgart, I.A.
Zhdanov. This algorithm uses the advantages of Jacobian sparsity and breaks down, if it is feasible, a
whole nonlinear system into the series of independent nonlinear subsystems and explicit nonlinear
equations. The system solutions are presented in a matrix form. Figure 4 shows a screen of the developed
web application.</p>
      <p>The following is an example of the developed web application. Figure 5 shows an example of an input
file with a list of calculated parameters, as well as the type of system of nonlinear equations.</p>
      <p>Here is one of a simple example of solving a nonlinear system, where it is offered to solve the
following system of equations</p>
    </sec>
    <sec id="sec-7">
      <title>7. Conclusion</title>
      <p>As a result, the paper shows the advantages of developing a multi-user web-interface of the system as a
tool for the effective use of mathematical packages for solving engineering problems.</p>
      <p>It is proposed to create a web application based on a client-server technology, where the client side
implements the user interface, generates requests to the server and processes the responses from it, the
server part receives the request from the client, performs the necessary calculations, then generates a web
page and sends it to the client over the network.</p>
      <p>The advantages of using this approach compared to common software are shown. The program logic of
the application is located on the server, which allows to solve the problem of copyright infringement and
illegal copying. In addition, updates to the program with the introduction of any innovations occur
simultaneously for all users.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <surname>Vidyasagar</surname>
            <given-names>M 1993</given-names>
          </string-name>
          <article-title>Nonlinear systems analysis</article-title>
          ,
          <source>Englewood Cliffs (New Jersey: Prentice Hall) 07632</source>
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <surname>Grosan</surname>
            <given-names>C</given-names>
          </string-name>
          ,
          <article-title>Abraham A 2008 A New Approach for Solving Nonlinear Equations Systems IEEE Transactions on systems, man, and cybernetics</article-title>
          .
          <source>Part A: Systems and humans 38</source>
          (
          <issue>3</issue>
          )
          <fpage>698</fpage>
          -
          <lpage>714</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <surname>Allgower</surname>
            <given-names>E L</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Georg</surname>
            <given-names>K</given-names>
          </string-name>
          <source>1990 Computational Solution of Nonlinear Systems American Mathematical Society</source>
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <surname>Floudas</surname>
            <given-names>C A</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Pardalos P M</surname>
            , Adjiman
            <given-names>C</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Esposito</surname>
            <given-names>W</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Gumus</surname>
            <given-names>Z</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Harding</surname>
            <given-names>S</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Klepeis</surname>
            <given-names>J</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Meyer</surname>
            <given-names>C</given-names>
          </string-name>
          and
          <article-title>Schweiger 1999 Handbook of Test Problems in Local</article-title>
          and Global
          <string-name>
            <surname>Optimization</surname>
          </string-name>
          (Dordrecht: Kluwer Academic Publishers)
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <surname>More</surname>
            <given-names>J J</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Allgower</surname>
            <given-names>E L</given-names>
          </string-name>
          and
          <string-name>
            <surname>Georg</surname>
            <given-names>K 1990</given-names>
          </string-name>
          <article-title>A collection of nonlinear model problems Computational Solution of Nonlinear Systems of Equations</article-title>
          ,
          <source>American Mathematical Society</source>
          <volume>723</volume>
          - 762
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <surname>Pinter J D 2001 Computational Global</surname>
          </string-name>
          <article-title>Optimization in Nonlinear Systems (Interactive Tutorial</article-title>
          , Lionhart Publishing)
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <surname>Peter</surname>
            <given-names>E G</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Hokayem</surname>
            <given-names>A</given-names>
          </string-name>
          <source>2018 Lecture Notes on Nonlinear Systems and Control (Zurich: ETH)</source>
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <surname>Chernov</surname>
            <given-names>V M</given-names>
          </string-name>
          <year>2018</year>
          <article-title>Discrete orthogonal transforms with bases generated by self-similar sequences</article-title>
          <source>Computer Optics</source>
          <volume>42</volume>
          (
          <issue>5</issue>
          )
          <fpage>904</fpage>
          -
          <lpage>911</lpage>
          DOI: 10.18287/
          <fpage>2412</fpage>
          -6179-2018-42-5-
          <fpage>904</fpage>
          -911
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <surname>Kropotov</surname>
            <given-names>Y A</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Proskuryakov</surname>
            <given-names>A Y</given-names>
          </string-name>
          and
          <string-name>
            <surname>Belov</surname>
            <given-names>A A</given-names>
          </string-name>
          <year>2018</year>
          <article-title>Method for forecasting changes in time series parameters in digital information management systems</article-title>
          <source>Computer Optics</source>
          <volume>42</volume>
          (
          <issue>6</issue>
          )
          <fpage>1093</fpage>
          -
          <lpage>1100</lpage>
          DOI: 10.18287/
          <fpage>2412</fpage>
          -6179-2018-42-6-
          <fpage>1093</fpage>
          -1100
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <surname>Hirsch</surname>
            <given-names>M J</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Pardalos P M and Resende M G C 2006</surname>
          </string-name>
          <article-title>Solving systems of nonlinear equations with continuous</article-title>
          <source>GRASP AT&amp; Labs Research Technical Report TD-6V6JCX</source>
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <surname>Martinez J M 1994</surname>
          </string-name>
          <article-title>Algorithms for Solving Nonlinear Systems of Equations Continuous Optimisation 81-108</article-title>
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <string-name>
            <surname>Briggs</surname>
            <given-names>B</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Buchholz S 2019 Deloitte Insights</surname>
          </string-name>
          : Tech Trends
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [13]
          <string-name>
            <surname>Shklyar</surname>
            <given-names>L</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Rozen R 2010 Web Application</surname>
          </string-name>
          <article-title>Architecture (Moskow: Eksmo</article-title>
          ) p
          <fpage>640</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          [14]
          <string-name>
            <surname>Atchison</surname>
            <given-names>L 2018</given-names>
          </string-name>
          <article-title>Architecting for Scale: High Availability for Your Growing Applications (St</article-title>
          . Petersburg: Piter SPb) p
          <fpage>256</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          [15]
          <string-name>
            <surname>Esposito</surname>
            <given-names>D 2017</given-names>
          </string-name>
          <string-name>
            <surname>Modern Web</surname>
          </string-name>
          <article-title>Development: Understanding Domains, Technologies and User Experience (Moskow: Williams</article-title>
          ) p
          <fpage>464</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          [16]
          <string-name>
            <surname>Toint P L 1977</surname>
          </string-name>
          <article-title>On sparse and symmetric matrix updating subject to a linear equation Math</article-title>
          . Comp.
          <volume>31</volume>
          <fpage>954</fpage>
          -
          <lpage>961</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          [17]
          <string-name>
            <surname>Shanno</surname>
            <given-names>D F</given-names>
          </string-name>
          <year>1980</year>
          <article-title>On variable metric methods for sparse Hessians Math</article-title>
          . Comp.
          <volume>34</volume>
          <fpage>499</fpage>
          -
          <lpage>514</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          [18]
          <string-name>
            <surname>Marwil</surname>
            <given-names>E</given-names>
          </string-name>
          1978 Exploiting Sparsity in Newton-Like
          <string-name>
            <surname>Methods</surname>
          </string-name>
          (New York: Cornell University, Ithaca)
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          [19]
          <string-name>
            <surname>Crittin</surname>
            <given-names>F</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Bierlaire</surname>
            <given-names>M 2003</given-names>
          </string-name>
          <article-title>A generalization of secant methods for solving nonlinear systems of equations Conference paper STRC: Session Model</article-title>
          and Statistics
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          [20]
          <string-name>
            <surname>Taheri</surname>
            <given-names>S</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Mammadov</surname>
            <given-names>M 2012</given-names>
          </string-name>
          <article-title>Solving systems of nonlinear equations using a globally convergent optimization algorithm</article-title>
          <source>Global Journal of Technology &amp; Optimisation</source>
          <volume>3</volume>
          <fpage>132</fpage>
          -
          <lpage>138</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          [21]
          <string-name>
            <surname>Rahman N H A</surname>
            , Ibrahim
            <given-names>A</given-names>
          </string-name>
          and
          <string-name>
            <surname>Jayes M I 2013</surname>
          </string-name>
          <article-title>Numerical solving for nonlinear using higher order homotopy Taylor-perturbation New trends</article-title>
          in
          <source>mathematical sciences 1</source>
          (
          <issue>1</issue>
          )
          <fpage>24</fpage>
          -
          <lpage>28</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref22">
        <mixed-citation>
          [22]
          <string-name>
            <surname>Nielson</surname>
            <given-names>B J</given-names>
          </string-name>
          <year>1999</year>
          <article-title>On the kinematic analysis of robotic mechanisms The</article-title>
          <source>International Journal of Robotics Research</source>
          <volume>18</volume>
          (
          <issue>12</issue>
          )
          <fpage>1147</fpage>
          -
          <lpage>1160</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref23">
        <mixed-citation>
          [23]
          <string-name>
            <surname>Dennis J E and Schnabel R B 1983</surname>
          </string-name>
          <article-title>Numerical Methods for Unconstrained Optimization and Nonlinear Equations (Prentice-</article-title>
          <string-name>
            <surname>Hall</surname>
          </string-name>
          , Englewood Cliffx)
        </mixed-citation>
      </ref>
      <ref id="ref24">
        <mixed-citation>
          [24]
          <string-name>
            <surname>Schubert L K 1970 Modification of</surname>
          </string-name>
          <article-title>a quasi-Newton method for nonlinear equations with a sparse Jacobian Math</article-title>
          . Comp.
          <volume>24</volume>
          <fpage>27</fpage>
          -
          <lpage>30</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref25">
        <mixed-citation>
          [25]
          <string-name>
            <surname>Griewank</surname>
            <given-names>A</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Toint P L 1984</surname>
          </string-name>
          <article-title>Numerical experiments with partially separable optimization problems</article-title>
          <source>Numerical Analysis</source>
          <volume>1066</volume>
          <fpage>203</fpage>
          -
          <lpage>220</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref26">
        <mixed-citation>
          [26]
          <string-name>
            <surname>Toint P L 1986 Numerical</surname>
            <given-names>Solution</given-names>
          </string-name>
          <source>of Large Sets of Algebraic Nonlinear Equations Mathematics of Computation</source>
          <volume>46</volume>
          (
          <issue>173</issue>
          )
          <fpage>175</fpage>
          -
          <lpage>189</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref27">
        <mixed-citation>
          [27]
          <string-name>
            <given-names>IBM</given-names>
            <surname>White</surname>
          </string-name>
          <article-title>Paper 2012 Native, web or hybrid mobile-app development (IBM Corporation)</article-title>
        </mixed-citation>
      </ref>
      <ref id="ref28">
        <mixed-citation>
          [28]
          <string-name>
            <surname>Lavrischeva E P V 2018</surname>
          </string-name>
          <article-title>Models of quality and reliability in software engineering</article-title>
          URL: http://www.intuit.ru/studies/courses/ (
          <volume>01</volume>
          .
          <fpage>07</fpage>
          .
          <year>2018</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref29">
        <mixed-citation>
          [29]
          <string-name>
            <surname>Verzhbitsky</surname>
            <given-names>V 2000</given-names>
          </string-name>
          <article-title>Numerical methods (linear algebra and nonlinear equations) (Moskow: Higher education</article-title>
          . shk.) p
          <fpage>266</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref30">
        <mixed-citation>
          <source>[30] Research on Solving Systems of Nonlinear</source>
          Equations URL: https://www.hindawi.com/journals/ mpe/2015/727218/ (01.
          <fpage>07</fpage>
          .
          <year>2018</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref31">
        <mixed-citation>
          [31]
          <article-title>Methodology of system analysis and system modeling URL: http://www</article-title>
          . znannya.org/?view=summary:
          <source>Methodology_analysis_system_design (26</source>
          .
          <fpage>05</fpage>
          .
          <year>2018</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref32">
        <mixed-citation>
          [32]
          <string-name>
            <surname>Hentenryck</surname>
            <given-names>P V</given-names>
          </string-name>
          ,
          <string-name>
            <surname>McAllester</surname>
            <given-names>D</given-names>
          </string-name>
          and
          <string-name>
            <surname>Kapur D 1997</surname>
          </string-name>
          <article-title>Solving polynomial systems using a branch and prune approach SIAM J. Numer</article-title>
          . Anal.
          <volume>34</volume>
          (
          <issue>2</issue>
          )
          <fpage>797</fpage>
          -
          <lpage>827</lpage>
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>