<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE article PUBLIC "-//NLM//DTD Journal Publishing DTD v2.3 20070202//EN" "journalpublishing.dtd">
<article article-type="research-article" dtd-version="2.3" xml:lang="EN" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink">
<front>
<journal-meta>
<journal-id journal-id-type="publisher-id">Front. Appl. Math. Stat.</journal-id>
<journal-title>Frontiers in Applied Mathematics and Statistics</journal-title>
<abbrev-journal-title abbrev-type="pubmed">Front. Appl. Math. Stat.</abbrev-journal-title>
<issn pub-type="epub">2297-4687</issn>
<publisher>
<publisher-name>Frontiers Media S.A.</publisher-name>
</publisher>
</journal-meta>
<article-meta>
<article-id pub-id-type="publisher-id">673412</article-id>
<article-id pub-id-type="doi">10.3389/fams.2021.673412</article-id>
<article-categories>
<subj-group subj-group-type="heading">
<subject>Applied Mathematics and Statistics</subject>
<subj-group>
<subject>Original Research</subject>
</subj-group>
</subj-group>
</article-categories>
<title-group>
<article-title>Performance Analysis of Trust Region Subproblem Solvers for Limited-Memory Distributed BFGS Optimization Method</article-title>
<alt-title alt-title-type="left-running-head">Gao et&#x20;al.</alt-title>
<alt-title alt-title-type="right-running-head">Performance Analysis of L-DBFGS-TRS Solvers</alt-title>
</title-group>
<contrib-group>
<contrib contrib-type="author" corresp="yes">
<name>
<surname>Gao</surname>
<given-names>Guohua</given-names>
</name>
<xref ref-type="aff" rid="aff1">
<sup>1</sup>
</xref>
<xref ref-type="corresp" rid="c001">&#x2a;</xref>
<uri xlink:href="https://loop.frontiersin.org/people/1062573/overview"/>
</contrib>
<contrib contrib-type="author">
<name>
<surname>Florez</surname>
<given-names>Horacio</given-names>
</name>
<xref ref-type="aff" rid="aff1">
<sup>1</sup>
</xref>
</contrib>
<contrib contrib-type="author">
<name>
<surname>Vink</surname>
<given-names>Jeroen C.</given-names>
</name>
<xref ref-type="aff" rid="aff2">
<sup>2</sup>
</xref>
</contrib>
<contrib contrib-type="author">
<name>
<surname>Wells</surname>
<given-names>Terence J.</given-names>
</name>
<xref ref-type="aff" rid="aff2">
<sup>2</sup>
</xref>
</contrib>
<contrib contrib-type="author">
<name>
<surname>Saaf</surname>
<given-names>Fredrik</given-names>
</name>
<xref ref-type="aff" rid="aff1">
<sup>1</sup>
</xref>
</contrib>
<contrib contrib-type="author">
<name>
<surname>Blom</surname>
<given-names>Carl P. A.</given-names>
</name>
<xref ref-type="aff" rid="aff2">
<sup>2</sup>
</xref>
</contrib>
</contrib-group>
<aff id="aff1">
<label>
<sup>1</sup>
</label>Shell Global Solutions (United&#x20;States) Inc., <addr-line>Houston</addr-line>, <addr-line>TX</addr-line>, <country>United&#x20;States</country>
</aff>
<aff id="aff2">
<label>
<sup>2</sup>
</label>Shell Global Solutions International B.V., <addr-line>Amsterdam</addr-line>, <country>Netherlands</country>
</aff>
<author-notes>
<fn fn-type="edited-by">
<p>
<bold>Edited by:</bold> <ext-link ext-link-type="uri" xlink:href="https://loop.frontiersin.org/people/1046123/overview">Olwijn Leeuwenburgh</ext-link>, Netherlands Organisation for Applied Scientific Research, Netherlands</p>
</fn>
<fn fn-type="edited-by">
<p>
<bold>Reviewed by:</bold> <ext-link ext-link-type="uri" xlink:href="https://loop.frontiersin.org/people/795541/overview">Andreas St&#xf8;rksen Stordal</ext-link>, Norwegian Research Institute (NORCE), Norway</p>
<p>
<ext-link ext-link-type="uri" xlink:href="https://loop.frontiersin.org/people/921323/overview">Sarfraz Ahmad</ext-link>, COMSATS University Islamabad, Pakistan</p>
</fn>
<corresp id="c001">&#x2a;Correspondence: Guohua Gao, <email>guohua.gao@shell.com</email>
</corresp>
<fn fn-type="other">
<p>This article was submitted to Optimization, a section of the journal Frontiers in Applied Mathematics and Statistics</p>
</fn>
</author-notes>
<pub-date pub-type="epub">
<day>24</day>
<month>05</month>
<year>2021</year>
</pub-date>
<pub-date pub-type="collection">
<year>2021</year>
</pub-date>
<volume>7</volume>
<elocation-id>673412</elocation-id>
<history>
<date date-type="received">
<day>27</day>
<month>02</month>
<year>2021</year>
</date>
<date date-type="accepted">
<day>29</day>
<month>04</month>
<year>2021</year>
</date>
</history>
<permissions>
<copyright-statement>Copyright &#xa9; 2021 Gao, Florez, Vink, Wells, Saaf and Blom.</copyright-statement>
<copyright-year>2021</copyright-year>
<copyright-holder>Gao, Florez, Vink, Wells, Saaf and Blom</copyright-holder>
<license xlink:href="http://creativecommons.org/licenses/by/4.0/">
<p>This is an open-access article distributed under the terms of the Creative Commons Attribution License (CC BY). The use, distribution or reproduction in other forums is permitted, provided the original author(s) and the copyright owner(s) are credited and that the original publication in this journal is cited, in accordance with accepted academic practice. No use, distribution or reproduction is permitted which does not comply with these&#x20;terms.</p>
</license>
</permissions>
<abstract>
<p>The limited-memory Broyden&#x2013;Fletcher&#x2013;Goldfarb&#x2013;Shanno (L-BFGS) optimization method performs very efficiently for large-scale problems. A trust region search method generally performs more efficiently and robustly than a line search method, especially when the gradient of the objective function cannot be accurately evaluated. The computational cost of an L-BFGS trust region subproblem (TRS) solver depend mainly on the number of unknown variables (<bold>
<italic>n</italic>
</bold>) and the number of variable shift vectors and gradient change vectors (<bold>
<italic>m</italic>
</bold>) used for Hessian updating, with <bold>m &#x003c;&#x003c; n</bold> for large-scale problems. In this paper, we analyze the performances of different methods to solve the L-BFGS TRS. The first method is the direct method using the Newton-Raphson (DNR) method and Cholesky factorization of a dense <bold>
<italic>n</italic> &#xd7; <italic>n</italic>
</bold> matrix, the second one is the direct method based on an inverse quadratic (DIQ) interpolation, and the third one is a new method that combines the matrix inversion lemma (MIL) with an approach to update associated matrices and vectors. The MIL approach is applied to reduce the dimension of the original problem with <bold>
<italic>n</italic>
</bold> variables to a new problem with <bold>
<italic>m</italic>
</bold> variables. Instead of directly using expensive matrix-matrix and matrix-vector multiplications to solve the L-BFGS TRS, a more efficient approach is employed to update matrices and vectors iteratively. The L-BFGS TRS solver using the MIL method performs more efficiently than using the DNR method or DIQ method. Testing on a representative suite of problems indicates that the new method can converge to optimal solutions comparable to those obtained using the DNR or DIQ method. Its computational cost represents only a modest overhead over the well-known L-BFGS line-search method but delivers improved stability in the presence of inaccurate gradients. When compared to the solver using the DNR or DIQ method, the new TRS solver can reduce computational cost by a factor proportional to <inline-formula id="inf1">
<mml:math id="m1">
<mml:mrow>
<mml:mrow>
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">n</mml:mi>
<mml:mi mathvariant="bold">2</mml:mi>
</mml:msup>
</mml:mrow>
<mml:mo>/</mml:mo>
<mml:mi mathvariant="bold-italic">m</mml:mi>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> for large-scale problems.</p>
</abstract>
<kwd-group>
<kwd>limited-memory BFGS method</kwd>
<kwd>trust region search optimization method</kwd>
<kwd>trust region subproblem</kwd>
<kwd>matrix inversion lemma</kwd>
<kwd>low rank matrix update</kwd>
</kwd-group>
</article-meta>
</front>
<body>
<sec id="s1">
<title>Introduction</title>
<p>Decision-making tools based on optimization procedures have been successfully applied to solve practical problems in a wide range of areas. An optimization problem is generally defined as minimizing (or maximizing) an objective function <inline-formula id="inf2">
<mml:math id="m2">
<mml:mrow>
<mml:mi mathvariant="bold-italic">f</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">x</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> within a user defined search domain <inline-formula id="inf3">
<mml:math id="m3">
<mml:mrow>
<mml:mi mathvariant="bold-italic">x</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:mi mathvariant="bold">&#x3a9;</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>, and subject to some linear or nonlinear constraints, where <bold>
<italic>x</italic>
</bold> is an <bold>
<italic>n</italic>
</bold>-dimensional vector that contains all controllable variables.</p>
<p>In the oil and gas industry, an optimal business development plan requires robust production optimization because of the considerable uncertainty of subsurface reservoir properties and volatile oil prices. Many papers have been published on the topic of robust optimization and their applications to cyclic CO<sub>2</sub> flooding through the Gas-Assisted Gravity Drainage process [<xref ref-type="bibr" rid="B1">1</xref>], well placement optimization in geologically complex reservoirs [<xref ref-type="bibr" rid="B2">2</xref>], optimal production schedules of smart wells for water flooding [<xref ref-type="bibr" rid="B3">3</xref>] and in naturally fractured reservoirs [<xref ref-type="bibr" rid="B4">4</xref>], just mentioning a few of them as examples.</p>
<p>Some researchers formulated the optimization problem under uncertainty as a single objective optimization problem, e.g., only maximizing the mean of net present value (NPV) for simplicity by neglecting the associated risk. However, it is recommended to formulate robust optimization as a bi-objective optimization problem for consistency and completeness. A bi-objective optimization problem is generally defined as minimizing (or maximizing) two different objective functions, <inline-formula id="inf4">
<mml:math id="m4">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold-italic">f</mml:mi>
<mml:mi mathvariant="normal">1</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">x</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> and <inline-formula id="inf5">
<mml:math id="m5">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold-italic">f</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">x</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula>, within a user-defined search domain <inline-formula id="inf6">
<mml:math id="m6">
<mml:mrow>
<mml:mi mathvariant="bold-italic">x</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:mi mathvariant="bold">&#x3a9;</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>, and subject to some linear or nonlinear constraints. For example, we may maximize the mean value, denoted by <inline-formula id="inf7">
<mml:math id="m7">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold-italic">f</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">x</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula>, and minimize the standard deviation, denoted by <inline-formula id="inf8">
<mml:math id="m8">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold-italic">f</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">x</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula>, of NPV. For a bi-objective optimization problem, the optimal solutions are defined as the Pareto optimal solutions (or Pareto front). It is a very challenging task to find multiple optimal solutions on the Pareto front [<xref ref-type="bibr" rid="B5">5</xref>,&#x20;<xref ref-type="bibr" rid="B6">6</xref>].</p>
<p>It is also a very challenging task to properly characterize the uncertainty of reservoir properties (e.g., porosity and permeability in each grid-block) and reliably quantify the ensuing uncertainty of production forecasts (e.g., production rates of oil, gas, and water phases) by conditioning to historical production data and 4D seismic data [<xref ref-type="bibr" rid="B7">7</xref>, <xref ref-type="bibr" rid="B8">8</xref>], which requires generating multiple conditional realizations by minimizing a properly defined objective function, e.g., using the randomized maximum likelihood (RML) method&#x20;[<xref ref-type="bibr" rid="B9">9</xref>].</p>
<p>When an adjoint-based gradient of the objective function is available [<xref ref-type="bibr" rid="B10">10</xref>&#x2013;<xref ref-type="bibr" rid="B12">12</xref>], we may apply a gradient-based optimization method, e.g., the Broyden&#x2013;Fletcher&#x2013;Goldfarb&#x2013;Shanno (BFGS) optimization method [<xref ref-type="bibr" rid="B13">13</xref>, <xref ref-type="bibr" rid="B14">14</xref>]. However, the adjoint-based gradient is not available for many commercial simulators and not available for integer type or discrete variables (e.g., well locations defined by grid-block indices). In such a case, we must apply a derivative-free optimization (DFO) method [<xref ref-type="bibr" rid="B15">15</xref>&#x2013;<xref ref-type="bibr" rid="B18">18</xref>]. For problems with smooth objective functions and continuous variables, model-based DFO methods using either radial-basis function [<xref ref-type="bibr" rid="B19">19</xref>] or quadratic model [<xref ref-type="bibr" rid="B16">16</xref>, <xref ref-type="bibr" rid="B20">20</xref>, <xref ref-type="bibr" rid="B21">21</xref>] performs more efficiently than other DFO methods such as direct pattern search methods [<xref ref-type="bibr" rid="B22">22</xref>] and stochastic search methods&#x20;[<xref ref-type="bibr" rid="B23">23</xref>].</p>
<p>Traditional optimization methods only locate a single optimal solution, and they are referred to as single-thread optimization methods in this paper. It is unacceptably expensive to use a single-thread optimization method to locate multiple optimal solutions on the Pareto front or generate multiple RML samples [<xref ref-type="bibr" rid="B24">24</xref>]. To overcome the limitations of single-thread optimization methods, Gao et&#x20;al. [<xref ref-type="bibr" rid="B17">17</xref>] developed a local-search distributed Gauss-Newton (DGN) DFO method to find multiple best matches concurrently. Later, Chen et&#x20;al. [<xref ref-type="bibr" rid="B25">25</xref>] modified the local-search DGN optimization method and generalized the DGN optimizer for global search. They also integrated the global-search DGN optimization method with the RML method to generate multiple RML samples in parallel.</p>
<p>Because multiple search points are generated in each iteration, finally, multiple optimal solutions can be found in parallel. These distributed optimization methods are referred to as multiple-thread optimization methods. Both the local- and global-search DGN optimization methods are only applicable to a specific optimization problem, i.e.,&#x20;history matching problem or least-squares optimization problem, of which the objective function can be expressed as a form of least-squares, <inline-formula id="inf9">
<mml:math id="m9">
<mml:mrow>
<mml:mi mathvariant="bold-italic">f</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">x</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:mfrac>
<mml:mn>1</mml:mn>
<mml:mn>2</mml:mn>
</mml:mfrac>
<mml:mi mathvariant="bold-italic">&#x3b1;</mml:mi>
<mml:msup>
<mml:mi mathvariant="bold-italic">x</mml:mi>
<mml:mi mathvariant="bold-italic">T</mml:mi>
</mml:msup>
<mml:mi mathvariant="bold-italic">x</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mfrac>
<mml:mn>1</mml:mn>
<mml:mn>2</mml:mn>
</mml:mfrac>
<mml:msup>
<mml:mi mathvariant="bold-italic">y</mml:mi>
<mml:mi mathvariant="bold-italic">T</mml:mi>
</mml:msup>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">x</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mi mathvariant="bold-italic">y</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">x</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula>, but they cannot be applied to other type or generic optimization problems where the objective function cannot be expressed as a form of least-squares. Furthermore, the DGN optimization methods may become less efficient for history matching problems when both the number of variables (<bold>
<italic>n</italic>
</bold>) and the number of observed data (<bold>
<italic>m</italic>
</bold>) are large (e.g., in the order of thousands or more).</p>
<p>Recently, Gao et&#x20;al. [<xref ref-type="bibr" rid="B18">18</xref>] developed a well-paralleled distributed quasi-Newton (DQN) DFO method for generic optimization problems by introducing a generalized form of the objective function, <inline-formula id="inf10">
<mml:math id="m10">
<mml:mrow>
<mml:mi mathvariant="bold-italic">F</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi mathvariant="bold-italic">x</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="bold-italic">y</mml:mi>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:mi mathvariant="bold-italic">f</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">x</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula>. Here, <bold>
<italic>x</italic>
</bold> represents the vector of controllable variables or model parameters to be optimized (explicit variables) and <bold>
<italic>y</italic>
</bold>(<bold>
<italic>x</italic>
</bold>) denotes the vector of simulated responses (implicit variables) of a reservoir using explicit variables <bold>
<italic>x</italic>
</bold>. Using the generalized form of the objective function, the gradient of the objective function can be evaluated analytically by,<disp-formula id="e1">
<mml:math id="me1">
<mml:mrow>
<mml:mi mathvariant="bold-italic">g</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">x</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mo>&#x2207;</mml:mo>
<mml:mi mathvariant="bold-italic">x</mml:mi>
</mml:msub>
<mml:mi mathvariant="bold-italic">F</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi mathvariant="bold-italic">x</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="bold-italic">y</mml:mi>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mo>&#x2b;</mml:mo>
<mml:msup>
<mml:mi mathvariant="bold-italic">J</mml:mi>
<mml:mi mathvariant="bold-italic">T</mml:mi>
</mml:msup>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">x</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:msub>
<mml:mo>&#x2207;</mml:mo>
<mml:mi mathvariant="bold-italic">y</mml:mi>
</mml:msub>
<mml:mi mathvariant="bold-italic">F</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi mathvariant="bold-italic">x</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="bold-italic">y</mml:mi>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
<label>(1)</label>
</disp-formula>In <xref ref-type="disp-formula" rid="e1">Eq. 1</xref>, <inline-formula id="inf11">
<mml:math id="m11">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">J</mml:mi>
<mml:mi mathvariant="bold-italic">T</mml:mi>
</mml:msup>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">x</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mo>&#x2207;</mml:mo>
<mml:mi mathvariant="bold-italic">x</mml:mi>
</mml:msub>
<mml:msup>
<mml:mi mathvariant="bold-italic">y</mml:mi>
<mml:mi mathvariant="bold-italic">T</mml:mi>
</mml:msup>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">x</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> is the transpose of the sensitivity matrix. Using the generalized expression of the objective function <bold>
<italic>F</italic>
</bold>(<bold>
<italic>x</italic>
</bold>,<bold> <italic>y</italic>
</bold>), different objective functions can be evaluated using the same <bold>
<italic>y</italic>
</bold>(<bold>
<italic>x</italic>
</bold>) that is simulated from the same reservoir model, e.g., for multi-objective optimization problems. A specific case of the generalized expression is <inline-formula id="inf12">
<mml:math id="m12">
<mml:mrow>
<mml:mi mathvariant="bold-italic">F</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi mathvariant="bold-italic">x</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="bold-italic">y</mml:mi>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:mi mathvariant="bold-italic">y</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mi mathvariant="bold-italic">f</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">x</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula>, where the transpose of the sensitivity matrix becomes the gradient of the objective function.</p>
<p>The DQN optimization algorithm runs <bold>
<italic>N</italic>
</bold>
<sub>
<bold>
<italic>e</italic>
</bold>
</sub> optimization threads in parallel. In the <bold>
<italic>k</italic>
</bold>-th iteration, there are <inline-formula id="inf13">
<mml:math id="m13">
<mml:mrow>
<mml:msubsup>
<mml:mi mathvariant="bold-italic">N</mml:mi>
<mml:mrow>
<mml:mi mathvariant="bold-italic">LC</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x2264;</mml:mo>
<mml:msub>
<mml:mi mathvariant="bold-italic">N</mml:mi>
<mml:mi mathvariant="bold-italic">e</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> non-converged threads. The DQN optimizer generates a new search points <inline-formula id="inf14">
<mml:math id="m14">
<mml:mrow>
<mml:msubsup>
<mml:mi mathvariant="bold-italic">x</mml:mi>
<mml:mi mathvariant="bold-italic">T</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi mathvariant="bold-italic">i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mi mathvariant="bold-italic">x</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi mathvariant="bold-italic">i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
<mml:mo>&#x2b;</mml:mo>
<mml:msup>
<mml:mi mathvariant="bold-italic">s</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi mathvariant="bold-italic">i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> for each non-converged thread, where the search step <inline-formula id="inf15">
<mml:math id="m15">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">s</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi mathvariant="bold-italic">i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> is solved from a trust region subproblem (TRS). The <inline-formula id="inf16">
<mml:math id="m16">
<mml:mrow>
<mml:msubsup>
<mml:mi mathvariant="bold-italic">N</mml:mi>
<mml:mrow>
<mml:mi mathvariant="bold-italic">LC</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula> simulation cases are submitted to a high-performance computing (HPC) cluster in parallel, to generate corresponding simulated responses <inline-formula id="inf17">
<mml:math id="m17">
<mml:mrow>
<mml:msubsup>
<mml:mi mathvariant="bold-italic">y</mml:mi>
<mml:mi mathvariant="bold-italic">T</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi mathvariant="bold-italic">i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x3d;</mml:mo>
<mml:mi mathvariant="bold-italic">y</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:msubsup>
<mml:mi mathvariant="bold-italic">x</mml:mi>
<mml:mi mathvariant="bold-italic">T</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi mathvariant="bold-italic">i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula>. Then, we evaluate the objective function <inline-formula id="inf18">
<mml:math id="m18">
<mml:mrow>
<mml:msubsup>
<mml:mi mathvariant="bold-italic">f</mml:mi>
<mml:mi mathvariant="bold-italic">T</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi mathvariant="bold-italic">i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x3d;</mml:mo>
<mml:mi mathvariant="bold-italic">F</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:msubsup>
<mml:mi mathvariant="bold-italic">x</mml:mi>
<mml:mi mathvariant="bold-italic">T</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi mathvariant="bold-italic">i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msubsup>
<mml:mo>,</mml:mo>
<mml:msubsup>
<mml:mi mathvariant="bold-italic">y</mml:mi>
<mml:mi mathvariant="bold-italic">T</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi mathvariant="bold-italic">i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> and its associated partial derivatives <inline-formula id="inf19">
<mml:math id="m19">
<mml:mrow>
<mml:msub>
<mml:mo>&#x2207;</mml:mo>
<mml:mi mathvariant="bold-italic">x</mml:mi>
</mml:msub>
<mml:msup>
<mml:mi mathvariant="bold-italic">F</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi mathvariant="bold-italic">i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> and <inline-formula id="inf20">
<mml:math id="m20">
<mml:mrow>
<mml:msub>
<mml:mo>&#x2207;</mml:mo>
<mml:mi mathvariant="bold-italic">y</mml:mi>
</mml:msub>
<mml:msup>
<mml:mi mathvariant="bold-italic">F</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi mathvariant="bold-italic">i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>. If the new search point <inline-formula id="inf21">
<mml:math id="m21">
<mml:mrow>
<mml:msubsup>
<mml:mi mathvariant="bold-italic">x</mml:mi>
<mml:mi mathvariant="bold-italic">T</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi mathvariant="bold-italic">i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula> improves the objective function, i.e.,&#x20;<inline-formula id="inf22">
<mml:math id="m22">
<mml:mrow>
<mml:msubsup>
<mml:mi mathvariant="bold-italic">f</mml:mi>
<mml:mi mathvariant="bold-italic">T</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi mathvariant="bold-italic">i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x3c;</mml:mo>
<mml:msup>
<mml:mi mathvariant="bold-italic">f</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi mathvariant="bold-italic">i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
<mml:mo>&#x3d;</mml:mo>
<mml:mi mathvariant="bold-italic">f</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">x</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi mathvariant="bold-italic">i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula>, then we update <inline-formula id="inf23">
<mml:math id="m23">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">x</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi mathvariant="bold-italic">i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
<mml:mo>&#x3d;</mml:mo>
<mml:msubsup>
<mml:mi mathvariant="bold-italic">x</mml:mi>
<mml:mi mathvariant="bold-italic">T</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi mathvariant="bold-italic">i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula> and <inline-formula id="inf24">
<mml:math id="m24">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">f</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi mathvariant="bold-italic">i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
<mml:mo>&#x3d;</mml:mo>
<mml:msubsup>
<mml:mi mathvariant="bold-italic">f</mml:mi>
<mml:mi mathvariant="bold-italic">T</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi mathvariant="bold-italic">i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula>.</p>
<p>All simulation results generated by all DQN optimization threads in previous and current iterations are recorded in a training data set, and they are shared among all DQN optimization threads. The sensitivity matrix <inline-formula id="inf25">
<mml:math id="m25">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">J</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi mathvariant="bold-italic">i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
<mml:mo>&#x3d;</mml:mo>
<mml:mi mathvariant="bold-italic">J</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">x</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi mathvariant="bold-italic">i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> is approximated using a modified QR-method proposed by Gao, et&#x20;al. [<xref ref-type="bibr" rid="B18">18</xref>] by linear interpolation of training data points that are closest to <bold>
<italic>x</italic>
</bold>
<sup>(<bold>
<italic>i</italic>
</bold>,<bold>
<italic>k</italic>&#x2b;</bold>1)</sup>. Then, we approximate the gradient <inline-formula id="inf26">
<mml:math id="m26">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">g</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi mathvariant="bold-italic">i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
<mml:mo>&#x3d;</mml:mo>
<mml:mi mathvariant="bold-italic">g</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">x</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi mathvariant="bold-italic">i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> using <xref ref-type="disp-formula" rid="e1">Eq. 1</xref>. Finally, the Hessian <bold>
<italic>H</italic>
</bold>
<sup>(<bold>
<italic>i</italic>
</bold>,<bold>
<italic>k</italic>&#x2b;1</bold>)</sup> for each thread is updated using either the BFGS method or the symmetric rank-1 (SR1) method [<xref ref-type="bibr" rid="B14">14</xref>]. For simplicity, we will drop the superscript &#x201c;<bold>
<italic>i</italic>
</bold>&#x201d; (the optimization thread index) in the following discussions.</p>
<p>Both DGN and DQN optimization methods approximate the objective function by a quadratic model, and they are designed for problems with smooth objective function and continuous variables. Although their convergence is not guaranteed for problems with integer type variables (e.g., well location optimization), if those integers can be treated as truncated continuous variables, our numerical tests indicate that these distributed optimization methods can improve the objective function significantly and locate multiple suboptimal solutions for problems with integer type variables in only a few iterations.</p>
<p>The number of variables for real-world problems may vary from a few to thousands or even more, depending on the problem and the parameterization techniques employed. For example, the number of variables could be in the order of millions if we do not apply any parameter reduction techniques to reduce the dimension of some history matching problems (e.g., to tune permeability and porosity in each grid block). Because reservoir properties are generally correlated with each other with long correlation lengths, we may reduce the number of variables to be tuned to only a few hundred, e.g., using the principal component analysis (PCA) or other parameter reduction techniques&#x20;[<xref ref-type="bibr" rid="B26">26</xref>].</p>
<p>In this paper, our focus is on performance analysis of different methods to solve the TRS formulated with the limited-memory BFGS (L-BFGS) Hessian updating method for unconstrained optimization problems. In the future, we will further integrate the new TRS solver with our newly proposed limited-memory distributed BFGS (L-DBFGS) optimization algorithm and then apply the new optimizer to some realistic oil/gas field optimization cases and benchmark its overall performance against other distributed optimization methods such as those only using the gradient [<xref ref-type="bibr" rid="B27">27</xref>]. We will also continue our investigation in the future for constrained optimization problems (e.g., variables with lower- and/or upper-bounds and problems with nonlinear constraints). Gao et&#x20;al. [<xref ref-type="bibr" rid="B18">18</xref>] applied the popular Newton-Raphson method [<xref ref-type="bibr" rid="B28">28</xref>] to directly solve the TRS using matrix factorization, the DNR method in short. The DNR method is quite expensive when it is applied to solve <inline-formula id="inf27">
<mml:math id="m27">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold-italic">N</mml:mi>
<mml:mi mathvariant="bold-italic">e</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> TRSs of a distributed optimization method, especially for large-scale problems with thousands or more variables [<xref ref-type="bibr" rid="B29">29</xref>]. This paper follows the ideas and concepts presented in the book &#x201c;Matrix Computation&#x201d; [<xref ref-type="bibr" rid="B30">30</xref>]. Flops are used to quantify the volume of work associated with a computation, a count for floating-point operations of add, subtract, multiply, or divide. Computational cost (flops) of some commonly used algebraic operations and numerical methods are summarized in <xref ref-type="table" rid="T1">Table&#x20;1</xref> for reference.</p>
<table-wrap id="T1" position="float">
<label>TABLE 1</label>
<caption>
<p>A summary of computational costs of commonly used algebraic operations.</p>
</caption>
<table>
<thead valign="top">
<tr>
<th align="left">Operation</th>
<th align="center">Dimension</th>
<th align="center">Computational cost (flops)</th>
</tr>
</thead>
<tbody valign="top">
<tr>
<td align="left">
<bold>
<italic>a &#x3d; x</italic>
</bold>
<sup>
<bold>
<italic>T</italic>
</bold>
</sup>
<bold>
<italic>y</italic>
</bold>
</td>
<td align="center">
<bold>
<italic>x</italic>, <italic>y</italic>
</bold>&#x3f5;<bold>
<italic>R</italic>
</bold>
<sup>n</sup>
</td>
<td align="center">2<bold>
<italic>n</italic>
</bold>
</td>
</tr>
<tr>
<td align="left">
<bold>
<italic>y &#x3d; y &#x2b; axy</italic>
</bold>
</td>
<td align="center">
<bold>
<italic>a</italic>
</bold>&#x3f5;<bold>
<italic>R</italic>
</bold>; <bold>
<italic>x</italic>, <italic>y</italic>
</bold>&#x3f5;<bold>
<italic>R</italic>
</bold>
<sup>n</sup>
</td>
<td align="center">2<bold>
<italic>n</italic>
</bold>
</td>
</tr>
<tr>
<td align="left">
<bold>
<italic>y &#x3d; y &#x2b; Ax</italic>
</bold>
</td>
<td align="center">
<bold>
<italic>A</italic>
</bold>&#x3f5;<bold>
<italic>R</italic>
</bold>
<sup>m&#xd7;n</sup>; <bold>
<italic>x</italic>
</bold>&#x3f5;<bold>
<italic>R</italic>
</bold>
<sup>n</sup>; <bold>
<italic>y</italic>
</bold>&#x3f5;<bold>
<italic>R</italic>
</bold>
<sup>m</sup>
</td>
<td align="center">2<bold>
<italic>mn</italic>
</bold>
</td>
</tr>
<tr>
<td align="left">
<bold>
<italic>A &#x3d; A &#x2b; yx</italic>
</bold>
<sup>
<bold>
<italic>T</italic>
</bold>
</sup>
</td>
<td align="center">
<bold>
<italic>A</italic>
</bold>&#x3f5;<bold>
<italic>R</italic>
</bold>
<sup>m&#xd7;n</sup>; <bold>
<italic>x</italic>
</bold>&#x3f5;<bold>
<italic>R</italic>
</bold>
<sup>n</sup>; <bold>
<italic>y</italic>
</bold>&#x3f5;<bold>
<italic>R</italic>
</bold>
<sup>m</sup>
</td>
<td align="center">2<bold>
<italic>mn</italic>
</bold>
</td>
</tr>
<tr>
<td align="left">
<bold>
<italic>C &#x3d; C &#x2b; AB</italic>
</bold>
</td>
<td align="center">
<bold>
<italic>A</italic>
</bold>&#x3f5;<bold>
<italic>R</italic>
</bold>
<sup>m&#xd7;r</sup>; <bold>
<italic>B</italic>
</bold>&#x3f5;<bold>
<italic>R</italic>
</bold>
<sup>r&#xd7;n</sup>; <bold>
<italic>C</italic>
</bold>&#x3f5;<bold>
<italic>R</italic>
</bold>
<sup>m&#xd7;n</sup>
</td>
<td align="center">2<bold>
<italic>mnr</italic>
</bold>
</td>
</tr>
<tr>
<td align="left">
<bold>
<italic>A &#x3d; LL</italic>
</bold>
<sup>
<bold>
<italic>T</italic>
</bold>
</sup>
</td>
<td align="center">Symmetric <bold>
<italic>A</italic>
</bold>&#x3f5;<bold>
<italic>R</italic>
</bold>
<sup>n&#xd7;n</sup>; <bold>
<italic>L</italic>
</bold>&#x3f5;<bold>
<italic>R</italic>
</bold>
<sup>n&#xd7;n</sup>
</td>
<td align="center">
<bold>
<italic>n</italic>
</bold>
<sup>3</sup>/3</td>
</tr>
<tr>
<td align="left">Solve <bold>
<italic>x</italic>
</bold> from <bold>
<italic>Lx</italic>
</bold>&#x3d;<bold>
<italic>y</italic>
</bold>
</td>
<td align="center">Lower triangle <bold>
<italic>L</italic>
</bold>&#x3f5;<bold>
<italic>R</italic>
</bold>
<sup>n&#xd7;n</sup>; <bold>
<italic>x</italic>
</bold>&#x3f5;<bold>
<italic>R</italic>
</bold>
<sup>n</sup>; <bold>
<italic>y</italic>
</bold>&#x3f5;<bold>
<italic>R</italic>
</bold>
<sup>n</sup>
</td>
<td align="center">
<bold>
<italic>n</italic>
</bold>
<sup>2</sup>
</td>
</tr>
</tbody>
</table>
</table-wrap>
<p>For completeness, we discuss the compact representation of the L-BFGS Hessian updating formulation [<xref ref-type="bibr" rid="B31">31</xref>] and the algorithm to directly update the Hessian in the next section directly. In the third section, we present three different methods to solve the L-BFGS TRS: the DNR method, the direct method using inverse quadratic (DIQ) interpolation approach proposed by Gao et&#x20;al. [<xref ref-type="bibr" rid="B32">32</xref>], and the technique using matrix inversion lemma (MIL) together with an efficient matrix updating algorithm. Some numerical tests and performance comparisons are discussed in the fourth section. We finally draw some conclusions in the last section.</p>
</sec>
<sec id="s2">
<title>The Limited-Memory Hessian Updating Formulation</title>
<p>Let <bold>
<italic>x</italic>
</bold>
<sup>(<bold>
<italic>k</italic>
</bold>)</sup> be the best solution obtained in the current (<bold>
<italic>k</italic>
</bold>-th) iteration, and <bold>
<italic>f</italic>
</bold>
<sup>(<bold>
<italic>k</italic>
</bold>)</sup>, <bold>
<italic>g</italic>
</bold>
<sup>(<bold>
<italic>k</italic>
</bold>)</sup>, and <bold>
<italic>H</italic>
</bold>
<sup>(<bold>
<italic>k</italic>
</bold>)</sup>, respectively, the objective function, its gradient and Hessian evaluated at <bold>
<italic>x</italic>
</bold>
<sup>(<bold>
<italic>k</italic>
</bold>)</sup>. The Hessian <bold>
<italic>H</italic>
</bold>
<sup>(<bold>
<italic>k</italic>
</bold>&#x2b;1)</sup> is updated using the BFGS formulation as follows,<disp-formula id="e2">
<mml:math id="m28">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">H</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mi mathvariant="normal">&#x2b;1</mml:mi>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mi mathvariant="bold-italic">H</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
<mml:mo>&#x2b;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">z</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">z</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
</mml:mrow>
<mml:mo>]</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mi mathvariant="bold-italic">T</mml:mi>
</mml:msup>
</mml:mrow>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">z</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
</mml:mrow>
<mml:mo>]</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mi mathvariant="bold-italic">T</mml:mi>
</mml:msup>
<mml:msup>
<mml:mi mathvariant="bold-italic">s</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:mfrac>
<mml:mo>&#x2212;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">H</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
<mml:msup>
<mml:mi mathvariant="bold-italic">s</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">s</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
</mml:mrow>
<mml:mo>]</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mi mathvariant="bold-italic">T</mml:mi>
</mml:msup>
<mml:msup>
<mml:mi mathvariant="bold-italic">H</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
</mml:mrow>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">s</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
</mml:mrow>
<mml:mo>]</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mi mathvariant="bold-italic">T</mml:mi>
</mml:msup>
<mml:msup>
<mml:mi mathvariant="bold-italic">H</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
<mml:msup>
<mml:mi mathvariant="bold-italic">s</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
</mml:math>
<label>(2)</label>
</disp-formula>In <xref ref-type="disp-formula" rid="e2">Eq. 2</xref>, <inline-formula id="inf28">
<mml:math id="m29">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">s</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mi mathvariant="bold-italic">x</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
<mml:mo>&#x2212;</mml:mo>
<mml:msup>
<mml:mi mathvariant="bold-italic">x</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> and <inline-formula id="inf29">
<mml:math id="m30">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">z</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mi mathvariant="bold-italic">g</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
<mml:mo>&#x2212;</mml:mo>
<mml:msup>
<mml:mi mathvariant="bold-italic">g</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>. The Hessian <bold>
<italic>H</italic>
</bold>
<sup>(<bold>
<italic>k</italic>
</bold>&#x2b;1)</sup> updated using <xref ref-type="disp-formula" rid="e2">Eq. 2</xref> is guaranteed positive definite if the condition <inline-formula id="inf30">
<mml:math id="m31">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">&#x3b5;</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">z</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msup>
</mml:mrow>
<mml:mo>]</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mi mathvariant="bold-italic">T</mml:mi>
</mml:msup>
<mml:msup>
<mml:mi mathvariant="bold-italic">s</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo>&#x3e;</mml:mo>
<mml:msub>
<mml:mi mathvariant="bold-italic">c</mml:mi>
<mml:mn>3</mml:mn>
</mml:msub>
<mml:msup>
<mml:mi mathvariant="bold-italic">z</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msup>
<mml:msup>
<mml:mi mathvariant="bold-italic">s</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> is satisfied where <bold>
<italic>c</italic>
</bold>
<sub>3</sub>&#x3e;0 is a small positive number.</p>
<sec id="s2-1">
<title>Compact Representation</title>
<p>To save memory usage and computational cost, the L-BFGS Hessian updating method limits the maximum history size or the maximum number of pairs (<bold>
<italic>s</italic>
</bold>
<sup>(<bold>
<italic>k</italic>
</bold>)</sup>, <bold>
<italic>z</italic>
</bold>
<sup>(<bold>
<italic>k</italic>
</bold>)</sup>) used for the BFGS Hessian updating to <bold>
<italic>L</italic>
</bold>
<sub>
<bold>
<italic>M</italic>
</bold>
</sub> &#x3e; 1. The recommended value of <bold>
<italic>L</italic>
</bold>
<sub>
<bold>
<italic>M</italic>
</bold>
</sub> ranges from 5 to 20, using smaller number for problems with more variables.</p>
<p>Let 1 &#x2264; <bold>
<italic>l</italic>
</bold>
<sub>
<bold>
<italic>k</italic>
</bold>
</sub> &#x2264; <bold>
<italic>L</italic>
</bold>
<sub>
<bold>
<italic>M</italic>
</bold>
</sub> denote the number of pairs of variable shift vectors and gradient change vectors, (<bold>
<italic>s</italic>
</bold>
<sup>(<bold>
<italic>j</italic>
</bold>)</sup>, <bold>
<italic>z</italic>
</bold>
<sup>(<bold>
<italic>j</italic>
</bold>)</sup>) for <bold>
<italic>j</italic>
</bold> &#x3d; 1,2,...<bold>
<italic>l</italic>
</bold>
<sub>
<bold>
<italic>k</italic>
</bold>
</sub>, used to update the Hessian using the L-BFGS method in the <bold>
<italic>k</italic>
</bold>-th iteration. Let <inline-formula id="inf31">
<mml:math id="m32">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">S</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
<mml:mo>&#x3d;</mml:mo>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">s</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="normal">1</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
<mml:mo>,</mml:mo>
<mml:msup>
<mml:mi mathvariant="bold-italic">s</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="normal">2</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
<mml:mo>,</mml:mo>
<mml:mo>&#x2026;</mml:mo>
<mml:msup>
<mml:mi mathvariant="bold-italic">s</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold-italic">l</mml:mi>
<mml:mi mathvariant="bold-italic">k</mml:mi>
</mml:msub>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
</mml:mrow>
<mml:mo>]</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> be the <bold>
<italic>n</italic>
</bold> &#xd7; <bold>
<italic>l</italic>
</bold>
<sub>
<bold>
<italic>k</italic>
</bold>
</sub> variable shift matrix and <inline-formula id="inf32">
<mml:math id="m33">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">Z</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
<mml:mo>&#x3d;</mml:mo>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">z</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
<mml:mo>,</mml:mo>
<mml:msup>
<mml:mi mathvariant="bold-italic">z</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mn>2</mml:mn>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
<mml:mo>,</mml:mo>
<mml:mo>&#x2026;</mml:mo>
<mml:msup>
<mml:mi mathvariant="bold-italic">z</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold-italic">l</mml:mi>
<mml:mi mathvariant="bold-italic">k</mml:mi>
</mml:msub>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
</mml:mrow>
<mml:mo>]</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> the <bold>
<italic>n</italic>
</bold> &#xd7; <bold>
<italic>l</italic>
</bold>
<sub>
<bold>
<italic>k</italic>
</bold>
</sub> gradient change matrix. Both matrices <bold>
<italic>S</italic>
</bold>
<sup>(<bold>
<italic>k</italic>
</bold>)</sup> and <bold>
<italic>Z</italic>
</bold>
<sup>(<bold>
<italic>k</italic>
</bold>)</sup> are updated iteration by iteration. Let <bold>
<italic>m</italic>
</bold>&#x3d;2<bold>
<italic>l</italic>
</bold>
<sub>
<bold>
<italic>k</italic>
</bold>
</sub> and <inline-formula id="inf33">
<mml:math id="m34">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">V</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
<mml:mo>&#x3d;</mml:mo>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">S</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
<mml:mo>,</mml:mo>
<mml:msup>
<mml:mi mathvariant="bold-italic">Z</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
</mml:mrow>
<mml:mo>]</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> is an <bold>
<italic>n</italic>
</bold> &#xd7; <bold>
<italic>m</italic>
</bold> matrix. Let <inline-formula id="inf34">
<mml:math id="m35">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">A</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">S</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
</mml:mrow>
<mml:mo>]</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mi mathvariant="bold-italic">T</mml:mi>
</mml:msup>
<mml:msup>
<mml:mi mathvariant="bold-italic">S</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> and <inline-formula id="inf35">
<mml:math id="m36">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">B</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">S</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
</mml:mrow>
<mml:mo>]</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mi mathvariant="bold-italic">T</mml:mi>
</mml:msup>
<mml:msup>
<mml:mi mathvariant="bold-italic">Z</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>. We decompose <bold>
<italic>B</italic>
</bold>
<sup>(<bold>
<italic>k</italic>
</bold>)</sup> into three parts: the strictly lower triangular part <bold>
<italic>L</italic>
</bold>
<sup>(<bold>
<italic>k</italic>
</bold>)</sup>, the strictly upper triangular part <bold>
<italic>U</italic>
</bold>
<sup>(<bold>
<italic>k</italic>
</bold>)</sup>, and the diagonal part <bold>
<italic>E</italic>
</bold>
<sup>(<bold>
<italic>k</italic>
</bold>)</sup> that contains the main diagonals of <bold>
<italic>B</italic>
</bold>
<sup>(<bold>
<italic>k</italic>
</bold>)</sup>, i.e.,<disp-formula id="e3">
<mml:math id="m37">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">B</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mi mathvariant="bold-italic">L</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
<mml:mo>&#x2b;</mml:mo>
<mml:msup>
<mml:mi mathvariant="bold-italic">E</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
<mml:mo>&#x2b;</mml:mo>
<mml:msup>
<mml:mi mathvariant="bold-italic">U</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
<mml:mtext>&#xa0;</mml:mtext>
</mml:mrow>
</mml:math>
<label>(3)</label>
</disp-formula>The Hessian can be updated using the compact form of the L-BFGS Hessian updating formulation [<xref ref-type="bibr" rid="B31">31</xref>, <xref ref-type="bibr" rid="B33">33</xref>&#x2013;<xref ref-type="bibr" rid="B35">35</xref>] as follows,<disp-formula id="e4">
<mml:math id="m38">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">H</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mi mathvariant="bold-italic">&#x3b1;</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
<mml:msub>
<mml:mi mathvariant="bold-italic">I</mml:mi>
<mml:mi mathvariant="bold-italic">n</mml:mi>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msup>
<mml:mi mathvariant="bold-italic">V</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
<mml:msup>
<mml:mi mathvariant="bold-italic">W</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">V</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
</mml:mrow>
<mml:mo>]</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mi mathvariant="bold-italic">T</mml:mi>
</mml:msup>
<mml:mtext>&#xa0;</mml:mtext>
</mml:mrow>
</mml:math>
<label>(4)</label>
</disp-formula>In <xref ref-type="disp-formula" rid="e4">Eq. 4</xref>, <bold>
<italic>I</italic>
</bold>
<sub>
<bold>
<italic>n</italic>
</bold>
</sub> is an <bold>
<italic>n</italic>
</bold> &#xd7; <bold>
<italic>n</italic>
</bold> identity matrix and <bold>
<italic>W</italic>
</bold>
<sup>(<bold>
<italic>k</italic>
</bold>)</sup> is an <bold>
<italic>m</italic>
</bold>&#xd7;<bold>
<italic>m</italic>
</bold> symmetric matrix defined as,<disp-formula id="e5">
<mml:math id="m39">
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">W</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
</mml:mrow>
<mml:mo>]</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msup>
<mml:mo>&#x3d;</mml:mo>
<mml:mfrac>
<mml:mn>1</mml:mn>
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">&#x3b1;</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:mfrac>
<mml:mrow>
<mml:mo>{</mml:mo>
<mml:mrow>
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">A</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
<mml:mo>&#xa0;</mml:mo>
<mml:mo>&#xa0;</mml:mo>
<mml:mo>&#xa0;</mml:mo>
<mml:mo>&#xa0;</mml:mo>
<mml:mo>&#xa0;</mml:mo>
<mml:mo>&#xa0;</mml:mo>
<mml:mo>&#xa0;</mml:mo>
<mml:mo>&#xa0;</mml:mo>
<mml:mo>&#xa0;</mml:mo>
<mml:mo>&#xa0;</mml:mo>
<mml:mo>&#xa0;</mml:mo>
<mml:mo>&#xa0;</mml:mo>
<mml:mo>&#xa0;</mml:mo>
<mml:mo>&#xa0;</mml:mo>
<mml:mo>&#xa0;</mml:mo>
<mml:mo>&#xa0;</mml:mo>
<mml:mo>&#xa0;</mml:mo>
<mml:msup>
<mml:mi mathvariant="bold-italic">L</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">L</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
</mml:mrow>
<mml:mo>]</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mi mathvariant="bold-italic">T</mml:mi>
</mml:msup>
<mml:mo>&#xa0;</mml:mo>
<mml:mo>&#xa0;</mml:mo>
<mml:mo>&#xa0;</mml:mo>
<mml:mo>&#xa0;</mml:mo>
<mml:mo>&#xa0;</mml:mo>
<mml:mo>&#x2212;</mml:mo>
<mml:msup>
<mml:mi mathvariant="bold-italic">&#x3b1;</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
<mml:msup>
<mml:mi mathvariant="bold-italic">E</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
<mml:mo>}</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
<label>(5)</label>
</disp-formula>In <xref ref-type="disp-formula" rid="e4">Eq. 4</xref> and <xref ref-type="disp-formula" rid="e5">Eq. 5</xref>, <inline-formula id="inf36">
<mml:math id="m40">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">&#x3b1;</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
<mml:mo>&#x3d;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mo>&#x2016;</mml:mo>
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">z</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold-italic">l</mml:mi>
<mml:mi mathvariant="bold-italic">k</mml:mi>
</mml:msub>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
</mml:mrow>
<mml:mo>&#x2016;</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mn>2</mml:mn>
</mml:msup>
</mml:mrow>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">z</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold-italic">l</mml:mi>
<mml:mi mathvariant="bold-italic">k</mml:mi>
</mml:msub>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
</mml:mrow>
<mml:mo>]</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mi mathvariant="bold-italic">T</mml:mi>
</mml:msup>
<mml:msup>
<mml:mi mathvariant="bold-italic">s</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold-italic">l</mml:mi>
<mml:mi mathvariant="bold-italic">k</mml:mi>
</mml:msub>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
</mml:math>
</inline-formula> is a scaling factor. It is required that <bold>
<italic>a</italic>
</bold>
<sup>(<bold>
<italic>k</italic>
</bold>)</sup> &#x3e; <bold>
<italic>a</italic>
</bold>
<sub>cr</sub> &#x3e; 0 using <xref ref-type="disp-formula" rid="e4">Eq. 4</xref> and <xref ref-type="disp-formula" rid="e5">Eq. 5</xref> to update the Hessian, where <bold>
<italic>a</italic>
</bold>
<sub>cr</sub> is a small positive number.</p>
</sec>
<sec id="s2-2">
<title>The Algorithm to Directly Update the Hessian Using the L-BFGS Compact Representation</title>
<p>Given <bold>
<italic>L</italic>
</bold>
<sub>
<bold>
<italic>M</italic>
</bold>
</sub> &#x2265; 1, <bold>
<italic>k</italic>
</bold> &#x2265; 1, <bold>
<italic>l</italic>
</bold>
<sub>
<bold>
<italic>k&#x2212;</italic>
</bold>1</sub> &#x2265; 1, the thresholds <bold>
<italic>c</italic>
</bold>
<sub>3</sub> &#x3e; 0 and <bold>
<italic>a</italic>
</bold>
<sub>cr</sub> &#x3e; 0, search step <inline-formula id="inf37">
<mml:math id="m41">
<mml:mrow>
<mml:mi mathvariant="bold-italic">s</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mi mathvariant="bold-italic">x</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
<mml:mo>&#x2212;</mml:mo>
<mml:msup>
<mml:mi mathvariant="bold-italic">x</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> and gradient change <inline-formula id="inf38">
<mml:math id="m42">
<mml:mrow>
<mml:mi mathvariant="bold-italic">z</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mi mathvariant="bold-italic">g</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
<mml:mo>&#x2212;</mml:mo>
<mml:msup>
<mml:mi mathvariant="bold-italic">g</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>, the two <bold>
<italic>n</italic>
</bold> &#xd7; <bold>
<italic>l</italic>
</bold>
<sub>
<bold>
<italic>k&#x2212;</italic>
</bold>1</sub> matrices, <bold>
<italic>S</italic>
</bold>
<sup>(<bold>
<italic>k</italic>
</bold>&#x2212;1)</sup> and <bold>
<italic>Z</italic>
</bold>
<sup>(<bold>
<italic>k</italic>
</bold>&#x2212;1)</sup>, we can update <bold>
<italic>S</italic>
</bold>
<sup>(<bold>
<italic>k</italic>
</bold>)</sup>, <bold>
<italic>Z</italic>
</bold>
<sup>(<bold>
<italic>k</italic>
</bold>)</sup> and directly compute the Hessian <bold>
<italic>H</italic>
</bold>
<sup>(<bold>
<italic>k</italic>
</bold>&#x2b;1)</sup> using the compact representation of the L-BFGS Hessian updating <xref ref-type="disp-formula" rid="e4">Eq. 4</xref>, as summarized in Algorithm-1.<list list-type="simple">
<list-item>
<p>
<bold>Algorithm-1:</bold> Updating the Hessian directly using the L-BFGS compact representation</p>
</list-item>
<list-item>
<p>1. <italic>Compute</italic> &#x7c;&#x7c;<bold>
<italic>s</italic>
</bold>&#x7c;&#x7c;, &#x7c;&#x7c;<bold>
<italic>z</italic>
</bold>&#x7c;&#x7c;, <inline-formula id="inf39">
<mml:math id="m43">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">&#x3b5;</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mi mathvariant="bold-italic">z</mml:mi>
<mml:mi mathvariant="bold-italic">T</mml:mi>
</mml:msup>
<mml:mi mathvariant="bold-italic">s</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> <italic>and</italic> <inline-formula id="inf40">
<mml:math id="m44">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">&#x3b1;</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
<mml:mo>&#x3d;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mo>&#x2016;</mml:mo>
<mml:msup>
<mml:mi mathvariant="bold-italic">z</mml:mi>
<mml:mn>2</mml:mn>
</mml:msup>
<mml:mo>&#x2016;</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">&#x3b5;</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
</mml:math>
</inline-formula> if <inline-formula id="inf41">
<mml:math id="m45">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">&#x3b5;</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
<mml:mo>&#x3e;</mml:mo>
<mml:msub>
<mml:mi mathvariant="bold-italic">c</mml:mi>
<mml:mn>3</mml:mn>
</mml:msub>
<mml:mo>&#x2016;</mml:mo>
<mml:mi mathvariant="bold-italic">s</mml:mi>
<mml:mo>&#x2016;</mml:mo>
<mml:mi mathvariant="bold-italic">z</mml:mi>
<mml:mo>&#x2016;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula>
<italic>;</italic>
</p>
</list-item>
<list-item>
<p>2. <italic>If</italic> <inline-formula id="inf42">
<mml:math id="m46">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">&#x3b5;</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
<mml:mo>&#x2264;</mml:mo>
<mml:msub>
<mml:mi mathvariant="bold-italic">c</mml:mi>
<mml:mn>3</mml:mn>
</mml:msub>
<mml:mo>&#x2016;</mml:mo>
<mml:mi mathvariant="bold-italic">s</mml:mi>
<mml:mo>&#x2016;</mml:mo>
<mml:mi mathvariant="bold-italic">z</mml:mi>
<mml:mo>&#x2016;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> <italic>or</italic> <inline-formula id="inf43">
<mml:math id="m47">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">&#x3b1;</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
<mml:mo>&#x2264;</mml:mo>
<mml:msub>
<mml:mi mathvariant="bold-italic">&#x3b1;</mml:mi>
<mml:mrow>
<mml:mi mathvariant="bold-italic">cr</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>, <italic>set</italic> <inline-formula id="inf44">
<mml:math id="m48">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold-italic">l</mml:mi>
<mml:mi mathvariant="bold-italic">k</mml:mi>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mi mathvariant="bold-italic">l</mml:mi>
<mml:mrow>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>, <inline-formula id="inf45">
<mml:math id="m49">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">S</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mi mathvariant="bold-italic">S</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>, <inline-formula id="inf46">
<mml:math id="m50">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">Z</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mi mathvariant="bold-italic">Z</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>, <italic>and goto step&#x20;4;</italic>
</p>
</list-item>
<list-item>
<p>3. <italic>Otherwise</italic>,</p>
<list list-type="simple">
<list-item>
<p>a. <italic>Set</italic> <inline-formula id="inf47">
<mml:math id="m51">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold-italic">l</mml:mi>
<mml:mi mathvariant="bold-italic">k</mml:mi>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mi mathvariant="bold-italic">L</mml:mi>
<mml:mi mathvariant="bold-italic">M</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> <italic>and remove the first column from</italic> <bold>
<italic>S</italic>
</bold>
<sup>(<bold>
<italic>k</italic>
</bold>&#x2212;1)</sup> <italic>and</italic> <bold>
<italic>Z</italic>
</bold>
<sup>(<bold>
<italic>k</italic>
</bold>&#x2212;1)</sup>
<italic>if</italic> <inline-formula id="inf48">
<mml:math id="m52">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold-italic">l</mml:mi>
<mml:mrow>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mi mathvariant="bold-italic">L</mml:mi>
<mml:mi mathvariant="bold-italic">M</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>
<italic>;</italic> <italic>else set</italic> <inline-formula id="inf49">
<mml:math id="m53">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold-italic">l</mml:mi>
<mml:mi mathvariant="bold-italic">k</mml:mi>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mi mathvariant="bold-italic">l</mml:mi>
<mml:mrow>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula>
<italic>;</italic>
</p>
</list-item>
<list-item>
<p>b. <italic>Update</italic> <inline-formula id="inf50">
<mml:math id="m54">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">S</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo>&#x3d;</mml:mo>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">S</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mi mathvariant="bold-italic">&#xa0;&#xa0;s</mml:mi>
</mml:mrow>
<mml:mo>]</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> <italic>and</italic> <inline-formula id="inf51">
<mml:math id="m55">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">Z</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo>&#x3d;</mml:mo>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">Z</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mi mathvariant="bold-italic">&#xa0;&#xa0;z</mml:mi>
</mml:mrow>
<mml:mo>]</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula>;</p>
</list-item>
</list>
</list-item>
<list-item>
<p>4. <italic>Form</italic> <inline-formula id="inf52">
<mml:math id="m56">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">V</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo>&#x3d;</mml:mo>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">S</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mi mathvariant="bold-italic">&#xa0;&#xa0;&#xa0;&#xa0;</mml:mi>
<mml:msup>
<mml:mi mathvariant="bold-italic">Z</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msup>
</mml:mrow>
<mml:mo>]</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula>;</p>
</list-item>
<list-item>
<p>5. <italic>Compute</italic> <inline-formula id="inf53">
<mml:math id="m57">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">A</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">S</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msup>
</mml:mrow>
<mml:mo>]</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mi mathvariant="bold-italic">T</mml:mi>
</mml:msup>
<mml:msup>
<mml:mi mathvariant="bold-italic">S</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> <italic>and</italic> <inline-formula id="inf54">
<mml:math id="m58">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">B</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">S</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
</mml:mrow>
<mml:mo>]</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mi mathvariant="bold-italic">T</mml:mi>
</mml:msup>
<mml:msup>
<mml:mi mathvariant="bold-italic">Z</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>;</p>
</list-item>
<list-item>
<p>6. <italic>Form the matrix</italic> <inline-formula id="inf55">
<mml:math id="m59">
<mml:mrow>
<mml:msubsup>
<mml:mi mathvariant="bold-italic">W</mml:mi>
<mml:mi mathvariant="bold-italic">I</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">W</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msup>
</mml:mrow>
<mml:mo>]</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> <italic>using</italic> <italic>
<xref ref-type="disp-formula" rid="e5">Eq.&#x20;5</xref>
</italic>;</p>
</list-item>
<list-item>
<p>7. <italic>Compute</italic> <inline-formula id="inf56">
<mml:math id="m60">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">W</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:msubsup>
<mml:mi mathvariant="bold-italic">W</mml:mi>
<mml:mi mathvariant="bold-italic">I</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
<mml:mo>]</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>
<italic>using Cholesky factorization;</italic>
</p>
</list-item>
<list-item>
<p>8. <italic>Compute</italic> <inline-formula id="inf57">
<mml:math id="m61">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">U</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mi mathvariant="bold-italic">W</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msup>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">V</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msup>
</mml:mrow>
<mml:mo>]</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mi mathvariant="bold-italic">T</mml:mi>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>;</p>
</list-item>
<list-item>
<p>9. <italic>Compute</italic> <inline-formula id="inf58">
<mml:math id="m62">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">T</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mi mathvariant="bold-italic">V</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msup>
<mml:msup>
<mml:mi mathvariant="bold-italic">U</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>;</p>
</list-item>
<list-item>
<p>10. <italic>Update</italic> <inline-formula id="inf59">
<mml:math id="m63">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">H</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mi mathvariant="bold-italic">&#x3b1;</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msup>
<mml:msub>
<mml:mi mathvariant="bold-italic">I</mml:mi>
<mml:mi mathvariant="bold-italic">n</mml:mi>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msup>
<mml:mi mathvariant="bold-italic">T</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>.</p>
</list-item>
<list-item>
<p>11. <italic>Stop</italic>.</p>
</list-item>
</list>
</p>
<p>The computational cost to directly update the Hessian using the L-BFGS method as described in Algorithm-1 mainly depends on the number of variables (<bold>
<italic>n</italic>)</bold> and the number of vectors used to update the Hessian (<bold>
<italic>m</italic>
</bold> &#x3d; 2<bold>
<italic>l</italic>
</bold>
<sub>
<bold>
<italic>k</italic>
</bold>
</sub>). We should reemphasize that <bold>
<italic>m</italic>
</bold> is updated iteratively but limited to <bold>
<italic>m</italic>
</bold> &#x2264; 2<bold>
<italic>L</italic>
</bold>
<sub>
<bold>
<italic>k</italic>
</bold>
</sub>. The computational cost is <inline-formula id="inf60">
<mml:math id="m64">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold-italic">c</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>2</mml:mn>
<mml:mi mathvariant="bold-italic">m</mml:mi>
<mml:msup>
<mml:mi mathvariant="bold-italic">n</mml:mi>
<mml:mn>2</mml:mn>
</mml:msup>
<mml:mo>&#x2b;</mml:mo>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mn>7</mml:mn>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>3</mml:mn>
<mml:msup>
<mml:mi mathvariant="bold-italic">m</mml:mi>
<mml:mn>2</mml:mn>
</mml:msup>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mi mathvariant="bold-italic">n</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mi mathvariant="bold-italic">O</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">m</mml:mi>
<mml:mn>3</mml:mn>
</mml:msup>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> (flops), which includes the following seven operations: 1) computing &#x2016;<bold>
<italic>s</italic>
</bold>&#x2016;, &#x2016;<bold>
<italic>z</italic>
</bold>&#x2016;, and <inline-formula id="inf61">
<mml:math id="m65">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">&#x3b5;</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mi mathvariant="bold-italic">z</mml:mi>
<mml:mi mathvariant="bold-italic">T</mml:mi>
</mml:msup>
<mml:mi mathvariant="bold-italic">s</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> in step 1 (6<bold>
<italic>n</italic>
</bold> flops); 2) computing <bold>
<italic>A</italic>
</bold>
<sup>(<bold>
<italic>k</italic>
</bold>)</sup> and <bold>
<italic>B</italic>
</bold>
<sup>(<bold>
<italic>k</italic>
</bold>)</sup> in step 5 (<bold>
<italic>m</italic>
</bold>
<sup>2</sup>
<bold>
<italic>n</italic>
</bold> flops); 3) forming the matrix <inline-formula id="inf62">
<mml:math id="m66">
<mml:mrow>
<mml:msubsup>
<mml:mi mathvariant="bold-italic">W</mml:mi>
<mml:mi mathvariant="bold-italic">I</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula> in step 6 (<bold>
<italic>m</italic>
</bold>
<sup>2</sup> flops); 4) computing <bold>
<italic>W</italic>
</bold>
<sup>(<bold>
<italic>k</italic>
</bold>)</sup> in step 7 (O(<bold>
<italic>m</italic>
</bold>
<sup>3</sup>) flops); 5) compute <bold>
<italic>U</italic>
</bold>
<sup>(<bold>
<italic>k</italic>
</bold>)</sup> in step 8 (2<bold>
<italic>m</italic>
</bold>
<sup>2</sup>
<bold>
<italic>n</italic>
</bold> flops); 6) compute <bold>
<italic>T</italic>
</bold>
<sup>(<bold>
<italic>k</italic>
</bold>)</sup> in step 9 (<inline-formula id="inf63">
<mml:math id="m67">
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:mi mathvariant="bold-italic">m</mml:mi>
<mml:msup>
<mml:mi mathvariant="bold-italic">n</mml:mi>
<mml:mn>2</mml:mn>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> flops); and 7) updating <inline-formula id="inf64">
<mml:math id="m68">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">H</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> in step 10 (<bold>
<italic>n</italic>
</bold> flops).</p>
</sec>
</sec>
<sec id="s3">
<title>Solving the L-BFGS Trust Region Subproblem</title>
<sec id="s3-1">
<title>The Trust Region Subproblem</title>
<p>In the neighborhood of the best solution <bold>
<italic>x</italic>
</bold>
<sup>(<bold>
<italic>k</italic>
</bold>)</sup>, the objective function <bold>
<italic>f</italic>
</bold>(<bold>
<italic>x</italic>
</bold>) can be approximated by a quadratic function of <inline-formula id="inf65">
<mml:math id="m69">
<mml:mrow>
<mml:mi mathvariant="bold-italic">s</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mi mathvariant="bold-italic">x</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:msup>
<mml:mi mathvariant="bold-italic">x</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>,<disp-formula id="e6">
<mml:math id="m70">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">q</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">s</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mi mathvariant="bold-italic">f</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
<mml:mo>&#x2b;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">g</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
</mml:mrow>
<mml:mo>]</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mi mathvariant="bold-italic">T</mml:mi>
</mml:msup>
<mml:mi mathvariant="bold-italic">s</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mfrac>
<mml:mn>1</mml:mn>
<mml:mn>2</mml:mn>
</mml:mfrac>
<mml:msup>
<mml:mi mathvariant="bold-italic">s</mml:mi>
<mml:mi mathvariant="bold-italic">T</mml:mi>
</mml:msup>
<mml:msup>
<mml:mi mathvariant="bold-italic">H</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
<mml:mi mathvariant="bold-italic">s</mml:mi>
</mml:mrow>
</mml:math>
<label>(6)</label>
</disp-formula>If the Hessian <inline-formula id="inf66">
<mml:math id="m71">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">H</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> is positive definite, then <inline-formula id="inf67">
<mml:math id="m72">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">q</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">s</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> has a unique minimum <italic>s</italic>
<sup>
<bold>
<italic>&#x002A;</italic>
</bold>
</sup>
<sup>
<bold>
<italic>(k)</italic>
</bold>
</sup>, which is the solution of <inline-formula id="inf68">
<mml:math id="m73">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">H</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mi mathvariant="bold-italic">s</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mo>&#x2212;</mml:mo>
<mml:msup>
<mml:mi mathvariant="bold-italic">g</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>,<disp-formula id="e7">
<mml:math id="m74">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">s</mml:mi>
<mml:mrow>
<mml:mi mathvariant="bold-italic">&#x2a;</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
<mml:mo>&#x3d;</mml:mo>
<mml:mo>&#x2212;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">H</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
</mml:mrow>
<mml:mo>]</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msup>
<mml:msup>
<mml:mi mathvariant="bold-italic">g</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
<label>(7)</label>
</disp-formula>When a line search strategy is applied, we accept the full search step <inline-formula id="inf69">
<mml:math id="m75">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">s</mml:mi>
<mml:mrow>
<mml:mi mathvariant="bold-italic">&#x2a;</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> by setting <inline-formula id="inf70">
<mml:math id="m76">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">x</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mi mathvariant="bold-italic">x</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo>&#x2b;</mml:mo>
<mml:msup>
<mml:mi mathvariant="bold-italic">s</mml:mi>
<mml:mrow>
<mml:mi mathvariant="bold-italic">&#x2a;</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> if it improves the objective function sufficiently (e.g., satisfying the two Wolfe conditions). Otherwise, we can find a better search step size <inline-formula id="inf71">
<mml:math id="m77">
<mml:mrow>
<mml:mn>0</mml:mn>
<mml:mo>&#x3c;</mml:mo>
<mml:msup>
<mml:mi mathvariant="bold-italic">&#x3b3;</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo>&#x2264;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula> such that <inline-formula id="inf72">
<mml:math id="m78">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">x</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mi mathvariant="bold-italic">x</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo>&#x2b;</mml:mo>
<mml:msup>
<mml:mi mathvariant="bold-italic">&#x3b3;</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msup>
<mml:msup>
<mml:mi mathvariant="bold-italic">s</mml:mi>
<mml:mrow>
<mml:mi mathvariant="bold-italic">&#x2a;</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> improves the objective function sufficiently. If the gradient <inline-formula id="inf73">
<mml:math id="m79">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">g</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> can be accurately evaluated, it has theoretically proved that a line search strategy can converge [<xref ref-type="bibr" rid="B14">14</xref>]. However, for most real-world optimization problems, the gradient cannot be accurately evaluated, and as discussed by Gao et&#x20;al. [<xref ref-type="bibr" rid="B16">16</xref>], a trust region search strategy performs more robustly and more efficiently than a line search strategy.</p>
<p>The trust region search step <inline-formula id="inf74">
<mml:math id="m80">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">s</mml:mi>
<mml:mrow>
<mml:mi mathvariant="bold-italic">&#x2a;</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> for the next iteration is the global minimum of the quadratic model <inline-formula id="inf75">
<mml:math id="m81">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">q</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">s</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> within a ball-shaped trust region with radius <inline-formula id="inf76">
<mml:math id="m82">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="normal">&#x394;</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo>&#x2265;</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">&#x394;</mml:mi>
<mml:mrow>
<mml:mi mathvariant="bold-italic">min</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3e;</mml:mo>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula> which is solved from the following trust region subproblem (TRS) [<xref ref-type="bibr" rid="B28">28</xref>],<disp-formula id="e8">
<mml:math id="m83">
<mml:mrow>
<mml:munder>
<mml:mrow>
<mml:mi>min</mml:mi>
</mml:mrow>
<mml:mi mathvariant='bold-italic'>s</mml:mi>
</mml:munder>
<mml:msup>
<mml:mi mathvariant='bold-italic'>q</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant='bold-italic'>k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant='bold-italic'>s</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mo>&#x3D;</mml:mo>
<mml:msup>
<mml:mi mathvariant='bold-italic'>f</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant='bold-italic'>k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
<mml:mo>&#x2B;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:msup>
<mml:mi mathvariant='bold-italic'>g</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant='bold-italic'>k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
</mml:mrow>
<mml:mo>]</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mi mathvariant='bold-italic'>T</mml:mi>
</mml:msup>
<mml:mi mathvariant='bold-italic'>s</mml:mi>
<mml:mo>&#x2B;</mml:mo>
<mml:mfrac>
<mml:mn>1</mml:mn>
<mml:mn>2</mml:mn>
</mml:mfrac>
<mml:msup>
<mml:mi mathvariant='bold-italic'>s</mml:mi>
<mml:mi mathvariant='bold-italic'>T</mml:mi>
</mml:msup>
<mml:msup>
<mml:mi mathvariant='bold-italic'>H</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant='bold-italic'>k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
<mml:mi mathvariant='bold-italic'>s</mml:mi>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mtext>subject</mml:mtext>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mtext>to</mml:mtext>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mi mathvariant='bold-italic'>s</mml:mi>
<mml:msub>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mn>2</mml:mn>
</mml:msub>
<mml:mo>&#x2264;</mml:mo>
<mml:msup>
<mml:mi mathvariant='normal'>&#x0394;</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant='bold-italic'>k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
<label>(8)</label>
</disp-formula>If the solution <inline-formula id="inf77">
<mml:math id="m85">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">s</mml:mi>
<mml:mrow>
<mml:mi mathvariant="bold-italic">&#x2a;</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> given by <xref ref-type="disp-formula" rid="e7">Eq. 7</xref> satisfies <inline-formula id="inf78">
<mml:math id="m86">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mrow>
<mml:mo>&#x2016;</mml:mo>
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">s</mml:mi>
<mml:mrow>
<mml:mi mathvariant="bold-italic">&#x2a;</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
</mml:mrow>
<mml:mo>&#x2016;</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mn>2</mml:mn>
</mml:msub>
<mml:mo>&#x2264;</mml:mo>
<mml:msup>
<mml:mi mathvariant="normal">&#x394;</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>, then <inline-formula id="inf79">
<mml:math id="m87">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">s</mml:mi>
<mml:mrow>
<mml:mi mathvariant="bold-italic">&#x2a;</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> is the solution of the TRS defined in <xref ref-type="disp-formula" rid="e8">Eq. 8</xref>. Otherwise, the solution of the TRS must lie on the boundary of <inline-formula id="inf80">
<mml:math id="m88">
<mml:mrow>
<mml:mo>&#x2016;</mml:mo>
<mml:mi mathvariant='bold-italic'>s</mml:mi>
<mml:mo>&#x2016;</mml:mo>
<mml:msub>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mn>2</mml:mn>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mi mathvariant="normal">&#x394;</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>, and we should solve the Lagrange multiplier <inline-formula id="inf81">
<mml:math id="m89">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">&#x3bb;</mml:mi>
<mml:mrow>
<mml:mi mathvariant="bold-italic">&#x2a;</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> together with the search step <inline-formula id="inf82">
<mml:math id="m90">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">s</mml:mi>
<mml:mrow>
<mml:mi mathvariant="bold-italic">&#x2a;</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> from the following nonlinear TRS equations,<disp-formula id="e9">
<mml:math id="m91">
<mml:mrow>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">H</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
<mml:mo>&#x2b;</mml:mo>
<mml:mi mathvariant="bold-italic">&#x3bb;</mml:mi>
<mml:msub>
<mml:mi mathvariant="bold-italic">I</mml:mi>
<mml:mi mathvariant="bold-italic">n</mml:mi>
</mml:msub>
</mml:mrow>
<mml:mo>]</mml:mo>
</mml:mrow>
<mml:mi mathvariant="bold-italic">s</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">&#x3bb;</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:mo>&#x2212;</mml:mo>
<mml:msup>
<mml:mi mathvariant="bold-italic">g</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
<label>(9)</label>
</disp-formula>
<disp-formula id="e10">
<mml:math id="m92">
<mml:mrow>
<mml:mi mathvariant="bold-italic">&#x3c0;</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">&#x3bb;</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:mi mathvariant="bold-italic">s</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">&#x3bb;</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mo>]</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mi mathvariant="bold-italic">T</mml:mi>
</mml:msup>
<mml:mi mathvariant="bold-italic">s</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">&#x3bb;</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="normal">&#x394;</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
</mml:mrow>
<mml:mo>]</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mn>2</mml:mn>
</mml:msup>
</mml:mrow>
</mml:math>
<label>(10)</label>
</disp-formula>For the trivial case with <inline-formula id="inf83">
<mml:math id="m93">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">H</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo>&#x3d;</mml:mo>
<mml:mi mathvariant="bold-italic">&#x3b1;</mml:mi>
<mml:msub>
<mml:mi mathvariant="bold-italic">I</mml:mi>
<mml:mi mathvariant="bold-italic">n</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>, we have <inline-formula id="inf84">
<mml:math id="m94">
<mml:mrow>
<mml:mi mathvariant="bold-italic">s</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">&#x3bb;</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:mo>&#x2212;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">g</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msup>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="bold-italic">&#x3b1;</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mi mathvariant="bold-italic">&#x3bb;</mml:mi>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
</mml:math>
</inline-formula> and <inline-formula id="inf85">
<mml:math id="m95">
<mml:mrow>
<mml:mi mathvariant="bold-italic">&#x3c0;</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">&#x3bb;</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mo>&#x2016;</mml:mo>
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">g</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msup>
</mml:mrow>
<mml:mo>&#x2016;</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mn>2</mml:mn>
</mml:msup>
</mml:mrow>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi mathvariant="bold-italic">&#x3b1;</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mi mathvariant="bold-italic">&#x3bb;</mml:mi>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mn>2</mml:mn>
</mml:msup>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
</mml:math>
</inline-formula>. The solution of the TRS defined in <xref ref-type="disp-formula" rid="e8">Eq. 8</xref> is <inline-formula id="inf86">
<mml:math id="m96">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">&#x3bb;</mml:mi>
<mml:mtext>&#x2a;</mml:mtext>
</mml:msup>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula> and <inline-formula id="inf87">
<mml:math id="m97">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">s</mml:mi>
<mml:mrow>
<mml:mtext>&#x2a;</mml:mtext>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
<mml:mo>&#x3d;</mml:mo>
<mml:mo>&#x2212;</mml:mo>
<mml:msup>
<mml:mi mathvariant="bold-italic">g</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
<mml:mo>/</mml:mo>
<mml:mi mathvariant="bold-italic">&#x3b1;</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> if <inline-formula id="inf88">
<mml:math id="m98">
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mo>&#x2016;</mml:mo>
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">g</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msup>
</mml:mrow>
<mml:mo>&#x2016;</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mn>2</mml:mn>
</mml:msup>
<mml:mo>&#x2264;</mml:mo>
<mml:mi mathvariant="bold-italic">&#x3b1;</mml:mi>
<mml:msup>
<mml:mi mathvariant="normal">&#x394;</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> or <inline-formula id="inf89">
<mml:math id="m99">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">&#x3bb;</mml:mi>
<mml:mtext>&#x2a;</mml:mtext>
</mml:msup>
<mml:mo>&#x3d;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mo>&#x2016;</mml:mo>
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">g</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msup>
</mml:mrow>
<mml:mo>&#x2016;</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mn>2</mml:mn>
</mml:msup>
</mml:mrow>
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="normal">&#x394;</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:mfrac>
<mml:mo>&#x2212;</mml:mo>
<mml:mi mathvariant="bold-italic">&#x3b1;</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> and <inline-formula id="inf90">
<mml:math id="m100">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">s</mml:mi>
<mml:mrow>
<mml:mtext>&#x2a;</mml:mtext>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
<mml:mo>&#x3d;</mml:mo>
<mml:mo>&#x2212;</mml:mo>
<mml:msup>
<mml:mi mathvariant="bold-italic">g</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mfrac>
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="normal">&#x394;</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msup>
</mml:mrow>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mo>&#x2016;</mml:mo>
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">g</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msup>
</mml:mrow>
<mml:mo>&#x2016;</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mn>2</mml:mn>
</mml:msup>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
</mml:math>
</inline-formula> otherwise.</p>
<p>We may apply the popular DNR method to solve the TRS when <inline-formula id="inf91">
<mml:math id="m101">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">H</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> is a dense matrix. However, the DNR method is quite expensive for large-scale problems and we should seek and apply a more efficient method to solve the&#x20;TRS.</p>
</sec>
<sec id="s3-2">
<title>Solving the L-BFGS TRS Directly Using the Newton-Raphson Method</title>
<p>The DNR method solves the TRS defined in <xref ref-type="disp-formula" rid="e8">Eq. 8</xref> using the Cholesky decomposition. It applies the Newton-Raphson method to directly solve the nonlinear TRS equation [<xref ref-type="bibr" rid="B28">28</xref>], <inline-formula id="inf92">
<mml:math id="m102">
<mml:mrow>
<mml:mi>&#x3d5;</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">&#x3bb;</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:mfrac>
<mml:mn>1</mml:mn>
<mml:mrow>
<mml:mi mathvariant="bold-italic">s</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">&#x3bb;</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:mfrac>
<mml:mo>&#x2212;</mml:mo>
<mml:mfrac>
<mml:mn>1</mml:mn>
<mml:mi mathvariant="bold-italic">&#x394;</mml:mi>
</mml:mfrac>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula>, iteratively, which requires computing the first order derivative <inline-formula id="inf93">
<mml:math id="m103">
<mml:mrow>
<mml:msup>
<mml:mi>&#x3d5;</mml:mi>
<mml:mi mathvariant="bold-italic">&#x2032;</mml:mi>
</mml:msup>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">&#x3bb;</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:mo>&#x2212;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mi mathvariant="bold-italic">v</mml:mi>
<mml:msup>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">&#x3bb;</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mn>2</mml:mn>
</mml:msup>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="bold-italic">s</mml:mi>
<mml:msup>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">&#x3bb;</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mn>3</mml:mn>
</mml:msup>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
</mml:math>
</inline-formula> where <bold>
<italic>v</italic>
</bold> is solved from <inline-formula id="inf94">
<mml:math id="m104">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">L</mml:mi>
<mml:mi mathvariant="bold-italic">T</mml:mi>
</mml:msup>
<mml:mi mathvariant="bold-italic">v</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mi mathvariant="bold-italic">s</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> together with the Cholesky factorization of <inline-formula id="inf95">
<mml:math id="m105">
<mml:mrow>
<mml:mi mathvariant="bold-italic">D</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mi mathvariant="bold-italic">H</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo>&#x2b;</mml:mo>
<mml:mi mathvariant="bold-italic">&#x3bb;</mml:mi>
<mml:msub>
<mml:mi mathvariant="bold-italic">I</mml:mi>
<mml:mi mathvariant="bold-italic">n</mml:mi>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mi mathvariant="bold-italic">L</mml:mi>
<mml:msup>
<mml:mi mathvariant="bold-italic">L</mml:mi>
<mml:mi mathvariant="bold-italic">T</mml:mi>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> or LU-decomposition.</p>
<p>Given the trust region size <inline-formula id="inf96">
<mml:math id="m106">
<mml:mrow>
<mml:mi mathvariant="bold">&#x394;</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mi mathvariant="normal">&#x394;</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo>&#x3e;</mml:mo>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula>, threshold of convergence <inline-formula id="inf97">
<mml:math id="m107">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold-italic">&#x3b4;</mml:mi>
<mml:mrow>
<mml:mi mathvariant="bold-italic">cr</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3e;</mml:mo>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula>, maximum number of iterations allowed <inline-formula id="inf98">
<mml:math id="m108">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold-italic">N</mml:mi>
<mml:mrow>
<mml:mi mathvariant="bold-italic">TRS</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="bold-italic">max</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3e;</mml:mo>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula>, Hessian <inline-formula id="inf99">
<mml:math id="m109">
<mml:mrow>
<mml:mi mathvariant="bold-italic">H</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mi mathvariant="bold-italic">H</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> and gradient <inline-formula id="inf100">
<mml:math id="m110">
<mml:mrow>
<mml:mi mathvariant="bold-italic">g</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mi mathvariant="bold-italic">g</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> evaluated at the current best solution <inline-formula id="inf101">
<mml:math id="m111">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">x</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>, both the Lagrange multiplier <inline-formula id="inf102">
<mml:math id="m112">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">&#x3bb;</mml:mi>
<mml:mi mathvariant="bold-italic">&#x2a;</mml:mi>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>and the trust region search step <inline-formula id="inf103">
<mml:math id="m113">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">s</mml:mi>
<mml:mi mathvariant="bold-italic">&#x2a;</mml:mi>
</mml:msup>
<mml:mo>&#x3d;</mml:mo>
<mml:mi mathvariant="bold-italic">s</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:msup>
<mml:mi mathvariant="bold-italic">&#x3bb;</mml:mi>
<mml:mi mathvariant="bold-italic">&#x2a;</mml:mi>
</mml:msup>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> can be solved from the TRS defined in <xref ref-type="disp-formula" rid="e8">Eq. 8</xref>, using the DNR method as summarized in Algorithm-2.</p>
<p>
<bold>Algorithm-2:</bold> Solving the L-BFGS TRS Using the DNR Method<list list-type="simple">
<list-item>
<p>1. <italic>Initialize</italic> <inline-formula id="inf104">
<mml:math id="m114">
<mml:mrow>
<mml:mi mathvariant="bold-italic">l</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula>, <inline-formula id="inf105">
<mml:math id="m115">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold-italic">&#x3bb;</mml:mi>
<mml:mn>0</mml:mn>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula>;</p>
</list-item>
<list-item>
<p>2. <italic>Compute</italic> <inline-formula id="inf106">
<mml:math id="m116">
<mml:mrow>
<mml:mi mathvariant="bold-italic">D</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mi mathvariant="bold-italic">H</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mi mathvariant="bold-italic">&#x3bb;</mml:mi>
<mml:mn>0</mml:mn>
</mml:msub>
<mml:msub>
<mml:mi mathvariant="bold-italic">I</mml:mi>
<mml:mi mathvariant="bold-italic">n</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> <italic>and Cholesky decomposition</italic> <inline-formula id="inf107">
<mml:math id="m117">
<mml:mrow>
<mml:mi mathvariant="bold-italic">D</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mi mathvariant="bold-italic">L</mml:mi>
<mml:msup>
<mml:mi mathvariant="bold-italic">L</mml:mi>
<mml:mi mathvariant="bold-italic">T</mml:mi>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>;</p>
</list-item>
<list-item>
<p>3. <italic>Solve</italic> <inline-formula id="inf108">
<mml:math id="m118">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">u</mml:mi>
<mml:mi mathvariant="bold-italic">&#x2a;</mml:mi>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> <italic>from</italic> <inline-formula id="inf109">
<mml:math id="m119">
<mml:mrow>
<mml:mi mathvariant="bold-italic">Lu</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mo>&#x2212;</mml:mo>
<mml:mi mathvariant="bold-italic">g</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>
<italic>,</italic> <inline-formula id="inf110">
<mml:math id="m120">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">s</mml:mi>
<mml:mi mathvariant="bold-italic">&#x2a;</mml:mi>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> <italic>from</italic> <inline-formula id="inf111">
<mml:math id="m121">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">L</mml:mi>
<mml:mi mathvariant="bold-italic">T</mml:mi>
</mml:msup>
<mml:mi mathvariant="bold-italic">s</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mi mathvariant="bold-italic">u</mml:mi>
<mml:mi mathvariant="bold-italic">&#x2a;</mml:mi>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>
<italic>, and</italic> <inline-formula id="inf112">
<mml:math id="m122">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">v</mml:mi>
<mml:mi mathvariant="bold-italic">&#x2a;</mml:mi>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> <italic>from</italic> <inline-formula id="inf113">
<mml:math id="m123">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">L</mml:mi>
<mml:mi mathvariant="bold-italic">T</mml:mi>
</mml:msup>
<mml:mi mathvariant="bold-italic">v</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mi mathvariant="bold-italic">s</mml:mi>
<mml:mi mathvariant="bold-italic">&#x2a;</mml:mi>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>
<italic>;</italic>
</p>
</list-item>
<list-item>
<p>4. <italic>Compute</italic> <inline-formula id="inf114">
<mml:math id="m124">
<mml:mrow>
<mml:mo>&#x2016;</mml:mo>
<mml:msup>
<mml:mi mathvariant="bold-italic">s</mml:mi>
<mml:mi mathvariant="bold-italic">&#x2a;</mml:mi>
</mml:msup>
<mml:mo>&#x2016;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> <italic>and</italic> <inline-formula id="inf115">
<mml:math id="m125">
<mml:mrow>
<mml:mo>&#x2016;</mml:mo>
<mml:msup>
<mml:mi mathvariant="bold-italic">v</mml:mi>
<mml:mi mathvariant="bold-italic">&#x2a;</mml:mi>
</mml:msup>
<mml:mo>&#x2016;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula>
<italic>;</italic>
</p>
</list-item>
<list-item>
<p>5. <italic>If</italic> <inline-formula id="inf116">
<mml:math id="m126">
<mml:mrow>
<mml:mo>&#x2016;</mml:mo>
<mml:msup>
<mml:mi mathvariant="bold-italic">s</mml:mi>
<mml:mi mathvariant="bold-italic">&#x2a;</mml:mi>
</mml:msup>
<mml:mo>&#x2016;</mml:mo>
<mml:mo>&#x2264;</mml:mo>
<mml:mi mathvariant="bold-italic">&#x394;</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>
<italic>, then accept</italic> <inline-formula id="inf117">
<mml:math id="m127">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">&#x3bb;</mml:mi>
<mml:mi mathvariant="bold-italic">&#x2a;</mml:mi>
</mml:msup>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mi mathvariant="bold-italic">&#x3bb;</mml:mi>
<mml:mn>0</mml:mn>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> <italic>and go to step&#x20;8;</italic>
</p>
</list-item>
<list-item>
<p>6. <italic>Set </italic>
<inline-formula id="inf118">
<mml:math id="m128">
<mml:mrow>
<mml:mi mathvariant="bold-italic">&#x3b4;</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mrow>
<mml:mo>&#x7c;</mml:mo>
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>&#x2212;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mo>&#x2016;</mml:mo>
<mml:msup>
<mml:mi mathvariant="bold-italic">s</mml:mi>
<mml:mi mathvariant="bold-italic">&#x2a;</mml:mi>
</mml:msup>
<mml:mo>&#x2016;</mml:mo>
</mml:mrow>
<mml:mi mathvariant="bold-italic">&#x394;</mml:mi>
</mml:mfrac>
</mml:mrow>
<mml:mo>&#x7c;</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula>;</p>
</list-item>
<list-item>
<p>7. <italic>Repeat steps (a) through (f) below, until convergence (</italic>
<inline-formula id="inf119">
<mml:math id="m129">
<mml:mrow>
<mml:mi mathvariant="bold-italic">&#x3b4;</mml:mi>
<mml:mo>&#x2264;</mml:mo>
<mml:msub>
<mml:mi mathvariant="bold-italic">&#x3b4;</mml:mi>
<mml:mrow>
<mml:mi mathvariant="bold-italic">cr</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> <italic>or</italic> <inline-formula id="inf120">
<mml:math id="m130">
<mml:mrow>
<mml:mi mathvariant="bold-italic">l</mml:mi>
<mml:mo>&#x3e;</mml:mo>
<mml:msub>
<mml:mi mathvariant="bold-italic">N</mml:mi>
<mml:mrow>
<mml:mi mathvariant="bold-italic">TRS</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="bold-italic">max</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>
<italic>):</italic>
</p>
<list list-type="simple">
<list-item>
<p>a. <italic>Update</italic> <inline-formula id="inf121">
<mml:math id="m131">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold-italic">&#x3bb;</mml:mi>
<mml:mrow>
<mml:mi mathvariant="bold-italic">l</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mi mathvariant="bold-italic">&#x3bb;</mml:mi>
<mml:mi mathvariant="bold-italic">l</mml:mi>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:mo>&#x2016;</mml:mo>
<mml:msup>
<mml:mi mathvariant="bold-italic">s</mml:mi>
<mml:mi mathvariant="bold-italic">&#x2a;</mml:mi>
</mml:msup>
<mml:mo>&#x2016;</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2016;</mml:mo>
<mml:msup>
<mml:mi mathvariant="bold-italic">v</mml:mi>
<mml:mi mathvariant="bold-italic">&#x2a;</mml:mi>
</mml:msup>
<mml:mo>&#x2016;</mml:mo>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mn>2</mml:mn>
</mml:msup>
<mml:mfrac>
<mml:mrow>
<mml:mo>&#x2016;</mml:mo>
<mml:msup>
<mml:mi mathvariant="bold-italic">s</mml:mi>
<mml:mi mathvariant="bold-italic">&#x2a;</mml:mi>
</mml:msup>
<mml:mo>&#x2016;</mml:mo>
<mml:mo>&#x2212;</mml:mo>
<mml:mi mathvariant="bold-italic">&#x394;</mml:mi>
</mml:mrow>
<mml:mi mathvariant="bold-italic">&#x394;</mml:mi>
</mml:mfrac>
</mml:mrow>
</mml:math>
</inline-formula>
<italic>;</italic>
</p>
</list-item>
<list-item>
<p>b. <italic>Compute</italic> <inline-formula id="inf122">
<mml:math id="m132">
<mml:mrow>
<mml:mi mathvariant="bold-italic">D</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mi mathvariant="bold-italic">H</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mi mathvariant="bold-italic">&#x3bb;</mml:mi>
<mml:mrow>
<mml:mi mathvariant="bold-italic">l</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mi mathvariant="bold-italic">I</mml:mi>
<mml:mi mathvariant="bold-italic">n</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> <italic>and Cholesky decomposition</italic> <inline-formula id="inf123">
<mml:math id="m133">
<mml:mrow>
<mml:mi mathvariant="bold-italic">D</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mi mathvariant="bold-italic">L</mml:mi>
<mml:msup>
<mml:mi mathvariant="bold-italic">L</mml:mi>
<mml:mi mathvariant="bold-italic">T</mml:mi>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>;</p>
</list-item>
<list-item>
<p>c. <italic>Solve</italic> <inline-formula id="inf124">
<mml:math id="m134">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">u</mml:mi>
<mml:mi mathvariant="bold-italic">&#x2a;</mml:mi>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> <italic>from</italic> <inline-formula id="inf125">
<mml:math id="m135">
<mml:mrow>
<mml:mi mathvariant="bold-italic">Lu</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mo>&#x2212;</mml:mo>
<mml:mi mathvariant="bold-italic">g</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>, <inline-formula id="inf126">
<mml:math id="m136">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">s</mml:mi>
<mml:mi mathvariant="bold-italic">&#x2a;</mml:mi>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> <italic>from</italic> <inline-formula id="inf127">
<mml:math id="m137">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">L</mml:mi>
<mml:mi mathvariant="bold-italic">T</mml:mi>
</mml:msup>
<mml:mi mathvariant="bold-italic">s</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mi mathvariant="bold-italic">u</mml:mi>
<mml:mi mathvariant="bold-italic">&#x2a;</mml:mi>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>, <italic>and</italic> <inline-formula id="inf128">
<mml:math id="m138">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">v</mml:mi>
<mml:mi mathvariant="bold-italic">&#x2a;</mml:mi>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> <italic>from</italic> <inline-formula id="inf129">
<mml:math id="m139">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">L</mml:mi>
<mml:mi mathvariant="bold-italic">T</mml:mi>
</mml:msup>
<mml:mi mathvariant="bold-italic">v</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mi mathvariant="bold-italic">s</mml:mi>
<mml:mi mathvariant="bold-italic">&#x2a;</mml:mi>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>;</p>
</list-item>
<list-item>
<p>d. <italic>Compute</italic> <inline-formula id="inf130">
<mml:math id="m140">
<mml:mrow>
<mml:mo>&#x2016;</mml:mo>
<mml:msup>
<mml:mi mathvariant="bold-italic">s</mml:mi>
<mml:mi mathvariant="bold-italic">&#x2a;</mml:mi>
</mml:msup>
<mml:mo>&#x2016;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> <italic>and</italic> <inline-formula id="inf131">
<mml:math id="m141">
<mml:mrow>
<mml:mo>&#x2016;</mml:mo>
<mml:msup>
<mml:mi mathvariant="bold-italic">v</mml:mi>
<mml:mi mathvariant="bold-italic">&#x2a;</mml:mi>
</mml:msup>
<mml:mo>&#x2016;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula>;</p>
</list-item>
<list-item>
<p>e. <italic>Update</italic> <inline-formula id="inf132">
<mml:math id="m142">
<mml:mrow>
<mml:mi mathvariant="bold-italic">&#x3b4;</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mrow>
<mml:mo>&#x7c;</mml:mo>
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>&#x2212;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mo>&#x2016;</mml:mo>
<mml:msup>
<mml:mi mathvariant="bold-italic">s</mml:mi>
<mml:mi mathvariant="bold-italic">&#x2a;</mml:mi>
</mml:msup>
<mml:mo>&#x2016;</mml:mo>
</mml:mrow>
<mml:mi mathvariant="bold-italic">&#x394;</mml:mi>
</mml:mfrac>
</mml:mrow>
<mml:mo>&#x7c;</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula>&#x20;<italic>;</italic>
</p>
</list-item>
<list-item>
<p>f. <italic>Set</italic> <inline-formula id="inf133">
<mml:math id="m143">
<mml:mrow>
<mml:mi mathvariant="bold-italic">l</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mi mathvariant="bold-italic">l</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula>.</p>
</list-item>
</list>
</list-item>
<list-item>
<p>8. <italic>Stop</italic>.</p>
</list-item>
</list>
</p>
<p>Let <inline-formula id="inf134">
<mml:math id="m144">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold-italic">N</mml:mi>
<mml:mrow>
<mml:mi mathvariant="bold-italic">DNR</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> denote the number of iterations required for the DNR TRS solver to converge. The total computational cost (flops) to solve the TRS using Algorithm-2 is, <inline-formula id="inf135">
<mml:math id="m145">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold-italic">c</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mn>5</mml:mn>
<mml:mi mathvariant="bold-italic">n</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>3</mml:mn>
<mml:msup>
<mml:mi mathvariant="bold-italic">n</mml:mi>
<mml:mn>2</mml:mn>
</mml:msup>
<mml:mo>&#x2b;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">n</mml:mi>
<mml:mn>3</mml:mn>
</mml:msup>
</mml:mrow>
<mml:mn>3</mml:mn>
</mml:mfrac>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold-italic">N</mml:mi>
<mml:mrow>
<mml:mi mathvariant="bold-italic">DNR</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula>, including the following three operations: (1) computing <inline-formula id="inf136">
<mml:math id="m146">
<mml:mrow>
<mml:mi mathvariant="bold-italic">D</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mi mathvariant="bold-italic">H</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mi mathvariant="bold-italic">&#x3bb;</mml:mi>
<mml:mrow>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mi mathvariant="bold-italic">I</mml:mi>
<mml:mi mathvariant="bold-italic">n</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> and Cholesky decomposition <inline-formula id="inf137">
<mml:math id="m147">
<mml:mrow>
<mml:mi mathvariant="bold-italic">D</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mi mathvariant="bold-italic">L</mml:mi>
<mml:msup>
<mml:mi mathvariant="bold-italic">L</mml:mi>
<mml:mi mathvariant="bold-italic">T</mml:mi>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> in step 2 and step 7(b) (<inline-formula id="inf138">
<mml:math id="m148">
<mml:mrow>
<mml:mi mathvariant="bold-italic">n</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">n</mml:mi>
<mml:mn>3</mml:mn>
</mml:msup>
</mml:mrow>
<mml:mn>3</mml:mn>
</mml:mfrac>
</mml:mrow>
</mml:math>
</inline-formula>flops); (2) solving <inline-formula id="inf139">
<mml:math id="m149">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">u</mml:mi>
<mml:mtext>&#x2a;</mml:mtext>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> from <inline-formula id="inf140">
<mml:math id="m150">
<mml:mrow>
<mml:mi mathvariant="bold-italic">Lu</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mo>&#x2212;</mml:mo>
<mml:mi mathvariant="bold-italic">g</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>, <inline-formula id="inf141">
<mml:math id="m151">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">s</mml:mi>
<mml:mtext>&#x2a;</mml:mtext>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> from <inline-formula id="inf142">
<mml:math id="m152">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">L</mml:mi>
<mml:mi mathvariant="bold-italic">T</mml:mi>
</mml:msup>
<mml:mi mathvariant="bold-italic">s</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mi mathvariant="bold-italic">u</mml:mi>
<mml:mtext>&#x2a;</mml:mtext>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>, and <inline-formula id="inf143">
<mml:math id="m153">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">v</mml:mi>
<mml:mtext>&#x2a;</mml:mtext>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> from <inline-formula id="inf144">
<mml:math id="m154">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">L</mml:mi>
<mml:mi mathvariant="bold-italic">T</mml:mi>
</mml:msup>
<mml:mi mathvariant="bold-italic">v</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mi mathvariant="bold-italic">s</mml:mi>
<mml:mtext>&#x2a;</mml:mtext>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> in step 3 and step 7(c) (<inline-formula id="inf145">
<mml:math id="m155">
<mml:mrow>
<mml:mn>3</mml:mn>
<mml:msup>
<mml:mi mathvariant="bold-italic">n</mml:mi>
<mml:mn>2</mml:mn>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> flops); (3) computing <inline-formula id="inf146">
<mml:math id="m156">
<mml:mrow>
<mml:mo>&#x2016;</mml:mo>
<mml:msup>
<mml:mi mathvariant="bold-italic">s</mml:mi>
<mml:mtext>&#x2a;</mml:mtext>
</mml:msup>
<mml:mo>&#x2016;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> and <inline-formula id="inf147">
<mml:math id="m157">
<mml:mrow>
<mml:mo>&#x2016;</mml:mo>
<mml:msup>
<mml:mi mathvariant="bold-italic">v</mml:mi>
<mml:mtext>&#x2a;</mml:mtext>
</mml:msup>
<mml:mo>&#x2016;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> in step 4 and step 7(d) (<inline-formula id="inf148">
<mml:math id="m158">
<mml:mrow>
<mml:mn>4</mml:mn>
<mml:mi mathvariant="bold-italic">n</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> flops).</p>
<p>The total computational cost (flops) used to solve the L-BFGS TRS using the DNR method (Algorithm-2) together with the L-BFGS Hessian updating method (Algorithm-1) is,<disp-formula id="e11">
<mml:math id="m159">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold-italic">c</mml:mi>
<mml:mrow>
<mml:mi mathvariant="bold-italic">DNR</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mi mathvariant="bold-italic">c</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mi mathvariant="bold-italic">c</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>2</mml:mn>
<mml:mi mathvariant="bold-italic">m</mml:mi>
<mml:msup>
<mml:mi mathvariant="bold-italic">n</mml:mi>
<mml:mn>2</mml:mn>
</mml:msup>
<mml:mo>&#x2b;</mml:mo>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mn>7</mml:mn>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>3</mml:mn>
<mml:msup>
<mml:mi mathvariant="bold-italic">m</mml:mi>
<mml:mn>2</mml:mn>
</mml:msup>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mi mathvariant="bold-italic">n</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mn>5</mml:mn>
<mml:mi mathvariant="bold-italic">n</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>3</mml:mn>
<mml:msup>
<mml:mi mathvariant="bold-italic">n</mml:mi>
<mml:mn>2</mml:mn>
</mml:msup>
<mml:mo>&#x2b;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">n</mml:mi>
<mml:mn>3</mml:mn>
</mml:msup>
</mml:mrow>
<mml:mn>3</mml:mn>
</mml:mfrac>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold-italic">N</mml:mi>
<mml:mrow>
<mml:mi mathvariant="bold-italic">DNR</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mo>&#x2b;</mml:mo>
<mml:mi mathvariant="bold">O</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">m</mml:mi>
<mml:mn>3</mml:mn>
</mml:msup>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
<label>(11)</label>
</disp-formula>Our numerical results indicate that the DNR TRS solver may fail when tested on the well-known Rosenbrock function, especially for problems with large <inline-formula id="inf149">
<mml:math id="m160">
<mml:mi mathvariant="bold-italic">n</mml:mi>
</mml:math>
</inline-formula>. The root cause for failure of convergence using the DNR method is the same as in the GNTRS solver using the traditional Newton-Raphson method as discussed by Gao et&#x20;al. [<xref ref-type="bibr" rid="B36">36</xref>]. Very small value of <inline-formula id="inf150">
<mml:math id="m161">
<mml:mrow>
<mml:mrow>
<mml:mo>&#x7c;</mml:mo>
<mml:mrow>
<mml:msup>
<mml:mi>&#x3d5;</mml:mi>
<mml:mi mathvariant="bold-italic">&#x2032;</mml:mi>
</mml:msup>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">&#x3bb;</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mo>&#x7c;</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> may result in a very large search step and thus result in failure of converging. Gao et&#x20;al. [<xref ref-type="bibr" rid="B36">36</xref>] proposed integrating the DNR method with a bisection line search to overcome this&#x20;issue.</p>
</sec>
<sec id="s3-4">
<title>The Inverse Quadratic Model Interpolation Method to Directly Solve the L-BFGS TRS</title>
<p>Instead of applying the Newton-Raphson method which requires evaluating <inline-formula id="inf151">
<mml:math id="m162">
<mml:mrow>
<mml:msup>
<mml:mi>&#x3d5;</mml:mi>
<mml:mi mathvariant="bold-italic">&#x2032;</mml:mi>
</mml:msup>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">&#x3bb;</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula>, Gao et&#x20;al. [<xref ref-type="bibr" rid="B32">32</xref>] proposed a method to directly solve the TRS using inverse quadratic model interpolation (called the DIQ method), i.e.,&#x20;approximating <inline-formula id="inf152">
<mml:math id="m163">
<mml:mrow>
<mml:mi mathvariant="bold-italic">&#x3c0;</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">&#x3bb;</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:mi mathvariant="bold-italic">s</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">&#x3bb;</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mo>]</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mi mathvariant="bold-italic">T</mml:mi>
</mml:msup>
<mml:mi mathvariant="bold-italic">s</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">&#x3bb;</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> by the following inverse quadratic function,<disp-formula id="e12">
<mml:math id="m164">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold-italic">q</mml:mi>
<mml:mrow>
<mml:mi mathvariant="bold-italic">INV</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">&#x3bb;</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:mfrac>
<mml:mi mathvariant="bold-italic">b</mml:mi>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi mathvariant="bold-italic">&#x3bb;</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mi mathvariant="bold-italic">a</mml:mi>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mn>2</mml:mn>
</mml:msup>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
</mml:math>
<label>(12)</label>
</disp-formula>Both coefficients of <inline-formula id="inf153">
<mml:math id="m165">
<mml:mi mathvariant="bold-italic">a</mml:mi>
</mml:math>
</inline-formula> and <inline-formula id="inf154">
<mml:math id="m166">
<mml:mi mathvariant="bold-italic">b</mml:mi>
</mml:math>
</inline-formula> in <xref ref-type="disp-formula" rid="e12">Eq. 12</xref> can be determined by interpolating the values of <inline-formula id="inf155">
<mml:math id="m167">
<mml:mrow>
<mml:mi mathvariant="bold-italic">&#x3c0;</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">&#x3bb;</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> evaluated at two different points <inline-formula id="inf156">
<mml:math id="m168">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold-italic">&#x3c0;</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mi mathvariant="bold-italic">&#x3c0;</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:msub>
<mml:mi mathvariant="bold-italic">&#x3bb;</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> and <inline-formula id="inf157">
<mml:math id="m169">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold-italic">&#x3c0;</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mi mathvariant="bold-italic">&#x3c0;</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:msub>
<mml:mi mathvariant="bold-italic">&#x3bb;</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> with <inline-formula id="inf158">
<mml:math id="m170">
<mml:mrow>
<mml:mn>0</mml:mn>
<mml:mo>&#x2264;</mml:mo>
<mml:msub>
<mml:mi mathvariant="bold-italic">&#x3bb;</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
<mml:mo>&#x3c;</mml:mo>
<mml:msub>
<mml:mi mathvariant="bold-italic">&#x3bb;</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>.</p>
<p>In the first iteration, we set <inline-formula id="inf159">
<mml:math id="m171">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold-italic">&#x3bb;</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mi mathvariant="bold-italic">&#x3bb;</mml:mi>
<mml:mrow>
<mml:mi mathvariant="bold-italic">min</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula> and accept <inline-formula id="inf160">
<mml:math id="m172">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold-italic">&#x3bb;</mml:mi>
<mml:mrow>
<mml:mi mathvariant="bold-italic">min</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula> as the solution if <inline-formula id="inf161">
<mml:math id="m173">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold-italic">&#x3c0;</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
<mml:mo>&#x2264;</mml:mo>
<mml:msup>
<mml:mi mathvariant="bold">&#x394;</mml:mi>
<mml:mn>2</mml:mn>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>. Otherwise, <inline-formula id="inf162">
<mml:math id="m174">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold-italic">&#x3c0;</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
<mml:mo>&#x3e;</mml:mo>
<mml:msup>
<mml:mi mathvariant="bold">&#x394;</mml:mi>
<mml:mn>2</mml:mn>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> holds and we set <inline-formula id="inf163">
<mml:math id="m175">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold-italic">&#x3bb;</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mi mathvariant="bold-italic">&#x3bb;</mml:mi>
<mml:mrow>
<mml:mi mathvariant="bold-italic">max</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mi mathvariant="bold-italic">max</mml:mi>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:mn>0</mml:mn>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="bold-italic">&#xa0;</mml:mi>
<mml:mfrac>
<mml:mrow>
<mml:mo>&#x2016;</mml:mo>
<mml:msup>
<mml:mi mathvariant="bold-italic">g</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo>&#x2016;</mml:mo>
</mml:mrow>
<mml:mi mathvariant="bold">&#x394;</mml:mi>
</mml:mfrac>
<mml:mo>&#x2212;</mml:mo>
<mml:mi mathvariant="bold-italic">&#x3b1;</mml:mi>
</mml:mrow>
<mml:mo>]</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> and <inline-formula id="inf164">
<mml:math id="m176">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold-italic">&#x3c0;</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
<mml:mo>&#x3c;</mml:mo>
<mml:msup>
<mml:mi mathvariant="bold">&#x394;</mml:mi>
<mml:mn>2</mml:mn>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> holds if it is not accepted as the solution. In the following iteration, either <inline-formula id="inf165">
<mml:math id="m177">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold-italic">&#x3bb;</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> or <inline-formula id="inf166">
<mml:math id="m178">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold-italic">&#x3bb;</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> will be updated accordingly such that the two conditions <inline-formula id="inf167">
<mml:math id="m179">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold-italic">&#x3c0;</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
<mml:mo>&#x3e;</mml:mo>
<mml:msup>
<mml:mi mathvariant="bold">&#x394;</mml:mi>
<mml:mn>2</mml:mn>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> and <inline-formula id="inf168">
<mml:math id="m180">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold-italic">&#x3c0;</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
<mml:mo>&#x3c;</mml:mo>
<mml:msup>
<mml:mi mathvariant="bold">&#x394;</mml:mi>
<mml:mn>2</mml:mn>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> always&#x20;hold.</p>
<p>Let <inline-formula id="inf169">
<mml:math id="m181">
<mml:mrow>
<mml:mi mathvariant="bold-italic">&#x3c1;</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msqrt>
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold-italic">&#x3c0;</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
</mml:mrow>
</mml:msqrt>
</mml:mrow>
<mml:mrow>
<mml:msqrt>
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold-italic">&#x3c0;</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
</mml:mrow>
</mml:msqrt>
<mml:mo>&#x2212;</mml:mo>
<mml:msqrt>
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold-italic">&#x3c0;</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
</mml:mrow>
</mml:msqrt>
</mml:mrow>
</mml:mfrac>
<mml:mo>&#x2265;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula> and the following solution of <inline-formula id="inf170">
<mml:math id="m182">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold-italic">q</mml:mi>
<mml:mrow>
<mml:mi mathvariant="bold-italic">INV</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">&#x3bb;</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mi mathvariant="bold">&#x394;</mml:mi>
<mml:mn>2</mml:mn>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> will be used as the trial search point for the next iteration,<disp-formula id="e13">
<mml:math id="m183">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">&#x3bb;</mml:mi>
<mml:mi mathvariant="bold-italic">&#x2a;</mml:mi>
</mml:msup>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mi mathvariant="bold-italic">&#x3bb;</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:mi mathvariant="bold-italic">&#x3c1;</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>&#x2212;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msqrt>
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold-italic">&#x3c0;</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
</mml:mrow>
</mml:msqrt>
</mml:mrow>
<mml:mi mathvariant="bold">&#x394;</mml:mi>
</mml:mfrac>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold-italic">&#x3bb;</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi mathvariant="bold-italic">&#x3bb;</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
<label>(13)</label>
</disp-formula>We either update <inline-formula id="inf171">
<mml:math id="m184">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold-italic">&#x3bb;</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mi mathvariant="bold-italic">&#x3bb;</mml:mi>
<mml:mi mathvariant="bold-italic">&#x2a;</mml:mi>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> if <inline-formula id="inf172">
<mml:math id="m185">
<mml:mrow>
<mml:mi mathvariant="bold-italic">&#x3c0;</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">&#x3bb;</mml:mi>
<mml:mi mathvariant="bold-italic">&#x2a;</mml:mi>
</mml:msup>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mo>&#x3e;</mml:mo>
<mml:msup>
<mml:mi mathvariant="bold">&#x394;</mml:mi>
<mml:mn>2</mml:mn>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> or update <inline-formula id="inf173">
<mml:math id="m186">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold-italic">&#x3bb;</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mi mathvariant="bold-italic">&#x3bb;</mml:mi>
<mml:mi mathvariant="bold-italic">&#x2a;</mml:mi>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> if <inline-formula id="inf174">
<mml:math id="m187">
<mml:mrow>
<mml:mi mathvariant="bold-italic">&#x3c0;</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">&#x3bb;</mml:mi>
<mml:mi mathvariant="bold-italic">&#x2a;</mml:mi>
</mml:msup>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mo>&#x3c;</mml:mo>
<mml:msup>
<mml:mi mathvariant="bold">&#x394;</mml:mi>
<mml:mn>2</mml:mn>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> iteratively until convergence. We accept <inline-formula id="inf175">
<mml:math id="m188">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">&#x3bb;</mml:mi>
<mml:mi mathvariant="bold-italic">&#x2a;</mml:mi>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> as the desired solution and terminate the iterative process either when <inline-formula id="inf176">
<mml:math id="m189">
<mml:mrow>
<mml:mrow>
<mml:mo>&#x7c;</mml:mo>
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:msqrt>
<mml:mrow>
<mml:mi mathvariant="bold-italic">&#x3c0;</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">&#x3bb;</mml:mi>
<mml:mi mathvariant="bold-italic">&#x2a;</mml:mi>
</mml:msup>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msqrt>
</mml:mrow>
<mml:mi mathvariant="bold">&#x394;</mml:mi>
</mml:mfrac>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mo>&#x7c;</mml:mo>
</mml:mrow>
<mml:mo>&#x3c;</mml:mo>
<mml:msub>
<mml:mi mathvariant="bold-italic">&#x3b4;</mml:mi>
<mml:mrow>
<mml:mi mathvariant="bold-italic">cr</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>, the tolerance for convergence, or when the number of iterations used to solve the TRS (<inline-formula id="inf177">
<mml:math id="m190">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold-italic">N</mml:mi>
<mml:mrow>
<mml:mi mathvariant="bold-italic">DIQ</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>) reaches the user specified maximum iteration number (<inline-formula id="inf178">
<mml:math id="m191">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold-italic">N</mml:mi>
<mml:mrow>
<mml:mi mathvariant="bold-italic">TRS</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="bold-italic">max</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>), i.e<bold>.,</bold> <inline-formula id="inf179">
<mml:math id="m192">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold-italic">N</mml:mi>
<mml:mrow>
<mml:mi mathvariant="bold-italic">DIQ</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2265;</mml:mo>
<mml:msub>
<mml:mi mathvariant="bold-italic">N</mml:mi>
<mml:mrow>
<mml:mi mathvariant="bold-italic">TRS</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="bold-italic">max</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>.</p>
<p>Given the scaling factor <inline-formula id="inf180">
<mml:math id="m193">
<mml:mrow>
<mml:mi mathvariant="bold-italic">&#x3b1;</mml:mi>
<mml:mo>&#x3e;</mml:mo>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula>, trust region size <inline-formula id="inf181">
<mml:math id="m194">
<mml:mrow>
<mml:mi mathvariant="bold">&#x394;</mml:mi>
<mml:mo>&#x3e;</mml:mo>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula>, threshold of convergence <inline-formula id="inf182">
<mml:math id="m195">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold-italic">&#x3b4;</mml:mi>
<mml:mrow>
<mml:mi mathvariant="bold-italic">cr</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3e;</mml:mo>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula>, maximum number of iterations allowed <inline-formula id="inf183">
<mml:math id="m196">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold-italic">N</mml:mi>
<mml:mrow>
<mml:mi mathvariant="bold-italic">TRS</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="bold-italic">max</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3e;</mml:mo>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula>, Hessian <inline-formula id="inf184">
<mml:math id="m197">
<mml:mi mathvariant="bold-italic">H</mml:mi>
</mml:math>
</inline-formula> and gradient <inline-formula id="inf185">
<mml:math id="m198">
<mml:mi mathvariant="bold-italic">g</mml:mi>
</mml:math>
</inline-formula>, both the Lagrange multiplier <inline-formula id="inf186">
<mml:math id="m199">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">&#x3bb;</mml:mi>
<mml:mi mathvariant="bold-italic">&#x2a;</mml:mi>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>and the trust region search step <inline-formula id="inf187">
<mml:math id="m200">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">s</mml:mi>
<mml:mi mathvariant="bold-italic">&#x2a;</mml:mi>
</mml:msup>
<mml:mo>&#x3d;</mml:mo>
<mml:mi mathvariant="bold-italic">s</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:msup>
<mml:mi mathvariant="bold-italic">&#x3bb;</mml:mi>
<mml:mi mathvariant="bold-italic">&#x2a;</mml:mi>
</mml:msup>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> can be solved from the TRS defined in <xref ref-type="disp-formula" rid="e8">Eq. 8</xref>, using the DIQ method as summarized in Algorithm-3.</p>
<p>
<bold>Algorithm-3:</bold> Solving the L-BFGS TRS Using the DIQ Method</p>
<p>
<list list-type="simple">
<list-item>
<p>(1) <italic>Compute</italic>&#x20;<inline-formula id="inf188">
<mml:math id="m201">
<mml:mo>&#x2016;</mml:mo>
<mml:mi mathvariant="bold-italic">g</mml:mi>
<mml:mo>&#x2016;</mml:mo>
</mml:math>
</inline-formula>;</p>
</list-item>
<list-item>
<p>(2) <italic>Calculate</italic> <inline-formula id="inf189">
<mml:math id="m202">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold-italic">&#x3bb;</mml:mi>
<mml:mrow>
<mml:mi mathvariant="bold-italic">max</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mi mathvariant="italic">max</mml:mi>
<mml:mrow>
<mml:mo>{</mml:mo>
<mml:mrow>
<mml:mn>0</mml:mn>
<mml:mo>,</mml:mo>
<mml:mfrac>
<mml:mi mathvariant="bold-italic">g</mml:mi>
<mml:mi mathvariant="bold-italic">&#x394;</mml:mi>
</mml:mfrac>
<mml:mo>&#x2212;</mml:mo>
<mml:mi mathvariant="bold-italic">&#x3b1;</mml:mi>
</mml:mrow>
<mml:mo>}</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula>
<italic>;</italic>
</p>
</list-item>
<list-item>
<p>(3) <italic>Initialize</italic> <inline-formula id="inf190">
<mml:math id="m203">
<mml:mrow>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula>, <inline-formula id="inf191">
<mml:math id="m204">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold-italic">&#x3bb;</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mi mathvariant="bold-italic">&#x3bb;</mml:mi>
<mml:mrow>
<mml:mi mathvariant="bold-italic">min</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula> <italic>and</italic> <inline-formula id="inf192">
<mml:math id="m205">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold-italic">&#x3bb;</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mi mathvariant="bold-italic">&#x3bb;</mml:mi>
<mml:mrow>
<mml:mi mathvariant="bold-italic">max</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>;</p>
</list-item>
<list-item>
<p>(4) <italic>Compute</italic> <inline-formula id="inf193">
<mml:math id="m206">
<mml:mrow>
<mml:mi mathvariant="bold-italic">D</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mi mathvariant="bold-italic">H</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mi mathvariant="bold-italic">&#x3bb;</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
<mml:msub>
<mml:mi mathvariant="bold-italic">I</mml:mi>
<mml:mi mathvariant="bold-italic">n</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> <italic>and Cholesky decomposition</italic> <inline-formula id="inf194">
<mml:math id="m207">
<mml:mrow>
<mml:mi mathvariant="bold-italic">D</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mi mathvariant="bold-italic">L</mml:mi>
<mml:msup>
<mml:mi mathvariant="bold-italic">L</mml:mi>
<mml:mi mathvariant="bold-italic">T</mml:mi>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>;</p>
</list-item>
<list-item>
<p>(5) <italic>Solve</italic> <inline-formula id="inf195">
<mml:math id="m208">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold-italic">u</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> <italic>from</italic> <inline-formula id="inf196">
<mml:math id="m209">
<mml:mrow>
<mml:mi mathvariant="bold-italic">Lu</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mo>&#x2212;</mml:mo>
<mml:mi mathvariant="bold-italic">g</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> <italic>and</italic> <inline-formula id="inf197">
<mml:math id="m210">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold-italic">s</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> <italic>from</italic> <inline-formula id="inf198">
<mml:math id="m211">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">L</mml:mi>
<mml:mi mathvariant="bold-italic">T</mml:mi>
</mml:msup>
<mml:mi mathvariant="bold-italic">s</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mi mathvariant="bold-italic">u</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>;</p>
</list-item>
<list-item>
<p>(6) <italic>Compute</italic> <inline-formula id="inf199">
<mml:math id="m212">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold-italic">&#x3c0;</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mi mathvariant="bold-italic">&#x3c0;</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold-italic">&#x3bb;</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:msubsup>
<mml:mi mathvariant="bold-italic">s</mml:mi>
<mml:mn>1</mml:mn>
<mml:mi mathvariant="bold-italic">T</mml:mi>
</mml:msubsup>
<mml:msub>
<mml:mi mathvariant="bold-italic">s</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>;</p>
</list-item>
<list-item>
<p>(7) <italic>If</italic> <inline-formula id="inf200">
<mml:math id="m213">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold-italic">&#x3c0;</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
<mml:mo>&#x2264;</mml:mo>
<mml:msup>
<mml:mi mathvariant="bold-italic">&#x394;</mml:mi>
<mml:mn>2</mml:mn>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>, <italic>then accept</italic> <inline-formula id="inf201">
<mml:math id="m214">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">&#x3bb;</mml:mi>
<mml:mi mathvariant="bold-italic">&#x2a;</mml:mi>
</mml:msup>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mi mathvariant="bold-italic">&#x3bb;</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> <italic>and go to step&#x20;12;</italic>
</p>
</list-item>
<list-item>
<p>(8) <italic>If</italic> <inline-formula id="inf202">
<mml:math id="m215">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold-italic">&#x3c0;</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
<mml:mo>&#x3e;</mml:mo>
<mml:msup>
<mml:mi mathvariant="bold-italic">&#x394;</mml:mi>
<mml:mn>2</mml:mn>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>,&#x20;<italic>then</italic>
</p>
<list list-type="simple">
<list-item>
<p>a. <italic>Compute</italic> <inline-formula id="inf203">
<mml:math id="m216">
<mml:mrow>
<mml:mi mathvariant="bold-italic">D</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mi mathvariant="bold-italic">H</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mi mathvariant="bold-italic">&#x3bb;</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
<mml:msub>
<mml:mi mathvariant="bold-italic">I</mml:mi>
<mml:mi mathvariant="bold-italic">n</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> <italic>and Cholesky decomposition</italic> <inline-formula id="inf204">
<mml:math id="m217">
<mml:mrow>
<mml:mi mathvariant="bold-italic">D</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mi mathvariant="bold-italic">L</mml:mi>
<mml:msup>
<mml:mi mathvariant="bold-italic">L</mml:mi>
<mml:mi mathvariant="bold-italic">T</mml:mi>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>;</p>
</list-item>
<list-item>
<p>b. <italic>Solve</italic> <inline-formula id="inf205">
<mml:math id="m218">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold-italic">u</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> <italic>from</italic> <inline-formula id="inf206">
<mml:math id="m219">
<mml:mrow>
<mml:mi mathvariant="bold-italic">Lu</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mo>&#x2212;</mml:mo>
<mml:mi mathvariant="bold-italic">g</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> <italic>and</italic> <inline-formula id="inf207">
<mml:math id="m220">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold-italic">s</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> <italic>from</italic> <inline-formula id="inf208">
<mml:math id="m221">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">L</mml:mi>
<mml:mi mathvariant="bold-italic">T</mml:mi>
</mml:msup>
<mml:mi mathvariant="bold-italic">s</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mi mathvariant="bold-italic">u</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>
<italic>;</italic>
</p>
</list-item>
<list-item>
<p>c. <italic>Compute</italic> <inline-formula id="inf209">
<mml:math id="m222">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold-italic">&#x3c0;</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mi mathvariant="bold-italic">&#x3c0;</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold-italic">&#x3bb;</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:msubsup>
<mml:mi mathvariant="bold-italic">s</mml:mi>
<mml:mn>2</mml:mn>
<mml:mi mathvariant="bold-italic">T</mml:mi>
</mml:msubsup>
<mml:msub>
<mml:mi mathvariant="bold-italic">s</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>;</p>
</list-item>
</list>
</list-item>
<list-item>
<p>(9) <italic>If</italic> <inline-formula id="inf210">
<mml:math id="m223">
<mml:mrow>
<mml:mrow>
<mml:mo>&#x7c;</mml:mo>
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>&#x2212;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msqrt>
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold-italic">&#x3c0;</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
</mml:mrow>
</mml:msqrt>
</mml:mrow>
<mml:mi mathvariant="bold-italic">&#x394;</mml:mi>
</mml:mfrac>
</mml:mrow>
<mml:mo>&#x7c;</mml:mo>
</mml:mrow>
<mml:mo>&#x3c;</mml:mo>
<mml:mrow>
<mml:mo>&#x7c;</mml:mo>
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>&#x2212;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msqrt>
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold-italic">&#x3c0;</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
</mml:mrow>
</mml:msqrt>
</mml:mrow>
<mml:mi mathvariant="bold-italic">&#x394;</mml:mi>
</mml:mfrac>
</mml:mrow>
<mml:mo>&#x7c;</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula>, <italic>then</italic> <inline-formula id="inf211">
<mml:math id="m224">
<mml:mrow>
<mml:mi>&#x3b4;</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mrow>
<mml:mo>&#x7c;</mml:mo>
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>&#x2212;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msqrt>
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold-italic">&#x3c0;</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
</mml:mrow>
</mml:msqrt>
</mml:mrow>
<mml:mi mathvariant="bold-italic">&#x394;</mml:mi>
</mml:mfrac>
</mml:mrow>
<mml:mo>&#x7c;</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula>, <inline-formula id="inf212">
<mml:math id="m225">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">&#x3bb;</mml:mi>
<mml:mi mathvariant="bold-italic">&#x2a;</mml:mi>
</mml:msup>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mi mathvariant="bold-italic">&#x3bb;</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>;</p>
</list-item>
<list-item>
<p>(10) <italic>Otherwise</italic>, <inline-formula id="inf213">
<mml:math id="m226">
<mml:mrow>
<mml:mi mathvariant="bold-italic">&#x3b4;</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mrow>
<mml:mo>&#x7c;</mml:mo>
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>&#x2212;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msqrt>
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold-italic">&#x3c0;</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
</mml:mrow>
</mml:msqrt>
</mml:mrow>
<mml:mi mathvariant="bold-italic">&#x394;</mml:mi>
</mml:mfrac>
</mml:mrow>
<mml:mo>&#x7c;</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula>, <inline-formula id="inf214">
<mml:math id="m227">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">&#x3bb;</mml:mi>
<mml:mi mathvariant="bold-italic">&#x2a;</mml:mi>
</mml:msup>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mi mathvariant="bold-italic">&#x3bb;</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>;</p>
</list-item>
<list-item>
<p>(11) <italic>Repeat steps (a) through (i) below, until convergence</italic> (<inline-formula id="inf215">
<mml:math id="m228">
<mml:mrow>
<mml:mi mathvariant="bold-italic">&#x3b4;</mml:mi>
<mml:mo>&#x2264;</mml:mo>
<mml:msub>
<mml:mi mathvariant="bold-italic">&#x3b4;</mml:mi>
<mml:mrow>
<mml:mi mathvariant="bold-italic">cr</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> or <inline-formula id="inf216">
<mml:math id="m229">
<mml:mrow>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>&#x3e;</mml:mo>
<mml:msub>
<mml:mi mathvariant="bold-italic">N</mml:mi>
<mml:mrow>
<mml:mi mathvariant="bold-italic">TRS</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="bold-italic">max</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>):</p>
<list list-type="simple">
<list-item>
<p>a. <italic>Calculate</italic> <inline-formula id="inf217">
<mml:math id="m230">
<mml:mrow>
<mml:mi mathvariant="bold-italic">&#x3c1;</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msqrt>
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold-italic">&#x3c0;</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
</mml:mrow>
</mml:msqrt>
</mml:mrow>
<mml:mrow>
<mml:msqrt>
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold-italic">&#x3c0;</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
</mml:mrow>
</mml:msqrt>
<mml:mo>&#x2212;</mml:mo>
<mml:msqrt>
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold-italic">&#x3c0;</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
</mml:mrow>
</mml:msqrt>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
</mml:math>
</inline-formula>;</p>
</list-item>
<list-item>
<p>b. <italic>Calculate</italic> <inline-formula id="inf218">
<mml:math id="m231">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">&#x3bb;</mml:mi>
<mml:mi mathvariant="bold-italic">&#x2a;</mml:mi>
</mml:msup>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mi mathvariant="bold-italic">&#x3bb;</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:mi mathvariant="bold-italic">&#x3c1;</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>&#x2212;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msqrt>
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold-italic">&#x3c0;</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
</mml:mrow>
</mml:msqrt>
</mml:mrow>
<mml:mi mathvariant="bold-italic">&#x394;</mml:mi>
</mml:mfrac>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:msub>
<mml:mi mathvariant="bold-italic">&#x3bb;</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi mathvariant="bold-italic">&#x3bb;</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula>;</p>
</list-item>
<list-item>
<p>c. <italic>Compute</italic> <inline-formula id="inf219">
<mml:math id="m232">
<mml:mrow>
<mml:mi mathvariant="bold-italic">D</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mi mathvariant="bold-italic">H</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:msup>
<mml:mi mathvariant="bold-italic">&#x3bb;</mml:mi>
<mml:mi mathvariant="bold-italic">&#x2a;</mml:mi>
</mml:msup>
<mml:msub>
<mml:mi mathvariant="bold-italic">I</mml:mi>
<mml:mi mathvariant="bold-italic">n</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>
<italic>and Cholesky decomposition</italic> <inline-formula id="inf220">
<mml:math id="m233">
<mml:mrow>
<mml:mi mathvariant="bold-italic">D</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mi mathvariant="bold-italic">L</mml:mi>
<mml:msup>
<mml:mi mathvariant="bold-italic">L</mml:mi>
<mml:mi mathvariant="bold-italic">T</mml:mi>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>
<italic>;</italic>
</p>
</list-item>
<list-item>
<p>d. <italic>Solve</italic> <inline-formula id="inf221">
<mml:math id="m234">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">u</mml:mi>
<mml:mi mathvariant="bold-italic">&#x2a;</mml:mi>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> <italic>from</italic> <inline-formula id="inf222">
<mml:math id="m235">
<mml:mrow>
<mml:mi mathvariant="bold-italic">Lu</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mo>&#x2212;</mml:mo>
<mml:mi mathvariant="bold-italic">g</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> <italic>and</italic> <inline-formula id="inf223">
<mml:math id="m236">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">s</mml:mi>
<mml:mi mathvariant="bold-italic">&#x2a;</mml:mi>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> <italic>from</italic> <inline-formula id="inf224">
<mml:math id="m237">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">L</mml:mi>
<mml:mi mathvariant="bold-italic">T</mml:mi>
</mml:msup>
<mml:mi mathvariant="bold-italic">s</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mi mathvariant="bold-italic">u</mml:mi>
<mml:mi mathvariant="bold-italic">&#x2a;</mml:mi>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>
<italic>;</italic>
</p>
</list-item>
<list-item>
<p>e. Compute <inline-formula id="inf225">
<mml:math id="m238">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">&#x3c0;</mml:mi>
<mml:mi mathvariant="bold-italic">&#x2a;</mml:mi>
</mml:msup>
<mml:mo>&#x3d;</mml:mo>
<mml:mi mathvariant="bold-italic">&#x3c0;</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">&#x3bb;</mml:mi>
<mml:mi mathvariant="bold-italic">&#x2a;</mml:mi>
</mml:msup>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">s</mml:mi>
<mml:mi mathvariant="bold-italic">&#x2a;</mml:mi>
</mml:msup>
</mml:mrow>
<mml:mo>]</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mi mathvariant="bold-italic">T</mml:mi>
</mml:msup>
<mml:msup>
<mml:mi mathvariant="bold-italic">s</mml:mi>
<mml:mi mathvariant="bold-italic">&#x2a;</mml:mi>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>;</p>
</list-item>
<list-item>
<p>f. <italic>Update</italic> <inline-formula id="inf226">
<mml:math id="m239">
<mml:mrow>
<mml:mi mathvariant="bold-italic">&#x3b4;</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mrow>
<mml:mo>&#x7c;</mml:mo>
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>&#x2212;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msqrt>
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">&#x3c0;</mml:mi>
<mml:mi mathvariant="bold-italic">&#x2a;</mml:mi>
</mml:msup>
</mml:mrow>
</mml:msqrt>
</mml:mrow>
<mml:mi mathvariant="bold-italic">&#x394;</mml:mi>
</mml:mfrac>
</mml:mrow>
<mml:mo>&#x7c;</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula>&#x20;;</p>
</list-item>
<list-item>
<p>g. <italic>If</italic> <inline-formula id="inf227">
<mml:math id="m240">
<mml:mrow>
<mml:msqrt>
<mml:mrow>
<mml:mi mathvariant="bold-italic">&#xa0;</mml:mi>
<mml:msup>
<mml:mi mathvariant="bold-italic">&#x3c0;</mml:mi>
<mml:mi mathvariant="bold-italic">&#x2a;</mml:mi>
</mml:msup>
</mml:mrow>
</mml:msqrt>
<mml:mo>&#x3e;</mml:mo>
<mml:mi mathvariant="bold-italic">&#x394;</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>
<italic>, update</italic> <inline-formula id="inf228">
<mml:math id="m241">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold-italic">&#x3bb;</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mi mathvariant="bold-italic">&#x3bb;</mml:mi>
<mml:mi mathvariant="bold-italic">&#x2a;</mml:mi>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> <italic>and</italic> <inline-formula id="inf229">
<mml:math id="m242">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold-italic">&#x3c0;</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mi mathvariant="bold-italic">&#x3c0;</mml:mi>
<mml:mi mathvariant="bold-italic">&#x2a;</mml:mi>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>
<italic>;</italic>
</p>
</list-item>
<list-item>
<p>h. <italic>Otherwise, update</italic> <inline-formula id="inf230">
<mml:math id="m243">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold-italic">&#x3bb;</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mi mathvariant="bold-italic">&#x3bb;</mml:mi>
<mml:mi mathvariant="bold-italic">&#x2a;</mml:mi>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> <italic>and</italic> <inline-formula id="inf231">
<mml:math id="m244">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold-italic">&#x3c0;</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mi mathvariant="bold-italic">&#x3c0;</mml:mi>
<mml:mi mathvariant="bold-italic">&#x2a;</mml:mi>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>
<italic>;</italic>
</p>
</list-item>
<list-item>
<p>i. <inline-formula id="inf232">
<mml:math id="m245">
<mml:mrow>
<mml:mi mathvariant="bold-italic">k </mml:mi>
<mml:mo>&#x2190;</mml:mo>
<mml:mi mathvariant="bold-italic"> k</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula>
</p>
</list-item>
</list>
</list-item>
<list-item>
<p>(12) <italic>Stop</italic>.</p>
</list-item>
</list>
</p>
<p>Let <inline-formula id="inf233">
<mml:math id="m246">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold-italic">N</mml:mi>
<mml:mrow>
<mml:mi mathvariant="bold-italic">DIQ</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> denote the number of iterations required for the DIQ TRS solver to converge. The total computational cost to solve the L-BFGS TRS using Algorithm-3 together with Algorithm-1 is,<disp-formula id="e14">
<mml:math id="m247">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold-italic">c</mml:mi>
<mml:mrow>
<mml:mi mathvariant="bold-italic">IQ</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>2</mml:mn>
<mml:mi mathvariant="bold-italic">m</mml:mi>
<mml:msup>
<mml:mi mathvariant="bold-italic">n</mml:mi>
<mml:mn>2</mml:mn>
</mml:msup>
<mml:mo>&#x2b;</mml:mo>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mn>7</mml:mn>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>3</mml:mn>
<mml:msup>
<mml:mi mathvariant="bold-italic">m</mml:mi>
<mml:mn>2</mml:mn>
</mml:msup>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mi mathvariant="bold-italic">n</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mn>5</mml:mn>
<mml:mi mathvariant="bold-italic">n</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>2</mml:mn>
<mml:msup>
<mml:mi mathvariant="bold-italic">n</mml:mi>
<mml:mn>2</mml:mn>
</mml:msup>
<mml:mo>&#x2b;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">n</mml:mi>
<mml:mn>3</mml:mn>
</mml:msup>
</mml:mrow>
<mml:mn>3</mml:mn>
</mml:mfrac>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold-italic">N</mml:mi>
<mml:mrow>
<mml:mi mathvariant="bold-italic">DIQ</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mo>&#x2b;</mml:mo>
<mml:mi mathvariant="bold-italic">O</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">m</mml:mi>
<mml:mn>3</mml:mn>
</mml:msup>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
<label>(14)</label>
</disp-formula>Generally, the DIQ method converges faster than the DNR method and it performs more efficiently and robustly than the DNR method, especially for large scale problems. Both the DNR method and the DIQ method become quite expensive for large-scale problems.</p>
</sec>
<sec id="s3-6">
<title>Using Matrix Inversion Lemma (MIL) to Solve the L-BFGS TRS</title>
<p>To save both memory usage and computational cost, Gao, et&#x20;al. [<xref ref-type="bibr" rid="B32">32</xref>, <xref ref-type="bibr" rid="B36">36</xref>, <xref ref-type="bibr" rid="B37">37</xref>] proposed an efficient algorithm to solve the Gauss-Newton TRS (GNTRS) for large-scale history matching problems using the matrix inversion lemma (or the Woodbury matrix identity). With appropriate normalization of both parameters and residuals, the Hessian of the objective function for a history matching problem can be approximated by the well-known Gauss-Newton equation as follows,<disp-formula id="e15">
<mml:math id="m248">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">H</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo>&#x3d;</mml:mo>
<mml:mi mathvariant="bold-italic">&#x3b1;</mml:mi>
<mml:msub>
<mml:mi mathvariant="bold-italic">I</mml:mi>
<mml:mi mathvariant="bold-italic">n</mml:mi>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:msup>
<mml:mi mathvariant="bold-italic">V</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msup>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">V</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msup>
</mml:mrow>
<mml:mo>]</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mi mathvariant="bold-italic">T</mml:mi>
</mml:msup>
</mml:mrow>
</mml:math>
<label>(15)</label>
</disp-formula>In <xref ref-type="disp-formula" rid="e15">Eq. 15</xref>, <inline-formula id="inf234">
<mml:math id="m249">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">V</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">J</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msup>
</mml:mrow>
<mml:mo>]</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mi mathvariant="bold-italic">T</mml:mi>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> is an <inline-formula id="inf235">
<mml:math id="m250">
<mml:mrow>
<mml:mi mathvariant="bold-italic">n</mml:mi>
<mml:mo>&#xd7;</mml:mo>
<mml:mi mathvariant="bold-italic">m</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> matrix, the transpose of the sensitivity matrix <inline-formula id="inf236">
<mml:math id="m251">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">J</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> that is evaluated at the current best solution <inline-formula id="inf237">
<mml:math id="m252">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">x</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>. Here, <inline-formula id="inf238">
<mml:math id="m253">
<mml:mi mathvariant="bold-italic">m</mml:mi>
</mml:math>
</inline-formula> denotes the number of observed data to be matched and it is not the same <inline-formula id="inf239">
<mml:math id="m254">
<mml:mi mathvariant="bold-italic">m</mml:mi>
</mml:math>
</inline-formula> as used in the L-BFGS Hessian updating <xref ref-type="disp-formula" rid="e4">Eq.&#x20;4</xref>.</p>
<p>The GNTRS solver proposed by Gao, et&#x20;al. [<xref ref-type="bibr" rid="B32">32</xref>, <xref ref-type="bibr" rid="B36">36</xref>, <xref ref-type="bibr" rid="B37">37</xref>] using the matrix inversion lemma (MIL) has been implemented and integrated with the distributed Gauss-Newton (DGN) optimizer. Because the compact representation of the L-BFGS Hessian updating formula <xref ref-type="disp-formula" rid="e4">Eq. 4</xref> is similar to <xref ref-type="disp-formula" rid="e15">Eq. 15</xref>, we follow the similar idea as proposed by Gao, et&#x20;al. [<xref ref-type="bibr" rid="B32">32</xref>, <xref ref-type="bibr" rid="B36">36</xref>, <xref ref-type="bibr" rid="B37">37</xref>] to compute <inline-formula id="inf240">
<mml:math id="m255">
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">H</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo>&#x2b;</mml:mo>
<mml:mi mathvariant="bold-italic">&#x3bb;</mml:mi>
<mml:msub>
<mml:mi mathvariant="bold-italic">I</mml:mi>
<mml:mi mathvariant="bold-italic">n</mml:mi>
</mml:msub>
</mml:mrow>
<mml:mo>]</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> by applying the matrix inversion lemma and then solve the L-BFGS trust region search step <inline-formula id="inf241">
<mml:math id="m256">
<mml:mrow>
<mml:mi mathvariant="bold-italic">s</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">&#x3bb;</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula>.<disp-formula id="e16">
<mml:math id="m257">
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">H</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo>&#x2b;</mml:mo>
<mml:mi mathvariant="bold-italic">&#x3bb;</mml:mi>
<mml:msub>
<mml:mi mathvariant="bold-italic">I</mml:mi>
<mml:mi mathvariant="bold-italic">n</mml:mi>
</mml:msub>
</mml:mrow>
<mml:mo>]</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msup>
<mml:mo>&#x3d;</mml:mo>
<mml:mfrac>
<mml:mn>1</mml:mn>
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">&#x3b1;</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo>&#x2b;</mml:mo>
<mml:mi mathvariant="bold-italic">&#x3bb;</mml:mi>
</mml:mrow>
</mml:mfrac>
<mml:msub>
<mml:mi mathvariant="bold-italic">I</mml:mi>
<mml:mi mathvariant="bold-italic">n</mml:mi>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:mfrac>
<mml:mn>1</mml:mn>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">&#x3b1;</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo>&#x2b;</mml:mo>
<mml:mi mathvariant="bold-italic">&#x3bb;</mml:mi>
</mml:mrow>
<mml:mo>]</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mn>2</mml:mn>
</mml:msup>
</mml:mrow>
</mml:mfrac>
<mml:msup>
<mml:mi mathvariant="bold-italic">V</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msup>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mo>{</mml:mo>
<mml:mrow>
<mml:mfrac>
<mml:mn>1</mml:mn>
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">&#x3b1;</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo>&#x2b;</mml:mo>
<mml:mi mathvariant="bold-italic">&#x3bb;</mml:mi>
</mml:mrow>
</mml:mfrac>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">V</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msup>
</mml:mrow>
<mml:mo>]</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mi mathvariant="bold-italic">T</mml:mi>
</mml:msup>
<mml:msup>
<mml:mi mathvariant="bold-italic">V</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo>&#x2212;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">W</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msup>
</mml:mrow>
<mml:mo>]</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msup>
</mml:mrow>
<mml:mo>}</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msup>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">V</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msup>
</mml:mrow>
<mml:mo>]</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mi mathvariant="bold-italic">T</mml:mi>
</mml:msup>
</mml:mrow>
</mml:math>
<label>(16)</label>
</disp-formula>Let <inline-formula id="inf242">
<mml:math id="m258">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">P</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">V</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msup>
</mml:mrow>
<mml:mo>]</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mi mathvariant="bold-italic">T</mml:mi>
</mml:msup>
<mml:msup>
<mml:mi mathvariant="bold-italic">V</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> and <inline-formula id="inf243">
<mml:math id="m259">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">u</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">V</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msup>
</mml:mrow>
<mml:mo>]</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mi mathvariant="bold-italic">T</mml:mi>
</mml:msup>
<mml:msup>
<mml:mi mathvariant="bold-italic">g</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>. We first solve <inline-formula id="inf244">
<mml:math id="m260">
<mml:mrow>
<mml:mi mathvariant="bold-italic">v</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">&#x3bb;</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> from,<disp-formula id="e17">
<mml:math id="m261">
<mml:mrow>
<mml:mrow>
<mml:mo>{</mml:mo>
<mml:mrow>
<mml:mfrac>
<mml:mn>1</mml:mn>
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">&#x3b1;</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo>&#x2b;</mml:mo>
<mml:mi mathvariant="bold-italic">&#x3bb;</mml:mi>
</mml:mrow>
</mml:mfrac>
<mml:msup>
<mml:mi mathvariant="bold-italic">P</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo>&#x2212;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">W</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msup>
</mml:mrow>
<mml:mo>]</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msup>
</mml:mrow>
<mml:mo>}</mml:mo>
</mml:mrow>
<mml:mi mathvariant="bold-italic">v</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">&#x3bb;</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mi mathvariant="bold-italic">u</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
<mml:mo>.</mml:mo>
</mml:mrow>
</mml:math>
<label>(17)</label>
</disp-formula>Then, we compute the trust region search step <inline-formula id="inf245">
<mml:math id="m262">
<mml:mrow>
<mml:mi mathvariant="bold-italic">s</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">&#x3bb;</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> and <inline-formula id="inf246">
<mml:math id="m263">
<mml:mrow>
<mml:mi mathvariant="bold-italic">&#x3c0;</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">&#x3bb;</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:mo>&#x2016;</mml:mo>
<mml:mi mathvariant="bold-italic">s</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">&#x3bb;</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mo>&#x2016;</mml:mo>
<mml:msup>
<mml:mo>&#xa0;</mml:mo>
<mml:mn>2</mml:mn>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> as,<disp-formula id="e18">
<mml:math id="m264">
<mml:mrow>
<mml:mi mathvariant="bold-italic">s</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">&#x3bb;</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:mo>&#x2212;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">H</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo>&#x2b;</mml:mo>
<mml:mi mathvariant="bold-italic">&#x3bb;</mml:mi>
<mml:msub>
<mml:mi mathvariant="bold-italic">I</mml:mi>
<mml:mi mathvariant="bold-italic">n</mml:mi>
</mml:msub>
</mml:mrow>
<mml:mo>]</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msup>
<mml:msup>
<mml:mi mathvariant="bold-italic">g</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
<mml:mo>&#x3d;</mml:mo>
<mml:mo>&#x2212;</mml:mo>
<mml:mfrac>
<mml:mn>1</mml:mn>
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">&#x3b1;</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
<mml:mo>&#x2b;</mml:mo>
<mml:mi mathvariant="bold-italic">&#x3bb;</mml:mi>
</mml:mrow>
</mml:mfrac>
<mml:msup>
<mml:mi mathvariant="bold-italic">g</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
<mml:mo>&#x2b;</mml:mo>
<mml:mfrac>
<mml:mn>1</mml:mn>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">&#x3b1;</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
<mml:mo>&#x2b;</mml:mo>
<mml:mi mathvariant="bold-italic">&#x3bb;</mml:mi>
</mml:mrow>
<mml:mo>]</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mn>2</mml:mn>
</mml:msup>
</mml:mrow>
</mml:mfrac>
<mml:msup>
<mml:mi mathvariant="bold-italic">V</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
<mml:mi mathvariant="bold-italic">v</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">&#x3bb;</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:math>
<label>(18)</label>
</disp-formula>
<disp-formula id="e19">
<mml:math id="m265">
<mml:mrow>
<mml:mi mathvariant="bold-italic">&#x3c0;</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">&#x3bb;</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mo>&#x2016;</mml:mo>
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">g</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
</mml:mrow>
<mml:mo>&#x2016;</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mn>2</mml:mn>
</mml:msup>
</mml:mrow>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">&#x3b1;</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo>&#x2b;</mml:mo>
<mml:mi mathvariant="bold-italic">&#x3bb;</mml:mi>
</mml:mrow>
<mml:mo>]</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mn>2</mml:mn>
</mml:msup>
</mml:mrow>
</mml:mfrac>
<mml:mo>&#x2b;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:mi mathvariant="bold-italic">v</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">&#x3bb;</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mo>]</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mi mathvariant="bold-italic">T</mml:mi>
</mml:msup>
<mml:msup>
<mml:mi mathvariant="bold-italic">P</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mi mathvariant="bold-italic">v</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">&#x3bb;</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">&#x3b1;</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo>&#x2b;</mml:mo>
<mml:mi mathvariant="bold-italic">&#x3bb;</mml:mi>
</mml:mrow>
<mml:mo>]</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mn>4</mml:mn>
</mml:msup>
</mml:mrow>
</mml:mfrac>
<mml:mo>&#x2212;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">u</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
</mml:mrow>
<mml:mo>]</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mi mathvariant="bold-italic">T</mml:mi>
</mml:msup>
<mml:mi mathvariant="bold-italic">v</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">&#x3bb;</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">&#x3b1;</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo>&#x2b;</mml:mo>
<mml:mi mathvariant="bold-italic">&#x3bb;</mml:mi>
</mml:mrow>
<mml:mo>]</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mn>3</mml:mn>
</mml:msup>
</mml:mrow>
</mml:mfrac>
<mml:mo>.</mml:mo>
</mml:mrow>
</mml:math>
<label>(19)</label>
</disp-formula>From <xref ref-type="disp-formula" rid="e15">Eq. 15</xref>, we have <inline-formula id="inf247">
<mml:math id="m266">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">P</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mi mathvariant="bold-italic">v</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">&#x3bb;</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">&#x3b1;</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo>&#x2b;</mml:mo>
<mml:mi mathvariant="bold-italic">&#x3bb;</mml:mi>
</mml:mrow>
<mml:mo>]</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mo>{</mml:mo>
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">u</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
<mml:mo>&#x2b;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">W</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msup>
</mml:mrow>
<mml:mo>]</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msup>
<mml:mi mathvariant="bold-italic">v</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">&#x3bb;</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mo>}</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> and <xref ref-type="disp-formula" rid="e19">Eq. 19</xref> can be rewritten as,<disp-formula id="e20">
<mml:math id="m267">
<mml:mrow>
<mml:mi mathvariant="bold-italic">&#x3c0;</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">&#x3bb;</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mo>&#x2016;</mml:mo>
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">g</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
</mml:mrow>
<mml:mo>&#x2016;</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mn>2</mml:mn>
</mml:msup>
</mml:mrow>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">&#x3b1;</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo>&#x2b;</mml:mo>
<mml:mi mathvariant="bold-italic">&#x3bb;</mml:mi>
</mml:mrow>
<mml:mo>]</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mn>2</mml:mn>
</mml:msup>
</mml:mrow>
</mml:mfrac>
<mml:mo>&#x2b;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:mi mathvariant="bold-italic">v</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">&#x3bb;</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mo>]</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mi mathvariant="bold-italic">T</mml:mi>
</mml:msup>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">W</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msup>
</mml:mrow>
<mml:mo>]</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msup>
<mml:mi mathvariant="bold-italic">v</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">&#x3bb;</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">u</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
</mml:mrow>
<mml:mo>]</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mi mathvariant="bold-italic">T</mml:mi>
</mml:msup>
<mml:mi mathvariant="bold-italic">v</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">&#x3bb;</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">&#x3b1;</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo>&#x2b;</mml:mo>
<mml:mi mathvariant="bold-italic">&#x3bb;</mml:mi>
</mml:mrow>
<mml:mo>]</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mn>3</mml:mn>
</mml:msup>
</mml:mrow>
</mml:mfrac>
<mml:mo>.</mml:mo>
</mml:mrow>
</mml:math>
<label>(20)</label>
</disp-formula>We first try <inline-formula id="inf248">
<mml:math id="m268">
<mml:mrow>
<mml:mi mathvariant="bold-italic">&#x3bb;</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mi mathvariant="bold-italic">&#x3bb;</mml:mi>
<mml:mrow>
<mml:mi mathvariant="bold-italic">min</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula>. If <inline-formula id="inf249">
<mml:math id="m269">
<mml:mrow>
<mml:mi mathvariant="bold-italic">&#x3c0;</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mn>0</mml:mn>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mo>&#x2264;</mml:mo>
<mml:msup>
<mml:mi mathvariant="bold-italic">&#x394;</mml:mi>
<mml:mn>2</mml:mn>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> holds, we accept <inline-formula id="inf250">
<mml:math id="m270">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">&#x3bb;</mml:mi>
<mml:mi mathvariant="bold-italic">&#x2a;</mml:mi>
</mml:msup>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula> and <inline-formula id="inf251">
<mml:math id="m271">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">s</mml:mi>
<mml:mi mathvariant="bold-italic">&#x2a;</mml:mi>
</mml:msup>
<mml:mo>&#x3d;</mml:mo>
<mml:mi mathvariant="bold-italic">s</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mn>0</mml:mn>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mo>&#xa0;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula>as the solution of the TRS defined in <xref ref-type="disp-formula" rid="e8">Eq. 8</xref>. Otherwise, the solution is on the boundary defined in <xref ref-type="disp-formula" rid="e10">Eq. 10</xref>, which can be solved by the Newton-Raphson (NR) method iteratively.</p>
<p>Let <inline-formula id="inf252">
<mml:math id="m272">
<mml:mrow>
<mml:mi>&#x3d5;</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">&#x3bb;</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:mfrac>
<mml:mn>1</mml:mn>
<mml:mrow>
<mml:msqrt>
<mml:mrow>
<mml:mi mathvariant="bold-italic">&#x3c0;</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">&#x3bb;</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msqrt>
</mml:mrow>
</mml:mfrac>
<mml:mo>&#x2212;</mml:mo>
<mml:mfrac>
<mml:mn>1</mml:mn>
<mml:mi mathvariant="bold-italic">&#x394;</mml:mi>
</mml:mfrac>
</mml:mrow>
</mml:math>
</inline-formula> and we have <inline-formula id="inf253">
<mml:math id="m273">
<mml:mrow>
<mml:msup>
<mml:mi>&#x3d5;</mml:mi>
<mml:mi mathvariant="bold-italic">&#x2032;</mml:mi>
</mml:msup>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">&#x3bb;</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:mo>&#x2212;</mml:mo>
<mml:mfrac>
<mml:mn>1</mml:mn>
<mml:mn>2</mml:mn>
</mml:mfrac>
<mml:mfrac>
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">&#x3c0;</mml:mi>
<mml:mi mathvariant="bold-italic">&#x2032;</mml:mi>
</mml:msup>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">&#x3bb;</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:mi mathvariant="bold-italic">&#x3c0;</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">&#x3bb;</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mo>]</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mrow>
<mml:mn>3</mml:mn>
<mml:mo>/</mml:mo>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
</mml:math>
</inline-formula> where <inline-formula id="inf254">
<mml:math id="m274">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">&#x3c0;</mml:mi>
<mml:mi mathvariant="bold-italic">&#x2032;</mml:mi>
</mml:msup>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">&#x3bb;</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> is computed by,<disp-formula id="e21">
<mml:math id="m275">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">&#x3c0;</mml:mi>
<mml:mi mathvariant="bold-italic">&#x2032;</mml:mi>
</mml:msup>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">&#x3bb;</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mo>&#x2016;</mml:mo>
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">g</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
</mml:mrow>
<mml:mo>&#x2016;</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mn>2</mml:mn>
</mml:msup>
</mml:mrow>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">&#x3b1;</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
<mml:mo>&#x2b;</mml:mo>
<mml:mi mathvariant="bold-italic">&#x3bb;</mml:mi>
</mml:mrow>
<mml:mo>]</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mn>3</mml:mn>
</mml:msup>
</mml:mrow>
</mml:mfrac>
<mml:mo>&#x2212;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mn>3</mml:mn>
<mml:mi mathvariant="bold-italic">&#x3c0;</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">&#x3bb;</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">&#x3b1;</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
<mml:mo>&#x2b;</mml:mo>
<mml:mi mathvariant="bold-italic">&#x3bb;</mml:mi>
</mml:mrow>
</mml:mfrac>
<mml:mo>&#x2b;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:mi mathvariant="bold-italic">v</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">&#x3bb;</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mo>]</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mi mathvariant="bold-italic">T</mml:mi>
</mml:msup>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">W</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msup>
</mml:mrow>
<mml:mo>]</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msup>
<mml:mi mathvariant="bold-italic">w</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">&#x3bb;</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">u</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
</mml:mrow>
<mml:mo>]</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mi mathvariant="bold-italic">T</mml:mi>
</mml:msup>
<mml:mi mathvariant="bold-italic">w</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">&#x3bb;</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">&#x3b1;</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo>&#x2b;</mml:mo>
<mml:mi mathvariant="bold-italic">&#x3bb;</mml:mi>
</mml:mrow>
<mml:mo>]</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mn>3</mml:mn>
</mml:msup>
</mml:mrow>
</mml:mfrac>
<mml:mo>.</mml:mo>
</mml:mrow>
</mml:math>
<label>(21)</label>
</disp-formula>In <xref ref-type="disp-formula" rid="e21">Eq. 21</xref>, <inline-formula id="inf255">
<mml:math id="m276">
<mml:mrow>
<mml:mi mathvariant="bold-italic">w</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">&#x3bb;</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mi mathvariant="bold-italic">v</mml:mi>
<mml:mi mathvariant="bold-italic">&#x2032;</mml:mi>
</mml:msup>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">&#x3bb;</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> is solved from,<disp-formula id="e22">
<mml:math id="m277">
<mml:mrow>
<mml:mrow>
<mml:mo>{</mml:mo>
<mml:mrow>
<mml:mfrac>
<mml:mn>1</mml:mn>
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">&#x3b1;</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo>&#x2b;</mml:mo>
<mml:mi mathvariant="bold-italic">&#x3bb;</mml:mi>
</mml:mrow>
</mml:mfrac>
<mml:msup>
<mml:mi mathvariant="bold-italic">P</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo>&#x2212;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">W</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msup>
</mml:mrow>
<mml:mo>]</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msup>
</mml:mrow>
<mml:mo>}</mml:mo>
</mml:mrow>
<mml:mi mathvariant="bold-italic">w</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">&#x3bb;</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:mfrac>
<mml:mn>1</mml:mn>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">&#x3b1;</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo>&#x2b;</mml:mo>
<mml:mi mathvariant="bold-italic">&#x3bb;</mml:mi>
</mml:mrow>
<mml:mo>]</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mn>2</mml:mn>
</mml:msup>
</mml:mrow>
</mml:mfrac>
<mml:msup>
<mml:mi mathvariant="bold-italic">P</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mi mathvariant="bold-italic">v</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">&#x3bb;</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mo>.</mml:mo>
</mml:mrow>
</mml:math>
<label>(22)</label>
</disp-formula>Because <inline-formula id="inf256">
<mml:math id="m278">
<mml:mrow>
<mml:mrow>
<mml:mo>{</mml:mo>
<mml:mrow>
<mml:mfrac>
<mml:mn>1</mml:mn>
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">&#x3b1;</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo>&#x2b;</mml:mo>
<mml:mi mathvariant="bold-italic">&#x3bb;</mml:mi>
</mml:mrow>
</mml:mfrac>
<mml:msup>
<mml:mi mathvariant="bold-italic">P</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo>&#x2212;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">W</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msup>
</mml:mrow>
<mml:mo>]</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msup>
</mml:mrow>
<mml:mo>}</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> is an <inline-formula id="inf257">
<mml:math id="m279">
<mml:mrow>
<mml:mi mathvariant="bold-italic">m</mml:mi>
<mml:mo>&#xd7;</mml:mo>
<mml:mi mathvariant="bold-italic">m</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> symmetric and positive definite matrix, it only requires. <inline-formula id="inf258">
<mml:math id="m280">
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">m</mml:mi>
<mml:mn>3</mml:mn>
</mml:msup>
</mml:mrow>
<mml:mn>3</mml:mn>
</mml:mfrac>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>6</mml:mn>
<mml:msup>
<mml:mi mathvariant="bold-italic">m</mml:mi>
<mml:mn>2</mml:mn>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> flops to solve <inline-formula id="inf259">
<mml:math id="m281">
<mml:mrow>
<mml:mi mathvariant="bold-italic">v</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">&#x3bb;</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> and <inline-formula id="inf260">
<mml:math id="m282">
<mml:mrow>
<mml:mi mathvariant="bold-italic">w</mml:mi>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">&#x3bb;</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>
<bold>)</bold> from <xref ref-type="disp-formula" rid="e17">Eq. 17</xref> and <xref ref-type="disp-formula" rid="e22">Eq. 22</xref> using the Cholesky factorization.</p>
<p>Given the <inline-formula id="inf261">
<mml:math id="m283">
<mml:mrow>
<mml:mi mathvariant="bold-italic">n</mml:mi>
<mml:mo>&#xd7;</mml:mo>
<mml:msub>
<mml:mi mathvariant="bold-italic">l</mml:mi>
<mml:mi mathvariant="bold-italic">k</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> variable shift matrix <inline-formula id="inf262">
<mml:math id="m284">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">S</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> and gradient change matrix <inline-formula id="inf263">
<mml:math id="m285">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">Z</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>, we may directly compute the following three <inline-formula id="inf264">
<mml:math id="m286">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold-italic">l</mml:mi>
<mml:mi mathvariant="bold-italic">k</mml:mi>
</mml:msub>
<mml:mo>&#xd7;</mml:mo>
<mml:msub>
<mml:mi mathvariant="bold-italic">l</mml:mi>
<mml:mi mathvariant="bold-italic">k</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> matrices, <inline-formula id="inf265">
<mml:math id="m287">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">A</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">S</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msup>
</mml:mrow>
<mml:mo>]</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mi mathvariant="bold-italic">T</mml:mi>
</mml:msup>
<mml:msup>
<mml:mi mathvariant="bold-italic">S</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>, <inline-formula id="inf266">
<mml:math id="m288">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">B</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">S</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msup>
</mml:mrow>
<mml:mo>]</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mi mathvariant="bold-italic">T</mml:mi>
</mml:msup>
<mml:msup>
<mml:mi mathvariant="bold-italic">Z</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> and <inline-formula id="inf267">
<mml:math id="m289">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">C</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">Z</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msup>
</mml:mrow>
<mml:mo>]</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mi mathvariant="bold-italic">T</mml:mi>
</mml:msup>
<mml:msup>
<mml:mi mathvariant="bold-italic">Z</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>, and then form the <inline-formula id="inf268">
<mml:math id="m290">
<mml:mrow>
<mml:mi mathvariant="bold-italic">m</mml:mi>
<mml:mo>&#xd7;</mml:mo>
<mml:mi mathvariant="bold-italic">m</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> matrix <inline-formula id="inf269">
<mml:math id="m291">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">P</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">V</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
</mml:mrow>
<mml:mo>]</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mi mathvariant="bold-italic">T</mml:mi>
</mml:msup>
<mml:msup>
<mml:mi mathvariant="bold-italic">V</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> as,<disp-formula id="e23">
<mml:math id="m292">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">P</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo>&#x3d;</mml:mo>
<mml:mrow>
<mml:mo>{</mml:mo>
<mml:mrow>
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">A</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo>&#xa0;</mml:mo>
<mml:mo>&#xa0;</mml:mo>
<mml:mo>&#xa0;</mml:mo>
<mml:mo>&#xa0;</mml:mo>
<mml:mo>&#xa0;</mml:mo>
<mml:msup>
<mml:mi mathvariant="bold-italic">B</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">B</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msup>
</mml:mrow>
<mml:mo>]</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mi mathvariant="bold-italic">T</mml:mi>
</mml:msup>
<mml:mo>&#xa0;</mml:mo>
<mml:mo>&#xa0;</mml:mo>
<mml:mo>&#xa0;</mml:mo>
<mml:mo>&#xa0;</mml:mo>
<mml:msup>
<mml:mi mathvariant="bold-italic">C</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
<mml:mo>}</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
<label>(23)</label>
</disp-formula>Directly computing the three <inline-formula id="inf270">
<mml:math id="m293">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold-italic">l</mml:mi>
<mml:mi mathvariant="bold-italic">k</mml:mi>
</mml:msub>
<mml:mo>&#xd7;</mml:mo>
<mml:msub>
<mml:mi mathvariant="bold-italic">l</mml:mi>
<mml:mi mathvariant="bold-italic">k</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> matrices, <inline-formula id="inf271">
<mml:math id="m294">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">A</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>, <inline-formula id="inf272">
<mml:math id="m295">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">B</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> and <inline-formula id="inf273">
<mml:math id="m296">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">C</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>, requires <inline-formula id="inf274">
<mml:math id="m297">
<mml:mrow>
<mml:mn>6</mml:mn>
<mml:msubsup>
<mml:mi mathvariant="bold-italic">l</mml:mi>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mn>2</mml:mn>
</mml:msubsup>
<mml:mi mathvariant="bold-italic">n</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1.5</mml:mn>
<mml:msup>
<mml:mi mathvariant="bold-italic">m</mml:mi>
<mml:mn>2</mml:mn>
</mml:msup>
<mml:mi mathvariant="bold-italic">n</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> flops. We also need to compute the vector <inline-formula id="inf275">
<mml:math id="m298">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">u</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">V</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msup>
</mml:mrow>
<mml:mo>]</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mi mathvariant="bold-italic">T</mml:mi>
</mml:msup>
<mml:msup>
<mml:mi mathvariant="bold-italic">g</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> (<inline-formula id="inf276">
<mml:math id="m299">
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:mi mathvariant="bold-italic">mn</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> flops) and <inline-formula id="inf277">
<mml:math id="m300">
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mo>&#x2016;</mml:mo>
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">g</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
</mml:mrow>
<mml:mo>&#x2016;</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mn>2</mml:mn>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> (<inline-formula id="inf278">
<mml:math id="m301">
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:mi mathvariant="bold-italic">n</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> flops). To further reduce the computational cost, the three matrices <inline-formula id="inf279">
<mml:math id="m302">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">A</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>, <inline-formula id="inf280">
<mml:math id="m303">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">B</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> and <inline-formula id="inf281">
<mml:math id="m304">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">C</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> and the vector <inline-formula id="inf282">
<mml:math id="m305">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">u</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> should be updated iteratively instead.</p>
</sec>
<sec id="s3-7">
<title>Updating Matrices and Vectors Used for Solving the L-BFGS TRS</title>
<p>We first initialize <inline-formula id="inf283">
<mml:math id="m306">
<mml:mrow>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula> and <inline-formula id="inf284">
<mml:math id="m307">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">H</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mn>0</mml:mn>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mi mathvariant="bold-italic">I</mml:mi>
<mml:mi mathvariant="bold-italic">n</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>. If the trial search point <inline-formula id="inf285">
<mml:math id="m308">
<mml:mrow>
<mml:msubsup>
<mml:mi mathvariant="bold-italic">x</mml:mi>
<mml:mi mathvariant="bold-italic">T</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mn>0</mml:mn>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mi mathvariant="bold-italic">x</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mn>0</mml:mn>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo>&#x2b;</mml:mo>
<mml:msup>
<mml:mi mathvariant="bold-italic">s</mml:mi>
<mml:mrow>
<mml:mi mathvariant="bold-italic">&#x2a;</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mn>0</mml:mn>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> does not improve the objective function, i.e.,&#x20;<inline-formula id="inf286">
<mml:math id="m309">
<mml:mrow>
<mml:mi mathvariant="bold-italic">f</mml:mi>
<mml:mo>(</mml:mo>
<mml:msubsup>
<mml:mi mathvariant="bold-italic">x</mml:mi>
<mml:mi mathvariant="bold-italic">T</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mn>0</mml:mn>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msubsup>
<mml:mo>(</mml:mo>
<mml:mo>&#x2265;</mml:mo>
<mml:mi mathvariant="bold-italic">f</mml:mi>
<mml:mo>(</mml:mo>
<mml:msup>
<mml:mi mathvariant="bold-italic">x</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mn>0</mml:mn>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula>, we set <inline-formula id="inf287">
<mml:math id="m310">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">x</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mi mathvariant="bold-italic">x</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mn>0</mml:mn>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> and <inline-formula id="inf288">
<mml:math id="m311">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">H</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mi mathvariant="bold-italic">H</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mn>0</mml:mn>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>, recompute the sensitivity matrix <inline-formula id="inf289">
<mml:math id="m312">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">J</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo>&#x3d;</mml:mo>
<mml:mi mathvariant="bold-italic">J</mml:mi>
<mml:mo>(</mml:mo>
<mml:msup>
<mml:mi mathvariant="bold-italic">x</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mn>0</mml:mn>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> and the gradient <inline-formula id="inf290">
<mml:math id="m313">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">g</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo>&#x3d;</mml:mo>
<mml:mi mathvariant="bold-italic">g</mml:mi>
<mml:mo>(</mml:mo>
<mml:msup>
<mml:mi mathvariant="bold-italic">x</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mn>0</mml:mn>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> when needed (e.g., using updated training data points), and shrink the trust region size <inline-formula id="inf291">
<mml:math id="m314">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="normal">&#x394;</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mi mathvariant="bold-italic">&#x3b3;</mml:mi>
<mml:mi mathvariant="bold-italic">d</mml:mi>
</mml:msub>
<mml:msup>
<mml:mi mathvariant="normal">&#x394;</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> with <inline-formula id="inf292">
<mml:math id="m315">
<mml:mrow>
<mml:mn>0</mml:mn>
<mml:mo>&#x3c;</mml:mo>
<mml:msub>
<mml:mi mathvariant="bold-italic">&#x3b3;</mml:mi>
<mml:mi mathvariant="bold-italic">d</mml:mi>
</mml:msub>
<mml:mo>&#x3c;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula>. We repeatedly generate trial search point <inline-formula id="inf293">
<mml:math id="m316">
<mml:mrow>
<mml:msubsup>
<mml:mi mathvariant="bold-italic">x</mml:mi>
<mml:mi mathvariant="bold-italic">T</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mi mathvariant="bold-italic">x</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo>&#x2b;</mml:mo>
<mml:msup>
<mml:mi mathvariant="bold-italic">s</mml:mi>
<mml:mrow>
<mml:mi mathvariant="bold-italic">&#x2a;</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> until <inline-formula id="inf294">
<mml:math id="m317">
<mml:mrow>
<mml:msubsup>
<mml:mi mathvariant="bold-italic">x</mml:mi>
<mml:mi mathvariant="bold-italic">T</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula> improves the objective function, i.e.,&#x20;<inline-formula id="inf295">
<mml:math id="m318">
<mml:mrow>
<mml:mi mathvariant="bold-italic">f</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:msubsup>
<mml:mi mathvariant="bold-italic">x</mml:mi>
<mml:mi mathvariant="bold-italic">T</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mo>&#x3c;</mml:mo>
<mml:mi mathvariant="bold-italic">f</mml:mi>
<mml:mo>(</mml:mo>
<mml:msup>
<mml:mi mathvariant="bold-italic">x</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mn>0</mml:mn>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula>.</p>
<p>If <inline-formula id="inf296">
<mml:math id="m319">
<mml:mrow>
<mml:mi mathvariant="bold-italic">f</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:msubsup>
<mml:mi mathvariant="bold-italic">x</mml:mi>
<mml:mi mathvariant="bold-italic">T</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mo>&#x3c;</mml:mo>
<mml:mi mathvariant="bold-italic">f</mml:mi>
<mml:mo>(</mml:mo>
<mml:msup>
<mml:mi mathvariant="bold-italic">x</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mn>0</mml:mn>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula>, we set <inline-formula id="inf297">
<mml:math id="m320">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold-italic">l</mml:mi>
<mml:mi mathvariant="bold-italic">k</mml:mi>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula>, <inline-formula id="inf298">
<mml:math id="m321">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">x</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo>&#x3d;</mml:mo>
<mml:msubsup>
<mml:mi mathvariant="bold-italic">x</mml:mi>
<mml:mi mathvariant="bold-italic">T</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula>, evaluate <inline-formula id="inf299">
<mml:math id="m322">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">g</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo>&#x3d;</mml:mo>
<mml:mi mathvariant="bold-italic">g</mml:mi>
<mml:mo>(</mml:mo>
<mml:msup>
<mml:mi mathvariant="bold-italic">x</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula>, and compute <inline-formula id="inf300">
<mml:math id="m323">
<mml:mrow>
<mml:mi mathvariant="bold-italic">s</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mi mathvariant="bold-italic">x</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo>&#x2212;</mml:mo>
<mml:msup>
<mml:mi mathvariant="bold-italic">x</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> and <inline-formula id="inf301">
<mml:math id="m324">
<mml:mrow>
<mml:mi mathvariant="bold-italic">z</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mi mathvariant="bold-italic">g</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo>&#x2212;</mml:mo>
<mml:msup>
<mml:mi mathvariant="bold-italic">g</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>. In the following iterations, we update <inline-formula id="inf302">
<mml:math id="m325">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold-italic">l</mml:mi>
<mml:mi mathvariant="bold-italic">k</mml:mi>
</mml:msub>
<mml:mo>&#x2265;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula> and associated matrices and vectors used for solving the L-BFGS TRS for different cases accordingly. We use <inline-formula id="inf303">
<mml:math id="m326">
<mml:mrow>
<mml:mi mathvariant="bold-italic">Sfla</mml:mi>
<mml:msup>
<mml:mi mathvariant="bold-italic">g</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> to indicate whether the new search point <inline-formula id="inf304">
<mml:math id="m327">
<mml:mrow>
<mml:msubsup>
<mml:mi mathvariant="bold-italic">x</mml:mi>
<mml:mi mathvariant="bold-italic">T</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula> improves the objective function (<inline-formula id="inf305">
<mml:math id="m328">
<mml:mrow>
<mml:mi mathvariant="bold-italic">Sfla</mml:mi>
<mml:msup>
<mml:mi mathvariant="bold-italic">g</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
<mml:mo>&#x3d;</mml:mo>
<mml:mo>"</mml:mo>
<mml:mi mathvariant="bold-italic">True</mml:mi>
<mml:mo>"</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula>
<bold>)</bold> or not (<inline-formula id="inf306">
<mml:math id="m329">
<mml:mrow>
<mml:mi mathvariant="bold-italic">Sfla</mml:mi>
<mml:msup>
<mml:mi mathvariant="bold-italic">g</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
<mml:mo>&#x3d;</mml:mo>
<mml:mo>"</mml:mo>
<mml:mi mathvariant="bold-italic">False</mml:mi>
<mml:mo>"</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula>).</p>
<p>The L-BFGS Hessian updating formulation of <xref ref-type="disp-formula" rid="e4">Eq. 4</xref> requires <inline-formula id="inf307">
<mml:math id="m330">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">&#x3b5;</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mi mathvariant="bold-italic">z</mml:mi>
<mml:mi mathvariant="bold-italic">T</mml:mi>
</mml:msup>
<mml:mi mathvariant="bold-italic">s</mml:mi>
<mml:mo>&#x3e;</mml:mo>
<mml:msub>
<mml:mi mathvariant="bold-italic">c</mml:mi>
<mml:mn>3</mml:mn>
</mml:msub>
<mml:mo>&#x2016;</mml:mo>
<mml:mi mathvariant="bold-italic">z</mml:mi>
<mml:mo>&#x2016;</mml:mo>
<mml:mo>&#x2016;</mml:mo>
<mml:mi mathvariant="bold-italic">s</mml:mi>
<mml:mo>&#x2016;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> and <inline-formula id="inf308">
<mml:math id="m331">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">&#x3b1;</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo>&#x3d;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">z</mml:mi>
<mml:mi mathvariant="bold-italic">T</mml:mi>
</mml:msup>
<mml:mi mathvariant="bold-italic">z</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">z</mml:mi>
<mml:mi mathvariant="bold-italic">T</mml:mi>
</mml:msup>
<mml:mi mathvariant="bold-italic">s</mml:mi>
</mml:mrow>
</mml:mfrac>
<mml:mo>&#x3e;</mml:mo>
<mml:msub>
<mml:mi mathvariant="bold-italic">&#x3b1;</mml:mi>
<mml:mrow>
<mml:mi mathvariant="bold-italic">cr</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3e;</mml:mo>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula> where <inline-formula id="inf309">
<mml:math id="m332">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold-italic">c</mml:mi>
<mml:mn>3</mml:mn>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> and <inline-formula id="inf310">
<mml:math id="m333">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold-italic">&#x3b1;</mml:mi>
<mml:mrow>
<mml:mi mathvariant="bold-italic">cr</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> are small positive numbers. If <inline-formula id="inf311">
<mml:math id="m334">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">&#x3b5;</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
<mml:mo>&#x2264;</mml:mo>
<mml:msub>
<mml:mi mathvariant="bold-italic">c</mml:mi>
<mml:mn>3</mml:mn>
</mml:msub>
<mml:mo>&#x2016;</mml:mo>
<mml:mi mathvariant="bold-italic">z</mml:mi>
<mml:mo>&#x2016;</mml:mo>
<mml:mo>&#x2016;</mml:mo>
<mml:mi mathvariant="bold-italic">s</mml:mi>
<mml:mo>&#x2016;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> or <inline-formula id="inf312">
<mml:math id="m335">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">&#x3b1;</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo>&#x2264;</mml:mo>
<mml:msub>
<mml:mi mathvariant="bold-italic">&#x3b1;</mml:mi>
<mml:mrow>
<mml:mi mathvariant="bold-italic">cr</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>, we simply set <inline-formula id="inf313">
<mml:math id="m336">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold-italic">l</mml:mi>
<mml:mi mathvariant="bold-italic">k</mml:mi>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mi mathvariant="bold-italic">l</mml:mi>
<mml:mrow>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>, <inline-formula id="inf314">
<mml:math id="m337">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">s</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:msub>
<mml:mi mathvariant="bold-italic">l</mml:mi>
<mml:mi mathvariant="bold-italic">k</mml:mi>
</mml:msub>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mi mathvariant="bold-italic">s</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:msub>
<mml:mi mathvariant="bold-italic">l</mml:mi>
<mml:mrow>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>, <inline-formula id="inf315">
<mml:math id="m338">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">z</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:msub>
<mml:mi mathvariant="bold-italic">l</mml:mi>
<mml:mi mathvariant="bold-italic">k</mml:mi>
</mml:msub>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mi mathvariant="bold-italic">z</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:msub>
<mml:mi mathvariant="bold-italic">l</mml:mi>
<mml:mrow>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>, <inline-formula id="inf316">
<mml:math id="m339">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">&#x3b1;</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mi mathvariant="bold-italic">&#x3b1;</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>, <inline-formula id="inf317">
<mml:math id="m340">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">S</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mi mathvariant="bold-italic">S</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>, <inline-formula id="inf318">
<mml:math id="m341">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">Z</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mi mathvariant="bold-italic">Z</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>, <inline-formula id="inf319">
<mml:math id="m342">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">A</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mi mathvariant="bold-italic">A</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>, <inline-formula id="inf320">
<mml:math id="m343">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">B</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mi mathvariant="bold-italic">B</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>, <inline-formula id="inf321">
<mml:math id="m344">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">C</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mi mathvariant="bold-italic">C</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>, and <inline-formula id="inf322">
<mml:math id="m345">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">P</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mi mathvariant="bold-italic">P</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>, with no updating. However, we need to compute <inline-formula id="inf323">
<mml:math id="m346">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">u</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">S</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="bold-italic">&#xa0;&#xa0;&#xa0;</mml:mi>
<mml:msup>
<mml:mi mathvariant="bold-italic">Z</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
</mml:mrow>
<mml:mo>]</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mi mathvariant="bold-italic">T</mml:mi>
</mml:msup>
<mml:msup>
<mml:mi mathvariant="bold-italic">g</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> using the new gradient <inline-formula id="inf324">
<mml:math id="m347">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">g</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>. In the following cases, we assume that both conditions <inline-formula id="inf325">
<mml:math id="m348">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">&#x3b5;</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
<mml:mo>&#x3e;</mml:mo>
<mml:msub>
<mml:mi mathvariant="bold-italic">c</mml:mi>
<mml:mn>3</mml:mn>
</mml:msub>
<mml:mo>&#x2016;</mml:mo>
<mml:mi mathvariant="bold-italic">z</mml:mi>
<mml:mo>&#x2016;</mml:mo>
<mml:mo>&#x2016;</mml:mo>
<mml:mi mathvariant="bold-italic">s</mml:mi>
<mml:mo>&#x2016;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> and <inline-formula id="inf326">
<mml:math id="m349">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">&#x3b1;</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo>&#x3e;</mml:mo>
<mml:msub>
<mml:mi mathvariant="bold-italic">&#x3b1;</mml:mi>
<mml:mrow>
<mml:mi mathvariant="bold-italic">cr</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> are satisfied.</p>
<sec id="s3-7-1">
<title>Case-1: <bold>
<italic>Sflag</italic>
</bold>
<sup>(k)</sup> &#x3d; &#x201c;<bold>
<italic>False</italic>
</bold>&#x201d;</title>
<p>Although the best solution <inline-formula id="inf327">
<mml:math id="m350">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">x</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> does not change when <bold>
<italic>Sflag</italic>
</bold>
<sup>(k)</sup>&#x20;&#x3d;&#x20;&#x201c;<bold>
<italic>False</italic>
</bold>&#x201d;, the sensitivity matrix <inline-formula id="inf328">
<mml:math id="m351">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">J</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> and thus the gradient of the objective function <inline-formula id="inf329">
<mml:math id="m352">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">g</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> evaluated at <inline-formula id="inf330">
<mml:math id="m353">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">x</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> using simulation results and training data points updated in the <inline-formula id="inf331">
<mml:math id="m354">
<mml:mrow>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula> (current) iteration may be different from those evaluated at the same point but using simulation results and training data points obtained in the <inline-formula id="inf332">
<mml:math id="m355">
<mml:mi mathvariant="bold-italic">k</mml:mi>
</mml:math>
</inline-formula> (previous) iteration. To use the right gradient, we should replace the last column in <inline-formula id="inf333">
<mml:math id="m356">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">Z</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> with&#x20;<inline-formula id="inf334">
<mml:math id="m357">
<mml:mi mathvariant="bold-italic">z</mml:mi>
</mml:math>
</inline-formula>.</p>
<p>Let <inline-formula id="inf335">
<mml:math id="m358">
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mover accent="true">
<mml:mi mathvariant="bold-italic">Z</mml:mi>
<mml:mo>&#x2dc;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> be the submatrix of <inline-formula id="inf336">
<mml:math id="m359">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">Z</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> by removing its last column <inline-formula id="inf337">
<mml:math id="m360">
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mover accent="true">
<mml:mi mathvariant="bold-italic">z</mml:mi>
<mml:mo>&#x2dc;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold-italic">l</mml:mi>
<mml:mrow>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>, <inline-formula id="inf338">
<mml:math id="m361">
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mover accent="true">
<mml:mi mathvariant="bold-italic">B</mml:mi>
<mml:mo>&#x2dc;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">S</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
</mml:mrow>
<mml:mo>]</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mi mathvariant="bold-italic">T</mml:mi>
</mml:msup>
<mml:msup>
<mml:mrow>
<mml:mover accent="true">
<mml:mi mathvariant="bold-italic">Z</mml:mi>
<mml:mo>&#x2dc;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> the submatrix of <inline-formula id="inf339">
<mml:math id="m362">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">B</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">S</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
</mml:mrow>
<mml:mo>]</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mi mathvariant="bold-italic">T</mml:mi>
</mml:msup>
<mml:msup>
<mml:mi mathvariant="bold-italic">Z</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> by removing its last column, and <inline-formula id="inf340">
<mml:math id="m363">
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mover accent="true">
<mml:mi mathvariant="bold-italic">C</mml:mi>
<mml:mo>&#x2dc;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mover accent="true">
<mml:mi mathvariant="bold-italic">Z</mml:mi>
<mml:mo>&#x2dc;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
</mml:mrow>
<mml:mo>]</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mi mathvariant="bold-italic">T</mml:mi>
</mml:msup>
<mml:msup>
<mml:mrow>
<mml:mover accent="true">
<mml:mi mathvariant="bold-italic">Z</mml:mi>
<mml:mo>&#x2dc;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> the submatrix of <inline-formula id="inf341">
<mml:math id="m364">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">C</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">Z</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
</mml:mrow>
<mml:mo>]</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mi mathvariant="bold-italic">T</mml:mi>
</mml:msup>
<mml:msup>
<mml:mi mathvariant="bold-italic">Z</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> by removing its last row and last column. We first compute the following two vectors <inline-formula id="inf342">
<mml:math id="m365">
<mml:mrow>
<mml:msubsup>
<mml:mi mathvariant="bold-italic">p</mml:mi>
<mml:mn>2</mml:mn>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">S</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
</mml:mrow>
<mml:mo>]</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mi mathvariant="bold-italic">T</mml:mi>
</mml:msup>
<mml:mi mathvariant="bold-italic">z</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> and <inline-formula id="inf343">
<mml:math id="m366">
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mover accent="true">
<mml:mi mathvariant="bold-italic">p</mml:mi>
<mml:mo>&#x2dc;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mn>4</mml:mn>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mover accent="true">
<mml:mi mathvariant="bold-italic">Z</mml:mi>
<mml:mo>&#x2dc;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
</mml:mrow>
<mml:mo>]</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mi mathvariant="bold-italic">T</mml:mi>
</mml:msup>
<mml:mi mathvariant="bold-italic">z</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> and two scalars <inline-formula id="inf344">
<mml:math id="m367">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">&#x3bc;</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mi mathvariant="bold-italic">z</mml:mi>
<mml:mi mathvariant="bold-italic">T</mml:mi>
</mml:msup>
<mml:mi mathvariant="bold-italic">z</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> and <inline-formula id="inf345">
<mml:math id="m368">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">&#x3c4;</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mi mathvariant="bold-italic">z</mml:mi>
<mml:mi mathvariant="bold-italic">T</mml:mi>
</mml:msup>
<mml:msup>
<mml:mi mathvariant="bold-italic">g</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
<mml:mo>&#x2212;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mover accent="true">
<mml:mi mathvariant="bold-italic">z</mml:mi>
<mml:mo>&#x2dc;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold-italic">l</mml:mi>
<mml:mrow>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
</mml:mrow>
<mml:mo>]</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mi mathvariant="bold-italic">T</mml:mi>
</mml:msup>
<mml:msup>
<mml:mi mathvariant="bold-italic">g</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>, with computational cost <inline-formula id="inf346">
<mml:math id="m369">
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:mi mathvariant="bold-italic">mn</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>&#x20;flops.</p>
<p>We set <inline-formula id="inf347">
<mml:math id="m370">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold-italic">l</mml:mi>
<mml:mi mathvariant="bold-italic">k</mml:mi>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mi mathvariant="bold-italic">l</mml:mi>
<mml:mrow>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>, <inline-formula id="inf348">
<mml:math id="m371">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">s</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:msub>
<mml:mi mathvariant="bold-italic">l</mml:mi>
<mml:mi mathvariant="bold-italic">k</mml:mi>
</mml:msub>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mi mathvariant="bold-italic">s</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:msub>
<mml:mi mathvariant="bold-italic">l</mml:mi>
<mml:mrow>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>, <inline-formula id="inf349">
<mml:math id="m372">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">z</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:msub>
<mml:mi mathvariant="bold-italic">l</mml:mi>
<mml:mi mathvariant="bold-italic">k</mml:mi>
</mml:msub>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo>&#x3d;</mml:mo>
<mml:mi mathvariant="bold-italic">z</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>, <inline-formula id="inf350">
<mml:math id="m373">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">S</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mi mathvariant="bold-italic">S</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>, and <inline-formula id="inf351">
<mml:math id="m374">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">A</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mi mathvariant="bold-italic">A</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>, and Update <inline-formula id="inf352">
<mml:math id="m375">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">Z</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> as,<disp-formula id="e24">
<mml:math id="m376">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">Z</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo>&#x3d;</mml:mo>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mover accent="true">
<mml:mi mathvariant="bold-italic">Z</mml:mi>
<mml:mo>&#x2dc;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
<mml:mi mathvariant="bold-italic">&#xa0;&#xa0;&#xa0;z</mml:mi>
</mml:mrow>
<mml:mo>]</mml:mo>
</mml:mrow>
<mml:mo>.</mml:mo>
</mml:mrow>
</mml:math>
<label>(24)</label>
</disp-formula>It is straightforward to derive the following equations to update <inline-formula id="inf353">
<mml:math id="m377">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">B</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> and <inline-formula id="inf354">
<mml:math id="m378">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">C</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> accordingly,<disp-formula id="e25">
<mml:math id="m379">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">B</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">S</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
</mml:mrow>
<mml:mo>]</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mi mathvariant="bold-italic">T</mml:mi>
</mml:msup>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mover accent="true">
<mml:mi mathvariant="bold-italic">Z</mml:mi>
<mml:mo>&#x2dc;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
<mml:mi mathvariant="bold-italic">&#xa0;&#xa0;z&#xa0;</mml:mi>
</mml:mrow>
<mml:mo>]</mml:mo>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mover accent="true">
<mml:mi mathvariant="bold-italic">B</mml:mi>
<mml:mo>&#x2dc;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
<mml:mi mathvariant="bold-italic">&#xa0;&#xa0;&#xa0;</mml:mi>
<mml:msubsup>
<mml:mi mathvariant="bold-italic">p</mml:mi>
<mml:mn>2</mml:mn>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
<mml:mo>]</mml:mo>
</mml:mrow>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:math>
<label>(25)</label>
</disp-formula>
<disp-formula id="e26">
<mml:math id="m380">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">C</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
<mml:mo>&#x3d;</mml:mo>
<mml:mrow>
<mml:mo>{</mml:mo>
<mml:mrow>
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mover accent="true">
<mml:mi mathvariant="bold-italic">Z</mml:mi>
<mml:mo>&#x2dc;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
</mml:mrow>
<mml:mo>]</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mi mathvariant="bold-italic">T</mml:mi>
</mml:msup>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mo>&#xa0;</mml:mo>
<mml:msup>
<mml:mi mathvariant="bold-italic">z</mml:mi>
<mml:mi mathvariant="bold-italic">T</mml:mi>
</mml:msup>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
<mml:mo>}</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mover accent="true">
<mml:mi mathvariant="bold-italic">Z</mml:mi>
<mml:mo>&#x2dc;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
<mml:mi mathvariant="bold-italic">&#xa0;&#xa0;&#xa0;z&#xa0;</mml:mi>
</mml:mrow>
<mml:mo>]</mml:mo>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:mrow>
<mml:mo>{</mml:mo>
<mml:mrow>
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mover accent="true">
<mml:mi mathvariant="bold-italic">C</mml:mi>
<mml:mo>&#x2dc;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
<mml:mo>&#xa0;</mml:mo>
<mml:mo>&#xa0;</mml:mo>
<mml:mo>&#xa0;</mml:mo>
<mml:mo>&#xa0;</mml:mo>
<mml:mo>&#xa0;</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mover accent="true">
<mml:mi mathvariant="bold-italic">p</mml:mi>
<mml:mo>&#x2dc;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mn>4</mml:mn>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mover accent="true">
<mml:mi mathvariant="bold-italic">p</mml:mi>
<mml:mo>&#x2dc;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mn>4</mml:mn>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
<mml:mo>]</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mi mathvariant="bold-italic">T</mml:mi>
</mml:msup>
<mml:mo>&#xa0;</mml:mo>
<mml:mo>&#xa0;</mml:mo>
<mml:mo>&#xa0;</mml:mo>
<mml:mo>&#xa0;</mml:mo>
<mml:msup>
<mml:mi mathvariant="bold-italic">&#x3bc;</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
<mml:mo>&#xa0;</mml:mo>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
<mml:mo>}</mml:mo>
</mml:mrow>
<mml:mo>.</mml:mo>
</mml:mrow>
</mml:math>
<label>(26)</label>
</disp-formula>By definition,<disp-formula id="equ1">
<mml:math id="m381">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">u</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">S</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="bold-italic">&#xa0;&#xa0;&#xa0;</mml:mi>
<mml:msup>
<mml:mi mathvariant="bold-italic">Z</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
</mml:mrow>
<mml:mo>]</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mi mathvariant="bold-italic">T</mml:mi>
</mml:msup>
<mml:msup>
<mml:mi mathvariant="bold-italic">g</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">S</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="bold-italic">&#xa0;&#xa0;&#xa0;</mml:mi>
<mml:msup>
<mml:mrow>
<mml:mover accent="true">
<mml:mi mathvariant="bold-italic">Z</mml:mi>
<mml:mo>&#x2dc;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
<mml:mo>,</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mover accent="true">
<mml:mi mathvariant="bold-italic">z</mml:mi>
<mml:mo>&#x2dc;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold-italic">l</mml:mi>
<mml:mrow>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
</mml:mrow>
<mml:mo>]</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mi mathvariant="bold-italic">T</mml:mi>
</mml:msup>
<mml:msup>
<mml:mi mathvariant="bold-italic">g</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</disp-formula>
<disp-formula id="equ2">
<mml:math id="m382">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">u</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
<mml:mo>&#x3d;</mml:mo>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">S</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="bold-italic">&#xa0;&#xa0;&#xa0;</mml:mi>
<mml:msup>
<mml:mi mathvariant="bold-italic">Z</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
</mml:mrow>
<mml:mo>]</mml:mo>
</mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">g</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">S</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="bold-italic">&#xa0;&#xa0;&#xa0;</mml:mi>
<mml:msup>
<mml:mrow>
<mml:mover accent="true">
<mml:mi mathvariant="bold-italic">Z</mml:mi>
<mml:mo>&#x2dc;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="bold-italic">z</mml:mi>
</mml:mrow>
<mml:mo>]</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mi mathvariant="bold-italic">T</mml:mi>
</mml:msup>
<mml:msup>
<mml:mi mathvariant="bold-italic">g</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</disp-formula>Thus, we have,<disp-formula id="e27">
<mml:math id="m383">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">u</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mi mathvariant="bold-italic">u</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
<mml:mo>&#x2b;</mml:mo>
<mml:mrow>
<mml:mo>{</mml:mo>
<mml:mrow>
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">S</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="bold-italic">&#xa0;&#xa0;&#xa0;</mml:mi>
<mml:msup>
<mml:mrow>
<mml:mover accent="true">
<mml:mi mathvariant="bold-italic">Z</mml:mi>
<mml:mo>&#x2dc;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
</mml:mrow>
<mml:mo>]</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mi mathvariant="bold-italic">T</mml:mi>
</mml:msup>
<mml:mi>z</mml:mi>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">z</mml:mi>
<mml:mi mathvariant="bold-italic">T</mml:mi>
</mml:msup>
<mml:msup>
<mml:mi mathvariant="bold-italic">g</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
<mml:mo>&#x2212;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mover accent="true">
<mml:mi mathvariant="bold-italic">z</mml:mi>
<mml:mo>&#x2dc;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold-italic">l</mml:mi>
<mml:mrow>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
</mml:mrow>
<mml:mo>]</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mi mathvariant="bold-italic">T</mml:mi>
</mml:msup>
<mml:msup>
<mml:mi mathvariant="bold-italic">g</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
<mml:mo>}</mml:mo>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mi mathvariant="bold-italic">u</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
<mml:mo>&#x2b;</mml:mo>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msubsup>
<mml:mi mathvariant="bold-italic">p</mml:mi>
<mml:mn>2</mml:mn>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mover accent="true">
<mml:mi mathvariant="bold-italic">p</mml:mi>
<mml:mo>&#x2dc;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mn>4</mml:mn>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">&#x3c4;</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
<mml:mo>]</mml:mo>
</mml:mrow>
<mml:mo>.</mml:mo>
</mml:mrow>
</mml:math>
<label>(27)</label>
</disp-formula>
</p>
<sec id="s3-8-1">
<title>Case-2: <bold>
<italic>Sflag</italic>
</bold>
<sup>(k)</sup> &#x3d; &#x201c;<bold>
<italic>True</italic>
</bold>&#x201d; and <bold>
<italic>l</italic>
</bold>
<sub>
<bold>
<italic>k&#x2212;</italic>
</bold>1</sub> &#x3c; <bold>
<italic>L</italic>
</bold>
<sub>
<bold>
<italic>M</italic>
</bold>
</sub>
</title>
<p>We set <inline-formula id="inf355">
<mml:math id="m384">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold-italic">l</mml:mi>
<mml:mi mathvariant="bold-italic">k</mml:mi>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mi mathvariant="bold-italic">l</mml:mi>
<mml:mrow>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula> and <inline-formula id="inf356">
<mml:math id="m385">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">s</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:msub>
<mml:mi mathvariant="bold-italic">l</mml:mi>
<mml:mi mathvariant="bold-italic">k</mml:mi>
</mml:msub>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo>&#x3d;</mml:mo>
<mml:mi mathvariant="bold-italic">s</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> and <inline-formula id="inf357">
<mml:math id="m386">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">z</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:msub>
<mml:mi mathvariant="bold-italic">l</mml:mi>
<mml:mi mathvariant="bold-italic">k</mml:mi>
</mml:msub>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo>&#x3d;</mml:mo>
<mml:mi mathvariant="bold-italic">z</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>, compute four <inline-formula id="inf358">
<mml:math id="m387">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold-italic">l</mml:mi>
<mml:mrow>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>-dimensional vectors <inline-formula id="inf359">
<mml:math id="m388">
<mml:mrow>
<mml:msubsup>
<mml:mi mathvariant="bold-italic">p</mml:mi>
<mml:mn>1</mml:mn>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">S</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
</mml:mrow>
<mml:mo>]</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mi mathvariant="bold-italic">T</mml:mi>
</mml:msup>
<mml:mi mathvariant="bold-italic">s</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> and <inline-formula id="inf360">
<mml:math id="m389">
<mml:mrow>
<mml:msubsup>
<mml:mi mathvariant="bold-italic">p</mml:mi>
<mml:mn>2</mml:mn>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">S</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
</mml:mrow>
<mml:mo>]</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mi mathvariant="bold-italic">T</mml:mi>
</mml:msup>
<mml:mi mathvariant="bold-italic">z</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> and <inline-formula id="inf361">
<mml:math id="m390">
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:msubsup>
<mml:mi mathvariant="bold-italic">p</mml:mi>
<mml:mn>3</mml:mn>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
<mml:mo>]</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mi mathvariant="bold-italic">T</mml:mi>
</mml:msup>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mi mathvariant="bold-italic">s</mml:mi>
<mml:mi mathvariant="bold-italic">T</mml:mi>
</mml:msup>
<mml:msup>
<mml:mi mathvariant="bold-italic">Z</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> and <inline-formula id="inf362">
<mml:math id="m391">
<mml:mrow>
<mml:msubsup>
<mml:mi mathvariant="bold-italic">p</mml:mi>
<mml:mn>4</mml:mn>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">Z</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
</mml:mrow>
<mml:mo>]</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mi mathvariant="bold-italic">T</mml:mi>
</mml:msup>
<mml:mi mathvariant="bold-italic">z</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> and five scalars, <inline-formula id="inf363">
<mml:math id="m392">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">&#x3b2;</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mi mathvariant="bold-italic">s</mml:mi>
<mml:mi mathvariant="bold-italic">T</mml:mi>
</mml:msup>
<mml:mi mathvariant="bold-italic">s</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> and <inline-formula id="inf364">
<mml:math id="m393">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">&#x3b5;</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mi mathvariant="bold-italic">s</mml:mi>
<mml:mi mathvariant="bold-italic">T</mml:mi>
</mml:msup>
<mml:mi mathvariant="bold-italic">z</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> and <inline-formula id="inf365">
<mml:math id="m394">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">&#x3bc;</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mi mathvariant="bold-italic">z</mml:mi>
<mml:mi mathvariant="bold-italic">T</mml:mi>
</mml:msup>
<mml:mi mathvariant="bold-italic">z</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> and <inline-formula id="inf366">
<mml:math id="m395">
<mml:mrow>
<mml:msubsup>
<mml:mi mathvariant="bold-italic">&#x3b3;</mml:mi>
<mml:mi mathvariant="bold-italic">s</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mi mathvariant="bold-italic">s</mml:mi>
<mml:mi mathvariant="bold-italic">T</mml:mi>
</mml:msup>
<mml:msup>
<mml:mi mathvariant="bold-italic">g</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> and <inline-formula id="inf367">
<mml:math id="m396">
<mml:mrow>
<mml:msubsup>
<mml:mi mathvariant="bold-italic">&#x3b3;</mml:mi>
<mml:mi mathvariant="bold-italic">z</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mi mathvariant="bold-italic">z</mml:mi>
<mml:mi mathvariant="bold-italic">T</mml:mi>
</mml:msup>
<mml:msup>
<mml:mi mathvariant="bold-italic">g</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>, with computational cost <inline-formula id="inf368">
<mml:math id="m397">
<mml:mrow>
<mml:mn>4</mml:mn>
<mml:mi mathvariant="bold-italic">mn</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> flops. Both <inline-formula id="inf369">
<mml:math id="m398">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">S</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> and <inline-formula id="inf370">
<mml:math id="m399">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">Z</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> are updated by,<disp-formula id="e28">
<mml:math id="m400">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">S</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
<mml:mo>&#x3d;</mml:mo>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">S</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
<mml:mi mathvariant="bold-italic">&#xa0;&#xa0;&#xa0;&#xa0;s</mml:mi>
</mml:mrow>
<mml:mo>]</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
<label>(28)</label>
</disp-formula>
<disp-formula id="e29">
<mml:math id="m401">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">Z</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
<mml:mo>&#x3d;</mml:mo>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">Z</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
<mml:mi mathvariant="bold-italic">&#xa0;&#xa0;&#xa0;z</mml:mi>
</mml:mrow>
<mml:mo>]</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
<label>(29)</label>
</disp-formula>It is straightforward to derive the following equations to update <bold>
<italic>A</italic>
</bold>
<sup>(<bold>
<italic>k</italic>
</bold>)</sup>, <bold>
<italic>B</italic>
</bold>
<sup>(<bold>
<italic>k</italic>
</bold>)</sup>, and <bold>
<italic>C</italic>
</bold>
<sup>(<bold>
<italic>k</italic>
</bold>)</sup>,<disp-formula id="e30">
<mml:math id="m402">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">A</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">S</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
<mml:mi mathvariant="bold-italic">&#xa0;&#xa0;s</mml:mi>
</mml:mrow>
<mml:mo>]</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mi mathvariant="bold-italic">T</mml:mi>
</mml:msup>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">S</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
<mml:mi mathvariant="bold-italic">&#xa0;&#xa0;s&#xa0;</mml:mi>
</mml:mrow>
<mml:mo>]</mml:mo>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:mrow>
<mml:mo>{</mml:mo>
<mml:mrow>
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">A</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
<mml:mo>&#xa0;</mml:mo>
<mml:mo>&#xa0;</mml:mo>
<mml:mo>&#xa0;</mml:mo>
<mml:mo>&#xa0;</mml:mo>
<mml:mo>&#xa0;</mml:mo>
<mml:mo>&#xa0;</mml:mo>
<mml:mo>&#xa0;</mml:mo>
<mml:msubsup>
<mml:mi mathvariant="bold-italic">p</mml:mi>
<mml:mn>1</mml:mn>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:mi mathvariant="bold-italic">&#xa0;</mml:mi>
<mml:msubsup>
<mml:mi mathvariant="bold-italic">p</mml:mi>
<mml:mn>1</mml:mn>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
<mml:mo>]</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mi mathvariant="bold-italic">T</mml:mi>
</mml:msup>
<mml:mo>&#xa0;</mml:mo>
<mml:mo>&#xa0;</mml:mo>
<mml:mo>&#xa0;</mml:mo>
<mml:mo>&#xa0;</mml:mo>
<mml:mo>&#xa0;</mml:mo>
<mml:msup>
<mml:mi mathvariant="bold-italic">&#x3b2;</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
<mml:mo>}</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
<label>(30)</label>
</disp-formula>
<disp-formula id="e31">
<mml:math id="m403">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">B</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">S</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
<mml:mi mathvariant="bold-italic">&#xa0;&#xa0;s</mml:mi>
</mml:mrow>
<mml:mo>]</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mi mathvariant="bold-italic">T</mml:mi>
</mml:msup>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">Z</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
<mml:mi mathvariant="bold-italic">&#xa0;&#xa0;z&#xa0;</mml:mi>
</mml:mrow>
<mml:mo>]</mml:mo>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:mrow>
<mml:mo>{</mml:mo>
<mml:mrow>
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">B</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
<mml:mo>&#xa0;</mml:mo>
<mml:mo>&#xa0;</mml:mo>
<mml:mo>&#xa0;</mml:mo>
<mml:mo>&#xa0;</mml:mo>
<mml:mo>&#xa0;</mml:mo>
<mml:mo>&#xa0;</mml:mo>
<mml:msubsup>
<mml:mi mathvariant="bold-italic">p</mml:mi>
<mml:mn>2</mml:mn>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:msubsup>
<mml:mi mathvariant="bold-italic">p</mml:mi>
<mml:mn>3</mml:mn>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
<mml:mo>]</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mi mathvariant="bold-italic">T</mml:mi>
</mml:msup>
<mml:mo>&#xa0;</mml:mo>
<mml:mo>&#xa0;</mml:mo>
<mml:mo>&#xa0;</mml:mo>
<mml:mo>&#xa0;</mml:mo>
<mml:mo>&#xa0;</mml:mo>
<mml:msup>
<mml:mi mathvariant="bold-italic">&#x3b5;</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
<mml:mo>}</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
<label>(31)</label>
</disp-formula>
<disp-formula id="e32">
<mml:math id="m404">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">C</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">Z</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
<mml:mi mathvariant="bold-italic">&#xa0;&#xa0;Z</mml:mi>
</mml:mrow>
<mml:mo>]</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mi mathvariant="bold-italic">T</mml:mi>
</mml:msup>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">Z</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
<mml:mi mathvariant="bold-italic">&#xa0;&#xa0;z&#xa0;</mml:mi>
</mml:mrow>
<mml:mo>]</mml:mo>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:mrow>
<mml:mo>{</mml:mo>
<mml:mrow>
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">C</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
<mml:mo>&#xa0;</mml:mo>
<mml:mo>&#xa0;</mml:mo>
<mml:mo>&#xa0;</mml:mo>
<mml:mo>&#xa0;</mml:mo>
<mml:mo>&#xa0;</mml:mo>
<mml:mo>&#xa0;</mml:mo>
<mml:msubsup>
<mml:mi mathvariant="bold-italic">p</mml:mi>
<mml:mn>4</mml:mn>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:msubsup>
<mml:mi mathvariant="bold-italic">p</mml:mi>
<mml:mn>4</mml:mn>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
<mml:mo>]</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mi mathvariant="bold-italic">T</mml:mi>
</mml:msup>
<mml:mo>&#xa0;</mml:mo>
<mml:mo>&#xa0;</mml:mo>
<mml:mo>&#xa0;</mml:mo>
<mml:mo>&#xa0;</mml:mo>
<mml:msup>
<mml:mi mathvariant="bold-italic">&#x3bc;</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
<mml:mo>}</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
<label>(32)</label>
</disp-formula>We first split the <inline-formula id="inf371">
<mml:math id="m405">
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:msub>
<mml:mi mathvariant="bold-italic">l</mml:mi>
<mml:mrow>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>-dimensional vector <inline-formula id="inf372">
<mml:math id="m406">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">u</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> into two <inline-formula id="inf373">
<mml:math id="m407">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold-italic">l</mml:mi>
<mml:mrow>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>-dimensional sub-vectors <inline-formula id="inf374">
<mml:math id="m408">
<mml:mrow>
<mml:msubsup>
<mml:mi mathvariant="bold-italic">u</mml:mi>
<mml:mi mathvariant="bold-italic">S</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula> and <inline-formula id="inf375">
<mml:math id="m409">
<mml:mrow>
<mml:msubsup>
<mml:mi mathvariant="bold-italic">u</mml:mi>
<mml:mi mathvariant="bold-italic">Z</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula>, i.e.,<disp-formula id="equ3">
<mml:math id="m410">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">u</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">S</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="bold-italic">&#xa0;&#xa0;&#xa0;</mml:mi>
<mml:msup>
<mml:mi mathvariant="bold-italic">Z</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
</mml:mrow>
<mml:mo>]</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mi mathvariant="bold-italic">T</mml:mi>
</mml:msup>
<mml:msup>
<mml:mi mathvariant="bold-italic">g</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
<mml:mo>&#x3d;</mml:mo>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msubsup>
<mml:mi mathvariant="bold-italic">u</mml:mi>
<mml:mi mathvariant="bold-italic">S</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msubsup>
<mml:mi mathvariant="bold-italic">u</mml:mi>
<mml:mi mathvariant="bold-italic">Z</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
<mml:mo>]</mml:mo>
</mml:mrow>
<mml:mo>.</mml:mo>
</mml:mrow>
</mml:math>
</disp-formula>where <inline-formula id="inf376">
<mml:math id="m411">
<mml:mrow>
<mml:msubsup>
<mml:mi mathvariant="bold-italic">u</mml:mi>
<mml:mi mathvariant="bold-italic">S</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">S</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
</mml:mrow>
<mml:mo>]</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mi mathvariant="bold-italic">T</mml:mi>
</mml:msup>
<mml:msup>
<mml:mi mathvariant="bold-italic">g</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> is composed of the first <inline-formula id="inf377">
<mml:math id="m412">
<mml:mrow>
<mml:msub>
<mml:mi>l</mml:mi>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> rows in <inline-formula id="inf378">
<mml:math id="m413">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">u</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> and <inline-formula id="inf379">
<mml:math id="m414">
<mml:mrow>
<mml:msubsup>
<mml:mi mathvariant="bold-italic">u</mml:mi>
<mml:mi mathvariant="bold-italic">Z</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">Z</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
</mml:mrow>
<mml:mo>]</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mi mathvariant="bold-italic">T</mml:mi>
</mml:msup>
<mml:msup>
<mml:mi mathvariant="bold-italic">g</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> is composed of the last <inline-formula id="inf380">
<mml:math id="m415">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold-italic">l</mml:mi>
<mml:mrow>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> rows in <inline-formula id="inf381">
<mml:math id="m416">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">u</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>.</p>
<p>Because <inline-formula id="inf382">
<mml:math id="m417">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">u</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
<mml:mo>&#x3d;</mml:mo>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">S</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
<mml:mo>,</mml:mo>
<mml:mtext>&#xa0;&#xa0;&#xa0;</mml:mtext>
<mml:msup>
<mml:mi mathvariant="bold-italic">Z</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
</mml:mrow>
<mml:mo>]</mml:mo>
</mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">g</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">S</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="bold-italic">s</mml:mi>
<mml:mtext>&#xa0;&#xa0;&#xa0;</mml:mtext>
<mml:msup>
<mml:mi mathvariant="bold-italic">Z</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="bold-italic">z</mml:mi>
</mml:mrow>
<mml:mo>]</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mi mathvariant="bold-italic">T</mml:mi>
</mml:msup>
<mml:msup>
<mml:mi mathvariant="bold-italic">g</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> and <inline-formula id="inf383">
<mml:math id="m418">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">g</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mi mathvariant="bold-italic">g</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
<mml:mo>&#x2b;</mml:mo>
<mml:mi mathvariant="bold-italic">z</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>, thus we have,<disp-formula id="e33">
<mml:math id="m419">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">u</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
<mml:mo>&#x3d;</mml:mo>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msubsup>
<mml:mi mathvariant="bold-italic">u</mml:mi>
<mml:mi mathvariant="bold-italic">S</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x2b;</mml:mo>
<mml:msubsup>
<mml:mi mathvariant="bold-italic">p</mml:mi>
<mml:mn>2</mml:mn>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msubsup>
<mml:mi mathvariant="bold-italic">&#x3b3;</mml:mi>
<mml:mi mathvariant="bold-italic">s</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msubsup>
<mml:mi mathvariant="bold-italic">u</mml:mi>
<mml:mi mathvariant="bold-italic">Z</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x2b;</mml:mo>
<mml:msubsup>
<mml:mi mathvariant="bold-italic">p</mml:mi>
<mml:mn>4</mml:mn>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msubsup>
<mml:mi mathvariant="bold-italic">&#x3b3;</mml:mi>
<mml:mi mathvariant="bold-italic">z</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
<mml:mo>]</mml:mo>
</mml:mrow>
<mml:mo>.</mml:mo>
</mml:mrow>
</mml:math>
<label>(33)</label>
</disp-formula>
</p>
</sec>
<sec id="s3-8-2">
<title>Case-3: <bold>
<italic>Sflag</italic>
</bold>
<sup>(k)</sup> &#x3d; &#x201c;<bold>
<italic>True</italic>
</bold>&#x201d; and <bold>
<italic>l</italic>
</bold>
<sub>
<bold>
<italic>k&#x2212;</italic>
</bold>1</sub> &#x003D; <bold>
<italic>L</italic>
</bold>
<sub>
<bold>
<italic>M</italic>
</bold>
</sub>
</title>
<p>We set <inline-formula id="inf384">
<mml:math id="m420">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold-italic">l</mml:mi>
<mml:mi mathvariant="bold-italic">k</mml:mi>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mi mathvariant="bold-italic">l</mml:mi>
<mml:mrow>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mi mathvariant="bold-italic">L</mml:mi>
<mml:mi mathvariant="bold-italic">M</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>. Let <inline-formula id="inf385">
<mml:math id="m421">
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mover accent="true">
<mml:mi mathvariant="bold-italic">S</mml:mi>
<mml:mo>&#x5e;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> and <inline-formula id="inf386">
<mml:math id="m422">
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mover accent="true">
<mml:mi mathvariant="bold-italic">Z</mml:mi>
<mml:mo>&#x5e;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> denote the submatrices of <inline-formula id="inf387">
<mml:math id="m423">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">S</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> and <inline-formula id="inf388">
<mml:math id="m424">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">Z</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> by removing the first column <inline-formula id="inf389">
<mml:math id="m425">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">s</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> and <inline-formula id="inf390">
<mml:math id="m426">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">z</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> from <inline-formula id="inf391">
<mml:math id="m427">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">S</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> and <inline-formula id="inf392">
<mml:math id="m428">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">Z</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>, respectively. Let <inline-formula id="inf393">
<mml:math id="m429">
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mover accent="true">
<mml:mi mathvariant="bold-italic">A</mml:mi>
<mml:mo>&#x5e;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> and <inline-formula id="inf394">
<mml:math id="m430">
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mover accent="true">
<mml:mi mathvariant="bold-italic">B</mml:mi>
<mml:mo>&#x5e;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> and <inline-formula id="inf395">
<mml:math id="m431">
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mover accent="true">
<mml:mi mathvariant="bold-italic">C</mml:mi>
<mml:mo>&#x5e;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> denote the submatrices of <bold>
<italic>A</italic>
</bold>
<sup>(<bold>
<italic>k</italic>
</bold>)</sup>, <bold>
<italic>B</italic>
</bold>
<sup>(<bold>
<italic>k</italic>
</bold>)</sup>, and <bold>
<italic>C</italic>
</bold>
<sup>(<bold>
<italic>k</italic>
</bold>)</sup> by removing their first row and first column.</p>
<p>
<inline-formula id="inf396">
<mml:math id="m432">
<mml:mrow>
<mml:mtext>We&#xa0;</mml:mtext>
</mml:mrow>
</mml:math>
</inline-formula>apply <xref ref-type="disp-formula" rid="e28">Eq. 28</xref> through <xref ref-type="disp-formula" rid="e32">Eq. 32</xref> to update <bold>
<italic>S</italic>
</bold>
<sup>(<bold>
<italic>k</italic>
</bold>)</sup>, <bold>
<italic>Z</italic>
</bold>
<sup>(<bold>
<italic>k</italic>
</bold>)</sup>, <bold>
<italic>A</italic>
</bold>
<sup>(<bold>
<italic>k</italic>
</bold>)</sup>, <bold>
<italic>B</italic>
</bold>
<sup>(<bold>
<italic>k</italic>
</bold>)</sup>, and <bold>
<italic>C</italic>
</bold>
<sup>(<bold>
<italic>k</italic>
</bold>)</sup> by simply replacing <bold>
<italic>S</italic>
</bold>
<sup>(<bold>
<italic>k</italic>
</bold>&#x2212;1)</sup>, <bold>
<italic>Z</italic>
</bold>
<sup>(<bold>
<italic>k</italic>
</bold>&#x2212;1)</sup>, <bold>
<italic>A</italic>
</bold>
<sup>(<bold>
<italic>k</italic>
</bold>&#x2212;1)</sup>, <bold>
<italic>B</italic>
</bold>
<sup>(<bold>
<italic>k</italic>
</bold>&#x2212;1)</sup>, and <bold>
<italic>C</italic>
</bold>
<sup>(<bold>
<italic>k</italic>
</bold>&#x2212;1)</sup> with <inline-formula id="inf397">
<mml:math id="m433">
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mover accent="true">
<mml:mi mathvariant="bold-italic">S</mml:mi>
<mml:mo>&#x5e;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> and <inline-formula id="inf398">
<mml:math id="m434">
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mover accent="true">
<mml:mi mathvariant="bold-italic">Z</mml:mi>
<mml:mo>&#x5e;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> and <inline-formula id="inf399">
<mml:math id="m435">
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mover accent="true">
<mml:mi mathvariant="bold-italic">A</mml:mi>
<mml:mo>&#x5e;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> and <inline-formula id="inf400">
<mml:math id="m436">
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mover accent="true">
<mml:mi mathvariant="bold-italic">B</mml:mi>
<mml:mo>&#x5e;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> and <inline-formula id="inf401">
<mml:math id="m437">
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mover accent="true">
<mml:mi mathvariant="bold-italic">C</mml:mi>
<mml:mo>&#x5e;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>, respectively. We can also apply <xref ref-type="disp-formula" rid="e33">Eq. 33</xref> to update <inline-formula id="inf402">
<mml:math id="m438">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">u</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> by replacing <inline-formula id="inf403">
<mml:math id="m439">
<mml:mrow>
<mml:msubsup>
<mml:mi mathvariant="bold-italic">u</mml:mi>
<mml:mi mathvariant="bold-italic">S</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula> with <inline-formula id="inf404">
<mml:math id="m440">
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mover accent="true">
<mml:mi mathvariant="bold-italic">u</mml:mi>
<mml:mo>&#x5e;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mi mathvariant="bold-italic">S</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mover accent="true">
<mml:mi mathvariant="bold-italic">S</mml:mi>
<mml:mo>&#x5e;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
</mml:mrow>
<mml:mo>]</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mi mathvariant="bold-italic">T</mml:mi>
</mml:msup>
<mml:msup>
<mml:mi mathvariant="bold-italic">g</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> that is composed of the second row through the <inline-formula id="inf405">
<mml:math id="m441">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold-italic">l</mml:mi>
<mml:mrow>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>-th rows in <inline-formula id="inf406">
<mml:math id="m442">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">u</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> and replacing <inline-formula id="inf407">
<mml:math id="m443">
<mml:mrow>
<mml:msubsup>
<mml:mi mathvariant="bold-italic">u</mml:mi>
<mml:mi mathvariant="bold-italic">Z</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula> with <inline-formula id="inf408">
<mml:math id="m444">
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mover accent="true">
<mml:mi mathvariant="bold-italic">u</mml:mi>
<mml:mo>&#x5e;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mi mathvariant="bold-italic">Z</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mover accent="true">
<mml:mi mathvariant="bold-italic">Z</mml:mi>
<mml:mo>&#x5e;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
</mml:mrow>
<mml:mo>]</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mi mathvariant="bold-italic">T</mml:mi>
</mml:msup>
<mml:msup>
<mml:mi mathvariant="bold-italic">g</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> that is composed of the last <inline-formula id="inf409">
<mml:math id="m445">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold-italic">l</mml:mi>
<mml:mrow>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula> rows in <inline-formula id="inf410">
<mml:math id="m446">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">u</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>.</p>
</sec>
</sec>
</sec>
<sec id="s3-9">
<title>The Algorithm to Update Matrices and Vectors Used for Solving the L-BFGS TRS</title>
<p>Given <bold>
<italic>L</italic>
</bold>
<sub>
<bold>
<italic>M</italic>
</bold>
</sub> &#x2265; 1, <bold>
<italic>k</italic>
</bold> &#x3e; 1, <bold>
<italic>l</italic>
</bold>
<sub>
<bold>
<italic>k&#x2212;</italic>
</bold>1</sub> &#x2265; 1, the thresholds <bold>
<italic>c</italic>
</bold>
<sub>3</sub> &#x3e; 0 and <bold>
<italic>a</italic>
</bold>
<sub>cr</sub> &#x3e; 0, <inline-formula id="inf411">
<mml:math id="m447">
<mml:mi mathvariant="bold-italic">n</mml:mi>
</mml:math>
</inline-formula>-dimensional vectors <bold>
<italic>g</italic>
</bold>
<sup>(<bold>
<italic>k</italic>
</bold>&#x2b;1)</sup>, <bold>
<italic>s</italic>
</bold> and <bold>
<italic>z</italic>
</bold>, <bold>
<italic>l</italic>
</bold>
<sub>
<bold>
<italic>k&#x2212;</italic>
</bold>1</sub>-dimensional vector <bold>
<italic>u</italic>
</bold>
<sup>(<bold>
<italic>k</italic>
</bold>&#x2212;1)</sup>, <bold>
<italic>n</italic>
</bold> &#xd7; <bold>
<italic>l</italic>
</bold>
<sub>
<bold>
<italic>k&#x2212;</italic>
</bold>1</sub> matrices <bold>
<italic>S</italic>
</bold>
<sup>(<bold>
<italic>k</italic>
</bold>&#x2212;1)</sup> and <bold>
<italic>Z</italic>
</bold>
<sup>(<bold>
<italic>k</italic>
</bold>&#x2212;1)</sup>, <bold>
<italic>l</italic>
</bold>
<sub>
<bold>
<italic>k&#x2212;</italic>
</bold>1</sub> &#xd7; <bold>
<italic>l</italic>
</bold>
<sub>
<bold>
<italic>k&#x2212;</italic>
</bold>1</sub> matrices <bold>
<italic>A</italic>
</bold>
<sup>(<bold>
<italic>k</italic>
</bold>&#x2212;1)</sup>, <bold>
<italic>B</italic>
</bold>
<sup>(<bold>
<italic>k</italic>
</bold>&#x2212;1)</sup> and <bold>
<italic>C</italic>
</bold>
<sup>(<bold>
<italic>k</italic>
</bold>&#x2212;1)</sup>, 2<bold>
<italic>l</italic>
</bold>
<sub>
<bold>
<italic>k&#x2212;</italic>
</bold>1</sub> &#xd7; 2<bold>
<italic>l</italic>
</bold>
<sub>
<bold>
<italic>k&#x2212;</italic>
</bold>1</sub> matrices <bold>
<italic>P</italic>
</bold>
<sup>(<bold>
<italic>k</italic>
</bold>&#x2212;1)</sup> and <inline-formula id="inf412">
<mml:math id="m448">
<mml:mrow>
<mml:msubsup>
<mml:mi mathvariant="bold-italic">W</mml:mi>
<mml:mi mathvariant="bold-italic">I</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">W</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msup>
</mml:mrow>
<mml:mo>]</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>, we can update <inline-formula id="inf413">
<mml:math id="m449">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold-italic">l</mml:mi>
<mml:mi mathvariant="bold-italic">k</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> and the <inline-formula id="inf414">
<mml:math id="m450">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold-italic">l</mml:mi>
<mml:mi mathvariant="bold-italic">k</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>-dimensional vector <bold>
<italic>u</italic>
</bold>
<sup>(<bold>
<italic>k</italic>
</bold>)</sup>, <bold>
<italic>n</italic>
</bold> &#xd7; <bold>
<italic>l</italic>
</bold>
<sub>
<bold>
<italic>k</italic>
</bold>
</sub> matrices <bold>
<italic>S</italic>
</bold>
<sup>(<bold>
<italic>k</italic>
</bold>)</sup> and <bold>
<italic>Z</italic>
</bold>
<sup>(<bold>
<italic>k</italic>
</bold>)</sup>, <bold>
<italic>l</italic>
</bold>
<sub>
<bold>
<italic>k</italic>
</bold>
</sub> &#xd7; <bold>
<italic>l</italic>
</bold>
<sub>
<bold>
<italic>k</italic>
</bold>
</sub> matrices <bold>
<italic>A</italic>
</bold>
<sup>(<bold>
<italic>k</italic>
</bold>)</sup>, <bold>
<italic>B</italic>
</bold>
<sup>(<bold>
<italic>k</italic>
</bold>)</sup>, and <bold>
<italic>C</italic>
</bold>
<sup>(<bold>
<italic>k</italic>
</bold>)</sup>, and 2<bold>
<italic>l</italic>
</bold>
<sub>
<bold>
<italic>k</italic>
</bold>
</sub> &#xd7; 2<bold>
<italic>l</italic>
</bold>
<sub>
<bold>
<italic>k</italic>
</bold>
</sub> matrices <inline-formula id="inf415">
<mml:math id="m451">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">P</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> and <inline-formula id="inf416">
<mml:math id="m452">
<mml:mrow>
<mml:msubsup>
<mml:mi mathvariant="bold-italic">W</mml:mi>
<mml:mi mathvariant="bold-italic">I</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">W</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msup>
</mml:mrow>
<mml:mo>]</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>, using the algorithm as summarized in Algorithm-4.</p>
<p>
<bold>Algorithm-4:</bold> Updating Matrices and Vectors Used for Solving the L-BFGS TRS</p>
<p>
<list list-type="simple">
<list-item>
<p>1. <italic>Compute</italic> <inline-formula id="inf417">
<mml:math id="m453">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">&#x3b5;</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mi mathvariant="bold-italic">z</mml:mi>
<mml:mi mathvariant="bold-italic">T</mml:mi>
</mml:msup>
<mml:mi mathvariant="bold-italic">s</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>, <inline-formula id="inf418">
<mml:math id="m454">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">&#x3bc;</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mi mathvariant="bold-italic">z</mml:mi>
<mml:mi mathvariant="bold-italic">T</mml:mi>
</mml:msup>
<mml:mi mathvariant="bold-italic">z</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>, <inline-formula id="inf419">
<mml:math id="m455">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">&#x3b2;</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mi mathvariant="bold-italic">s</mml:mi>
<mml:mi mathvariant="bold-italic">T</mml:mi>
</mml:msup>
<mml:mi mathvariant="bold-italic">s</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>;</p>
</list-item>
<list-item>
<p>2. <italic>Compute the scaling factor</italic> <inline-formula id="inf420">
<mml:math id="m456">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">&#x3b1;</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mi mathvariant="bold-italic">&#x3bc;</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
<mml:mo>/</mml:mo>
<mml:msup>
<mml:mi mathvariant="bold-italic">&#x3b5;</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> <italic>if</italic> <inline-formula id="inf421">
<mml:math id="m457">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">&#x3b5;</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
<mml:mo>&#x3e;</mml:mo>
<mml:msub>
<mml:mi mathvariant="bold-italic">c</mml:mi>
<mml:mn>3</mml:mn>
</mml:msub>
<mml:msqrt>
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">&#x3b2;</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
<mml:msup>
<mml:mi mathvariant="bold-italic">&#x3bc;</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:msqrt>
</mml:mrow>
</mml:math>
</inline-formula>, <italic>or set</italic> <inline-formula id="inf422">
<mml:math id="m458">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">&#x3b1;</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula> <italic>otherwise;</italic>
</p>
</list-item>
<list-item>
<p>3. <italic>If</italic> <inline-formula id="inf423">
<mml:math id="m459">
<mml:mrow>
<mml:mo>&#xa0;</mml:mo>
<mml:msup>
<mml:mi mathvariant="bold-italic">&#x3b1;</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo>&#x2264;</mml:mo>
<mml:msub>
<mml:mi mathvariant="bold-italic">&#x3b1;</mml:mi>
<mml:mrow>
<mml:mi mathvariant="bold-italic">cr</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> <italic>or</italic> <inline-formula id="inf424">
<mml:math id="m460">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">&#x3b5;</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
<mml:mo>&#x2264;</mml:mo>
<mml:msub>
<mml:mi mathvariant="bold-italic">c</mml:mi>
<mml:mn>3</mml:mn>
</mml:msub>
<mml:msqrt>
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">&#x3b2;</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
<mml:msup>
<mml:mi mathvariant="bold-italic">&#x3bc;</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:msqrt>
</mml:mrow>
</mml:math>
</inline-formula>,&#x20;<italic>then</italic>
</p>
<list list-type="simple">
<list-item>
<p>a. <italic>Set</italic> <inline-formula id="inf425">
<mml:math id="m461">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">&#x3b1;</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mi mathvariant="bold-italic">&#x3b1;</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> <italic>and</italic> <inline-formula id="inf426">
<mml:math id="m462">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold-italic">l</mml:mi>
<mml:mi mathvariant="bold-italic">k</mml:mi>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mi mathvariant="bold-italic">l</mml:mi>
<mml:mrow>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>
<italic>;</italic>
</p>
</list-item>
<list-item>
<p>b. <italic>Update</italic> <inline-formula id="inf427">
<mml:math id="m463">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">S</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mi mathvariant="bold-italic">S</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> <italic>and</italic> <inline-formula id="inf428">
<mml:math id="m464">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">Z</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mi mathvariant="bold-italic">Z</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>
<italic>;</italic>
</p>
</list-item>
<list-item>
<p>c. <italic>Update</italic> <inline-formula id="inf429">
<mml:math id="m465">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">A</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mi mathvariant="bold-italic">A</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>, <inline-formula id="inf430">
<mml:math id="m466">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">B</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mi mathvariant="bold-italic">B</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>, <italic>and</italic> <inline-formula id="inf431">
<mml:math id="m467">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">C</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mi mathvariant="bold-italic">C</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>;</p>
</list-item>
<list-item>
<p>d. <italic>Update</italic> <inline-formula id="inf432">
<mml:math id="m468">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">P</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mi mathvariant="bold-italic">P</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> <italic>and</italic> <inline-formula id="inf433">
<mml:math id="m469">
<mml:mrow>
<mml:mi mathvariant="bold-italic">W</mml:mi>
<mml:msup>
<mml:mi mathvariant="bold-italic">I</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo>&#x3d;</mml:mo>
<mml:mi mathvariant="bold-italic">W</mml:mi>
<mml:msup>
<mml:mi mathvariant="bold-italic">I</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>;</p>
</list-item>
<list-item>
<p>e. <italic>Compute</italic> <inline-formula id="inf434">
<mml:math id="m470">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">u</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">S</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="bold-italic">&#xa0;&#xa0;&#xa0;</mml:mi>
<mml:msup>
<mml:mi mathvariant="bold-italic">Z</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
</mml:mrow>
<mml:mo>]</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mi mathvariant="bold-italic">T</mml:mi>
</mml:msup>
<mml:msup>
<mml:mi mathvariant="bold-italic">g</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>;</p>
</list-item>
<list-item>
<p>f. <italic>Goto step&#x20;10.</italic>
</p>
</list-item>
</list>
</list-item>
<list-item>
<p>4. <italic>Else if</italic> <inline-formula id="inf435">
<mml:math id="m471">
<mml:mrow>
<mml:mi mathvariant="bold-italic">Sfla</mml:mi>
<mml:msup>
<mml:mi mathvariant="bold-italic">g</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
<mml:mo>&#x3d;</mml:mo>
<mml:mo>"</mml:mo>
<mml:mi mathvariant="bold-italic">False</mml:mi>
<mml:mo>"</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> <italic>(for Case-1),&#x20;then</italic>
</p>
<list list-type="simple">
<list-item>
<p>a. <italic>Set</italic> <inline-formula id="inf436">
<mml:math id="m472">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold-italic">l</mml:mi>
<mml:mi mathvariant="bold-italic">k</mml:mi>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mi mathvariant="bold-italic">l</mml:mi>
<mml:mrow>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>;</p>
</list-item>
<list-item>
<p>b. <italic>Update</italic> <inline-formula id="inf437">
<mml:math id="m473">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">S</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mi mathvariant="bold-italic">S</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>;</p>
</list-item>
<list-item>
<p>c. <italic>Set</italic> <inline-formula id="inf438">
<mml:math id="m474">
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mover accent="true">
<mml:mi mathvariant="bold-italic">z</mml:mi>
<mml:mo>&#x2dc;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold-italic">l</mml:mi>
<mml:mrow>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> <italic>to the last column of</italic> <inline-formula id="inf439">
<mml:math id="m475">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">Z</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>;</p>
</list-item>
<list-item>
<p>d. <italic>Set</italic> <inline-formula id="inf440">
<mml:math id="m476">
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mover accent="true">
<mml:mi mathvariant="bold-italic">Z</mml:mi>
<mml:mo>&#x2dc;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> <italic>by removing the last column</italic> <inline-formula id="inf441">
<mml:math id="m477">
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mover accent="true">
<mml:mi mathvariant="bold-italic">z</mml:mi>
<mml:mo>&#x2dc;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold-italic">l</mml:mi>
<mml:mrow>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>
<italic>from</italic> <inline-formula id="inf442">
<mml:math id="m478">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">Z</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>
<italic>;</italic>
</p>
</list-item>
<list-item>
<p>e. <italic>Update</italic> <inline-formula id="inf443">
<mml:math id="m479">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">Z</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo>&#x3d;</mml:mo>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mover accent="true">
<mml:mi mathvariant="bold-italic">Z</mml:mi>
<mml:mo>&#x2dc;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mi mathvariant="bold-italic">&#xa0;&#xa0;&#xa0;&#xa0;z</mml:mi>
</mml:mrow>
<mml:mo>]</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula>;</p>
</list-item>
<list-item>
<p>f. <italic>Compute</italic> <inline-formula id="inf444">
<mml:math id="m480">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">&#x3c4;</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mi mathvariant="bold-italic">z</mml:mi>
<mml:mi mathvariant="bold-italic">T</mml:mi>
</mml:msup>
<mml:msup>
<mml:mi mathvariant="bold-italic">g</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
<mml:mo>&#x2212;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mover accent="true">
<mml:mi mathvariant="bold-italic">z</mml:mi>
<mml:mo>&#x2dc;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold-italic">l</mml:mi>
<mml:mrow>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
</mml:mrow>
<mml:mo>]</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mi mathvariant="bold-italic">T</mml:mi>
</mml:msup>
<mml:msup>
<mml:mi mathvariant="bold-italic">g</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>;</p>
</list-item>
<list-item>
<p>g. <italic>Compute</italic> <inline-formula id="inf445">
<mml:math id="m481">
<mml:mrow>
<mml:msubsup>
<mml:mi mathvariant="bold-italic">p</mml:mi>
<mml:mn>2</mml:mn>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">S</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
</mml:mrow>
<mml:mo>]</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mi mathvariant="bold-italic">T</mml:mi>
</mml:msup>
<mml:mi mathvariant="bold-italic">z</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> <italic>and</italic> <inline-formula id="inf446">
<mml:math id="m482">
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mover accent="true">
<mml:mi mathvariant="bold-italic">p</mml:mi>
<mml:mo>&#x2dc;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mn>4</mml:mn>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mover accent="true">
<mml:mi mathvariant="bold-italic">Z</mml:mi>
<mml:mo>&#x2dc;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
</mml:mrow>
<mml:mo>]</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mi mathvariant="bold-italic">T</mml:mi>
</mml:msup>
<mml:mi mathvariant="bold-italic">z</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>
<italic>;</italic>
</p>
</list-item>
<list-item>
<p>h. <italic>Compute</italic> <inline-formula id="inf447">
<mml:math id="m483">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">u</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>
<italic>using</italic> <xref ref-type="disp-formula" rid="e27">
<italic>Eq.&#x20;27</italic>
</xref>;</p>
</list-item>
<list-item>
<p>i. <italic>Update</italic> <inline-formula id="inf448">
<mml:math id="m484">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">A</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mi mathvariant="bold-italic">A</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>;</p>
</list-item>
<list-item>
<p>j. <italic>Set</italic> <inline-formula id="inf449">
<mml:math id="m485">
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mover accent="true">
<mml:mi mathvariant="bold-italic">B</mml:mi>
<mml:mo>&#x2dc;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>
<italic>by removing the first column from</italic> <inline-formula id="inf450">
<mml:math id="m486">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">B</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>
<italic>;</italic>
</p>
</list-item>
<list-item>
<p>k. <italic>Set</italic> <inline-formula id="inf451">
<mml:math id="m487">
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mover accent="true">
<mml:mi mathvariant="bold-italic">C</mml:mi>
<mml:mo>&#x2dc;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>
<italic>by removing the first row and the first column from</italic> <inline-formula id="inf452">
<mml:math id="m488">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">C</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>
<italic>;</italic>
</p>
</list-item>
</list>
</list-item>
</list>
</p>
<p>l. <italic>Update</italic> <inline-formula id="inf453">
<mml:math id="m489">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">B</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>
<italic>and</italic> <inline-formula id="inf454">
<mml:math id="m490">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">C</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> <italic>using</italic> <xref ref-type="disp-formula" rid="e25">
<italic>Eq. 25</italic>
</xref> <italic>and</italic> <xref ref-type="disp-formula" rid="e26">
<italic>Eq. 26</italic>
</xref>;<list list-type="simple">
<list-item>
<p>5. <italic>Else if</italic> <inline-formula id="inf455">
<mml:math id="m491">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold-italic">l</mml:mi>
<mml:mrow>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3c;</mml:mo>
<mml:msub>
<mml:mi mathvariant="bold-italic">L</mml:mi>
<mml:mi mathvariant="bold-italic">M</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> <italic>(for Case-2),&#x20;then</italic>
</p>
<list list-type="simple">
<list-item>
<p>a. <italic>Set</italic> <inline-formula id="inf456">
<mml:math id="m492">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold-italic">l</mml:mi>
<mml:mi mathvariant="bold-italic">k</mml:mi>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mi mathvariant="bold-italic">l</mml:mi>
<mml:mrow>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula>;</p>
</list-item>
<list-item>
<p>b. <italic>Compute</italic> <inline-formula id="inf457">
<mml:math id="m493">
<mml:mrow>
<mml:msubsup>
<mml:mi mathvariant="bold-italic">p</mml:mi>
<mml:mn>1</mml:mn>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">S</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
</mml:mrow>
<mml:mo>]</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mi mathvariant="bold-italic">T</mml:mi>
</mml:msup>
<mml:mi mathvariant="bold-italic">s</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>, <inline-formula id="inf458">
<mml:math id="m494">
<mml:mrow>
<mml:msubsup>
<mml:mi mathvariant="bold-italic">p</mml:mi>
<mml:mn>2</mml:mn>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">S</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
</mml:mrow>
<mml:mo>]</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mi mathvariant="bold-italic">T</mml:mi>
</mml:msup>
<mml:mi mathvariant="bold-italic">z</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>, <inline-formula id="inf459">
<mml:math id="m495">
<mml:mrow>
<mml:msubsup>
<mml:mi mathvariant="bold-italic">p</mml:mi>
<mml:mn>3</mml:mn>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">Z</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
</mml:mrow>
<mml:mo>]</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mi mathvariant="bold-italic">T</mml:mi>
</mml:msup>
<mml:mi mathvariant="bold-italic">s</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>, <italic>and</italic> <inline-formula id="inf460">
<mml:math id="m496">
<mml:mrow>
<mml:msubsup>
<mml:mi mathvariant="bold-italic">p</mml:mi>
<mml:mn>4</mml:mn>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">Z</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
</mml:mrow>
<mml:mo>]</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mi mathvariant="bold-italic">T</mml:mi>
</mml:msup>
<mml:mi mathvariant="bold-italic">z</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>;</p>
</list-item>
<list-item>
<p>c. <italic>Compute</italic> <inline-formula id="inf461">
<mml:math id="m497">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold-italic">&#x3b3;</mml:mi>
<mml:mi mathvariant="bold-italic">s</mml:mi>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mi mathvariant="bold-italic">s</mml:mi>
<mml:mi mathvariant="bold-italic">T</mml:mi>
</mml:msup>
<mml:msup>
<mml:mi mathvariant="bold-italic">g</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> <italic>and</italic> <inline-formula id="inf462">
<mml:math id="m498">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold-italic">&#x3b3;</mml:mi>
<mml:mi mathvariant="bold-italic">z</mml:mi>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mi mathvariant="bold-italic">z</mml:mi>
<mml:mi mathvariant="bold-italic">T</mml:mi>
</mml:msup>
<mml:msup>
<mml:mi mathvariant="bold-italic">g</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>
<italic>;</italic>
</p>
</list-item>
<list-item>
<p>d. <italic>Update</italic> <inline-formula id="inf463">
<mml:math id="m499">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">S</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>
<italic>,</italic> <inline-formula id="inf464">
<mml:math id="m500">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">Z</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>
<italic>,</italic> <inline-formula id="inf465">
<mml:math id="m501">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">A</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>
<italic>,</italic> <inline-formula id="inf466">
<mml:math id="m502">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">B</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>
<italic>, and</italic> <inline-formula id="inf467">
<mml:math id="m503">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">C</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> <italic>using</italic> <xref ref-type="disp-formula" rid="e28">
<italic>Eq. 28</italic>
</xref> <italic>through</italic> <xref ref-type="disp-formula" rid="e32">
<italic>Eq. 32</italic>
</xref>
<italic>, respectively;</italic>
</p>
</list-item>
<list-item>
<p>e. <italic>Set</italic> <inline-formula id="inf468">
<mml:math id="m504">
<mml:mrow>
<mml:msubsup>
<mml:mi mathvariant="bold-italic">u</mml:mi>
<mml:mi mathvariant="bold-italic">S</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula>
<italic>to the first</italic> <inline-formula id="inf469">
<mml:math id="m505">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold-italic">l</mml:mi>
<mml:mrow>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> <italic>rows in</italic> <inline-formula id="inf470">
<mml:math id="m506">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">u</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> <italic>and</italic> <inline-formula id="inf471">
<mml:math id="m507">
<mml:mrow>
<mml:msubsup>
<mml:mi mathvariant="bold-italic">u</mml:mi>
<mml:mi mathvariant="bold-italic">Z</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula>
<italic>to the last</italic> <inline-formula id="inf472">
<mml:math id="m508">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold-italic">l</mml:mi>
<mml:mrow>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> <italic>rows in</italic> <inline-formula id="inf473">
<mml:math id="m509">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">u</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>
<italic>;</italic>
</p>
</list-item>
<list-item>
<p>f. <italic>Update</italic> <inline-formula id="inf474">
<mml:math id="m510">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">u</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> <italic>using</italic> <italic>
<xref ref-type="disp-formula" rid="e31">Eq.&#x20;31</xref>
</italic>.</p>
</list-item>
</list>
</list-item>
<list-item>
<p>6. <italic>Else (for Case-3)</italic>
</p>
<list list-type="simple">
<list-item>
<p>a. <italic>Set</italic> <inline-formula id="inf475">
<mml:math id="m511">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold-italic">l</mml:mi>
<mml:mi mathvariant="bold-italic">k</mml:mi>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mi mathvariant="bold-italic">L</mml:mi>
<mml:mi mathvariant="bold-italic">M</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>;</p>
</list-item>
<list-item>
<p>b. <italic>Remove the first column from</italic> <inline-formula id="inf476">
<mml:math id="m512">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">S</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>
<italic>and</italic> <inline-formula id="inf477">
<mml:math id="m513">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">Z</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>
<italic>;</italic>
</p>
</list-item>
<list-item>
<p>c. <italic>Remove the first row and first column from</italic> <inline-formula id="inf478">
<mml:math id="m514">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">A</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>
<italic>,</italic> <inline-formula id="inf479">
<mml:math id="m515">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">B</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>
<italic>, and</italic> <inline-formula id="inf480">
<mml:math id="m516">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">C</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>
<italic>;</italic>
</p>
</list-item>
<list-item>
<p>d. <italic>Compute</italic> <inline-formula id="inf481">
<mml:math id="m517">
<mml:mrow>
<mml:msubsup>
<mml:mi mathvariant="bold-italic">p</mml:mi>
<mml:mn>1</mml:mn>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">S</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
</mml:mrow>
<mml:mo>]</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mi mathvariant="bold-italic">T</mml:mi>
</mml:msup>
<mml:mi mathvariant="bold-italic">s</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>
<italic>,</italic> <inline-formula id="inf482">
<mml:math id="m518">
<mml:mrow>
<mml:msubsup>
<mml:mi mathvariant="bold-italic">p</mml:mi>
<mml:mn>2</mml:mn>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">S</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
</mml:mrow>
<mml:mo>]</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mi mathvariant="bold-italic">T</mml:mi>
</mml:msup>
<mml:mi mathvariant="bold-italic">z</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>
<italic>,</italic> <inline-formula id="inf483">
<mml:math id="m519">
<mml:mrow>
<mml:msubsup>
<mml:mi mathvariant="bold-italic">p</mml:mi>
<mml:mn>3</mml:mn>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">Z</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
</mml:mrow>
<mml:mo>]</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mi mathvariant="bold-italic">T</mml:mi>
</mml:msup>
<mml:mi mathvariant="bold-italic">s</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>
<italic>, and</italic> <inline-formula id="inf484">
<mml:math id="m520">
<mml:mrow>
<mml:msubsup>
<mml:mi mathvariant="bold-italic">p</mml:mi>
<mml:mn>4</mml:mn>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">Z</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
</mml:mrow>
<mml:mo>]</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mi mathvariant="bold-italic">T</mml:mi>
</mml:msup>
<mml:mi mathvariant="bold-italic">z</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>
<italic>;</italic>
</p>
</list-item>
<list-item>
<p>e. <italic>Compute</italic> <inline-formula id="inf485">
<mml:math id="m521">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold-italic">&#x3b3;</mml:mi>
<mml:mi mathvariant="bold-italic">s</mml:mi>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mi mathvariant="bold-italic">s</mml:mi>
<mml:mi mathvariant="bold-italic">T</mml:mi>
</mml:msup>
<mml:msup>
<mml:mi mathvariant="bold-italic">g</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> <italic>and</italic> <inline-formula id="inf486">
<mml:math id="m522">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold-italic">&#x3b3;</mml:mi>
<mml:mi mathvariant="bold-italic">z</mml:mi>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mi mathvariant="bold-italic">z</mml:mi>
<mml:mi mathvariant="bold-italic">T</mml:mi>
</mml:msup>
<mml:msup>
<mml:mi mathvariant="bold-italic">g</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>
<italic>;</italic>
</p>
</list-item>
<list-item>
<p>f. <italic>Update</italic> <inline-formula id="inf487">
<mml:math id="m523">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">S</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>
<italic>,</italic> <inline-formula id="inf488">
<mml:math id="m524">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">Z</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>
<italic>,</italic> <inline-formula id="inf489">
<mml:math id="m525">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">A</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>
<italic>,</italic> <inline-formula id="inf490">
<mml:math id="m526">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">B</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>
<italic>, and</italic> <inline-formula id="inf491">
<mml:math id="m527">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">C</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> <italic>using</italic> <xref ref-type="disp-formula" rid="e28">
<italic>Eq. 28</italic>
</xref>
<italic> through</italic> <xref ref-type="disp-formula" rid="e32">
<italic>Eq. 32</italic>
</xref> <italic>present</italic>
<italic>, respectively;</italic>
</p>
</list-item>
<list-item>
<p>g. <italic>Set</italic> <inline-formula id="inf492">
<mml:math id="m528">
<mml:mrow>
<mml:msubsup>
<mml:mi mathvariant="bold-italic">u</mml:mi>
<mml:mi mathvariant="bold-italic">S</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula>
<italic>to the second row through the</italic> <inline-formula id="inf493">
<mml:math id="m529">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold-italic">l</mml:mi>
<mml:mrow>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>
<italic>-th rows in</italic> <inline-formula id="inf494">
<mml:math id="m530">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">u</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>
<italic>;</italic>
</p>
</list-item>
<list-item>
<p>h. <italic>Set</italic> <inline-formula id="inf495">
<mml:math id="m531">
<mml:mrow>
<mml:msubsup>
<mml:mi mathvariant="bold-italic">u</mml:mi>
<mml:mi mathvariant="bold-italic">Z</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula>
<italic>to the last</italic> <inline-formula id="inf496">
<mml:math id="m532">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold-italic">l</mml:mi>
<mml:mrow>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula> <italic>rows in</italic> <inline-formula id="inf497">
<mml:math id="m533">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">u</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>
<italic>;</italic>
</p>
</list-item>
<list-item>
<p>i. <italic>Update</italic> <inline-formula id="inf498">
<mml:math id="m534">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">u</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> <italic>using</italic> <italic>
<xref ref-type="disp-formula" rid="e33">Eq.&#x20;33</xref>
</italic>.</p>
</list-item>
</list>
</list-item>
<list-item>
<p>7. <italic>Form the matrix</italic> <inline-formula id="inf499">
<mml:math id="m535">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">P</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> <italic>using</italic> <italic>
<xref ref-type="disp-formula" rid="e23">Eq.&#x20;23</xref>
</italic>;</p>
</list-item>
<list-item>
<p>8. <italic>Decompose</italic> <inline-formula id="inf500">
<mml:math id="m536">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">B</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mi mathvariant="bold-italic">L</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo>&#x2b;</mml:mo>
<mml:msup>
<mml:mi mathvariant="bold-italic">E</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo>&#x2b;</mml:mo>
<mml:msup>
<mml:mi mathvariant="bold-italic">U</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>;</p>
</list-item>
<list-item>
<p>9. <italic>Form the matrix</italic> <inline-formula id="inf501">
<mml:math id="m537">
<mml:mrow>
<mml:msubsup>
<mml:mi mathvariant="bold-italic">W</mml:mi>
<mml:mi mathvariant="bold-italic">I</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula>
<italic>using</italic> <italic>
<xref ref-type="disp-formula" rid="e5">Eq.&#x20;5</xref>
</italic>;</p>
</list-item>
<list-item>
<p>10. <italic>End</italic>
</p>
</list-item>
</list>
</p>
<p>The computational cost to update matrices and vectors used for solving the L-BFGS TRS as described in Algorithm-4 is at most <inline-formula id="inf502">
<mml:math id="m538">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold-italic">c</mml:mi>
<mml:mn>4</mml:mn>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>2</mml:mn>
<mml:mi mathvariant="bold-italic">n</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>4</mml:mn>
<mml:mi mathvariant="bold-italic">mn</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> (taking Case-2 in step 5 as an example), including the following 4 operations: (1) computing <inline-formula id="inf503">
<mml:math id="m539">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">&#x3b5;</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mi mathvariant="bold-italic">z</mml:mi>
<mml:mi mathvariant="bold-italic">T</mml:mi>
</mml:msup>
<mml:mi mathvariant="bold-italic">s</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>, <inline-formula id="inf504">
<mml:math id="m540">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">&#x3bc;</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mi mathvariant="bold-italic">z</mml:mi>
<mml:mi mathvariant="bold-italic">T</mml:mi>
</mml:msup>
<mml:mi mathvariant="bold-italic">z</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>, and <inline-formula id="inf505">
<mml:math id="m541">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">&#x3b2;</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mi mathvariant="bold-italic">s</mml:mi>
<mml:mi mathvariant="bold-italic">T</mml:mi>
</mml:msup>
<mml:mi mathvariant="bold-italic">s</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> in step 1 (<inline-formula id="inf506">
<mml:math id="m542">
<mml:mrow>
<mml:mn>6</mml:mn>
<mml:mi mathvariant="bold-italic">n</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> flops); (2) computing <inline-formula id="inf507">
<mml:math id="m543">
<mml:mrow>
<mml:msubsup>
<mml:mi mathvariant="bold-italic">p</mml:mi>
<mml:mn>1</mml:mn>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">S</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
</mml:mrow>
<mml:mo>]</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mi mathvariant="bold-italic">T</mml:mi>
</mml:msup>
<mml:mi mathvariant="bold-italic">s</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>
<italic>,</italic> <inline-formula id="inf508">
<mml:math id="m544">
<mml:mrow>
<mml:msubsup>
<mml:mi mathvariant="bold-italic">p</mml:mi>
<mml:mn>2</mml:mn>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">S</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
</mml:mrow>
<mml:mo>]</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mi mathvariant="bold-italic">T</mml:mi>
</mml:msup>
<mml:mi mathvariant="bold-italic">z</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>
<italic>,</italic> <inline-formula id="inf509">
<mml:math id="m545">
<mml:mrow>
<mml:msubsup>
<mml:mi mathvariant="bold-italic">p</mml:mi>
<mml:mn>3</mml:mn>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">Z</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
</mml:mrow>
<mml:mo>]</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mi mathvariant="bold-italic">T</mml:mi>
</mml:msup>
<mml:mi mathvariant="bold-italic">s</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>
<italic>,</italic> and <inline-formula id="inf510">
<mml:math id="m546">
<mml:mrow>
<mml:msubsup>
<mml:mi mathvariant="bold-italic">p</mml:mi>
<mml:mn>4</mml:mn>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">Z</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
</mml:mrow>
<mml:mo>]</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mi mathvariant="bold-italic">T</mml:mi>
</mml:msup>
<mml:mi mathvariant="bold-italic">z</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> in step 5(b) (<inline-formula id="inf511">
<mml:math id="m547">
<mml:mrow>
<mml:mn>8</mml:mn>
<mml:msub>
<mml:mi mathvariant="bold-italic">l</mml:mi>
<mml:mrow>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mi mathvariant="bold-italic">n</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>4</mml:mn>
<mml:mi mathvariant="bold-italic">mn</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>8</mml:mn>
<mml:mi mathvariant="bold-italic">n</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> flops),; (3) computing <inline-formula id="inf512">
<mml:math id="m548">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold-italic">&#x3b3;</mml:mi>
<mml:mi mathvariant="bold-italic">s</mml:mi>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mi mathvariant="bold-italic">s</mml:mi>
<mml:mi mathvariant="bold-italic">T</mml:mi>
</mml:msup>
<mml:msup>
<mml:mi mathvariant="bold-italic">g</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> and <inline-formula id="inf513">
<mml:math id="m549">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold-italic">&#x3b3;</mml:mi>
<mml:mi mathvariant="bold-italic">z</mml:mi>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mi mathvariant="bold-italic">z</mml:mi>
<mml:mi mathvariant="bold-italic">T</mml:mi>
</mml:msup>
<mml:msup>
<mml:mi mathvariant="bold-italic">g</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>in step 5(c) (<inline-formula id="inf514">
<mml:math id="m550">
<mml:mrow>
<mml:mn>4</mml:mn>
<mml:mi mathvariant="bold-italic">n</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> flops).</p>
<p>In this paper, we apply the same idea of reducing the dimension from <inline-formula id="inf515">
<mml:math id="m551">
<mml:mi mathvariant="bold-italic">n</mml:mi>
</mml:math>
</inline-formula> to <inline-formula id="inf516">
<mml:math id="m552">
<mml:mi mathvariant="bold-italic">m</mml:mi>
</mml:math>
</inline-formula> using the matrix inversion lemma as presented in the three papers [<xref ref-type="bibr" rid="B32">32</xref>, <xref ref-type="bibr" rid="B36">36</xref>, <xref ref-type="bibr" rid="B37">37</xref>]. However, the implementation is quite different. For the DGN optimization method, the <inline-formula id="inf517">
<mml:math id="m553">
<mml:mrow>
<mml:mi mathvariant="bold-italic">n</mml:mi>
<mml:mo>&#xd7;</mml:mo>
<mml:mi mathvariant="bold-italic">m</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> matrix <inline-formula id="inf518">
<mml:math id="m554">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">V</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> (or the transpose of the sensitivity matrix) in <xref ref-type="disp-formula" rid="e15">Eq. 15</xref> is directly computed. Its dimensions (both the number of variables <inline-formula id="inf519">
<mml:math id="m555">
<mml:mi mathvariant="bold-italic">n</mml:mi>
</mml:math>
</inline-formula> and the number of observed data <inline-formula id="inf520">
<mml:math id="m556">
<mml:mi mathvariant="bold-italic">m</mml:mi>
</mml:math>
</inline-formula>) are fixed, i.e.,&#x20;they remain the same for all iterations. Therefore, we have to directly compute the <inline-formula id="inf521">
<mml:math id="m557">
<mml:mrow>
<mml:mi mathvariant="bold-italic">m</mml:mi>
<mml:mo>&#xd7;</mml:mo>
<mml:mi mathvariant="bold-italic">m</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> matrix <inline-formula id="inf522">
<mml:math id="m558">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">P</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">V</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msup>
</mml:mrow>
<mml:mo>]</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mi mathvariant="bold-italic">T</mml:mi>
</mml:msup>
<mml:msup>
<mml:mi mathvariant="bold-italic">V</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> and the <inline-formula id="inf523">
<mml:math id="m559">
<mml:mi mathvariant="bold-italic">m</mml:mi>
</mml:math>
</inline-formula>-dimensional vector <inline-formula id="inf524">
<mml:math id="m560">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">u</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">V</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msup>
</mml:mrow>
<mml:mo>]</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mi mathvariant="bold-italic">T</mml:mi>
</mml:msup>
<mml:msup>
<mml:mi mathvariant="bold-italic">g</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>, with the computational cost <inline-formula id="inf525">
<mml:math id="m561">
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:msup>
<mml:mi mathvariant="bold-italic">m</mml:mi>
<mml:mn>2</mml:mn>
</mml:msup>
<mml:mi mathvariant="bold-italic">n</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>2</mml:mn>
<mml:mi mathvariant="bold-italic">mn</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> flops. Using the algorithm as summarized in Algorithm-4, the computational cost can be further reduced to <inline-formula id="inf526">
<mml:math id="m562">
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:mi mathvariant="bold-italic">n</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>4</mml:mn>
<mml:mi mathvariant="bold-italic">mn</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>, by a factor of <inline-formula id="inf527">
<mml:math id="m563">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold-italic">l</mml:mi>
<mml:mi mathvariant="bold-italic">k</mml:mi>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mi mathvariant="bold-italic">m</mml:mi>
<mml:mo>/</mml:mo>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula>, 5 to 20 roughly.</p>
<sec id="s3-11">
<title>The Algorithm to Solve the L-BFGS TRS Using the Matrix Inversion Lemma</title>
<p>Given the trust region size <inline-formula id="inf528">
<mml:math id="m564">
<mml:mrow>
<mml:mi mathvariant="bold">&#x394;</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mi mathvariant="normal">&#x394;</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo>&#x3e;</mml:mo>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula>, threshold of convergence <inline-formula id="inf529">
<mml:math id="m565">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold-italic">&#x3b4;</mml:mi>
<mml:mrow>
<mml:mi mathvariant="bold-italic">cr</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3e;</mml:mo>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula>, maximum number of iterations allowed <inline-formula id="inf530">
<mml:math id="m566">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold-italic">N</mml:mi>
<mml:mrow>
<mml:mi mathvariant="bold-italic">TRS</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="bold-italic">max</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3e;</mml:mo>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula>, the scaling factor <inline-formula id="inf531">
<mml:math id="m567">
<mml:mrow>
<mml:mi mathvariant="bold-italic">&#x3b1;</mml:mi>
<mml:mo>&#x3e;</mml:mo>
<mml:msub>
<mml:mi mathvariant="bold-italic">&#x3b1;</mml:mi>
<mml:mrow>
<mml:mi mathvariant="bold-italic">cr</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3e;</mml:mo>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula>, <inline-formula id="inf532">
<mml:math id="m568">
<mml:mrow>
<mml:mi mathvariant="bold-italic">m</mml:mi>
<mml:mo>&#x2265;</mml:mo>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula>, <inline-formula id="inf533">
<mml:math id="m569">
<mml:mrow>
<mml:mi mathvariant="bold-italic">n</mml:mi>
<mml:mo>&#xd7;</mml:mo>
<mml:mi mathvariant="bold-italic">m</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> matrix <inline-formula id="inf534">
<mml:math id="m570">
<mml:mrow>
<mml:mi mathvariant="bold-italic">V</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">S</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo>,</mml:mo>
<mml:msup>
<mml:mi mathvariant="bold-italic">Z</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msup>
</mml:mrow>
<mml:mo>]</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula>, <inline-formula id="inf535">
<mml:math id="m571">
<mml:mrow>
<mml:mi mathvariant="bold-italic">m</mml:mi>
<mml:mo>&#xd7;</mml:mo>
<mml:mi mathvariant="bold-italic">m</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> matrices <inline-formula id="inf536">
<mml:math id="m572">
<mml:mrow>
<mml:mi mathvariant="bold-italic">P</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mi mathvariant="bold-italic">P</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> and <inline-formula id="inf537">
<mml:math id="m573">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold-italic">W</mml:mi>
<mml:mi mathvariant="bold-italic">I</mml:mi>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">W</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msup>
</mml:mrow>
<mml:mo>]</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>, <inline-formula id="inf538">
<mml:math id="m574">
<mml:mi mathvariant="bold-italic">m</mml:mi>
</mml:math>
</inline-formula>
<bold>-</bold>dimensional vector <inline-formula id="inf539">
<mml:math id="m575">
<mml:mrow>
<mml:mi mathvariant="bold-italic">u</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mi mathvariant="bold-italic">u</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> and <inline-formula id="inf540">
<mml:math id="m576">
<mml:mi mathvariant="bold-italic">n</mml:mi>
</mml:math>
</inline-formula>
<bold>-</bold>dimensional gradient vector <inline-formula id="inf541">
<mml:math id="m577">
<mml:mrow>
<mml:mi mathvariant="bold-italic">g</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mi mathvariant="bold-italic">g</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> evaluated at the current best solution <inline-formula id="inf542">
<mml:math id="m578">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">x</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>, both the Lagrange multiplier <inline-formula id="inf543">
<mml:math id="m579">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">&#x3bb;</mml:mi>
<mml:mtext>&#x2a;</mml:mtext>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>and the trust region search step <inline-formula id="inf544">
<mml:math id="m580">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">s</mml:mi>
<mml:mtext>&#x2a;</mml:mtext>
</mml:msup>
<mml:mo>&#x3d;</mml:mo>
<mml:mi mathvariant="bold-italic">s</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:msup>
<mml:mi mathvariant="bold-italic">&#x3bb;</mml:mi>
<mml:mtext>&#x2a;</mml:mtext>
</mml:msup>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> can be solved from the TRS defined in <xref ref-type="disp-formula" rid="e8">Eq. 8</xref> using the matrix inversion lemma (MIL) as summarized in Algorithm-5.</p>
<p>
<bold>Algorithm-5:</bold> Solving the L-BFGS TRS Using the Matrix Inversion Lemma</p>
<p>
<list list-type="simple">
<list-item>
<p>1. <italic>Compute&#x20;</italic>
<inline-formula id="inf545">
<mml:math id="m581">
<mml:mrow>
<mml:mo>&#x2016;</mml:mo>
<mml:mi mathvariant="bold-italic">g</mml:mi>
<mml:mo>&#x2016;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula>;</p>
</list-item>
<list-item>
<p>2. <italic>Initialize</italic> <inline-formula id="inf546">
<mml:math id="m582">
<mml:mrow>
<mml:mi mathvariant="bold-italic">l</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula>, <inline-formula id="inf547">
<mml:math id="m583">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold-italic">&#x3bb;</mml:mi>
<mml:mn>0</mml:mn>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula>;</p>
</list-item>
<list-item>
<p>3. <italic>If</italic> <inline-formula id="inf548">
<mml:math id="m584">
<mml:mrow>
<mml:mi mathvariant="bold-italic">m</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula>,<italic>&#x20;then</italic>
</p>
<list list-type="simple">
<list-item>
<p>a. <italic>Set</italic> <inline-formula id="inf549">
<mml:math id="m585">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">&#x3bb;</mml:mi>
<mml:mi mathvariant="bold-italic">&#x2a;</mml:mi>
</mml:msup>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula> <italic>and</italic> <inline-formula id="inf550">
<mml:math id="m586">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">s</mml:mi>
<mml:mo>&#x2217;</mml:mo>
</mml:msup>
<mml:mo>&#x3d;</mml:mo>
<mml:mo>&#x2212;</mml:mo>
<mml:mi mathvariant="bold-italic">g</mml:mi>
<mml:mo>/</mml:mo>
<mml:mi mathvariant="bold-italic">&#x3b1;</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> <italic>if</italic> <inline-formula id="inf551">
<mml:math id="m587">
<mml:mrow>
<mml:mo>&#x2016;</mml:mo>
<mml:mi mathvariant="bold-italic">g</mml:mi>
<mml:mo>&#x2016;</mml:mo>
<mml:mo>&#x2264;</mml:mo>
<mml:mi mathvariant="bold-italic">&#x3b1;</mml:mi>
<mml:mi>&#x394;</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>
<bold>
<italic>;</italic>
</bold>
</p>
</list-item>
<list-item>
<p>b. <italic>Set</italic> <inline-formula id="inf552">
<mml:math id="m588">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">&#x3bb;</mml:mi>
<mml:mi mathvariant="bold-italic">&#x2a;</mml:mi>
</mml:msup>
<mml:mo>&#x3d;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mo>&#x2016;</mml:mo>
<mml:mi mathvariant="bold-italic">g</mml:mi>
<mml:mo>&#x2016;</mml:mo>
</mml:mrow>
<mml:mi>&#x394;</mml:mi>
</mml:mfrac>
<mml:mo>&#x2212;</mml:mo>
<mml:mi mathvariant="bold-italic">&#x3b1;</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> <italic>and</italic> <inline-formula id="inf553">
<mml:math id="m589">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">s</mml:mi>
<mml:mo>&#x2217;</mml:mo>
</mml:msup>
<mml:mo>&#x3d;</mml:mo>
<mml:mo>&#x2212;</mml:mo>
<mml:mi mathvariant="bold-italic">g</mml:mi>
<mml:mfrac>
<mml:mi>&#x394;</mml:mi>
<mml:mrow>
<mml:mo>&#x2016;</mml:mo>
<mml:mi mathvariant="bold-italic">g</mml:mi>
<mml:mo>&#x2016;</mml:mo>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
</mml:math>
</inline-formula> <italic>if</italic> <inline-formula id="inf554">
<mml:math id="m590">
<mml:mrow>
<mml:mo>&#x2016;</mml:mo>
<mml:mi mathvariant="bold-italic">g</mml:mi>
<mml:mo>&#x2016;</mml:mo>
<mml:mo>&#x3e;</mml:mo>
<mml:mi mathvariant="bold-italic">&#x3b1;</mml:mi>
<mml:mi>&#x394;</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>;</p>
</list-item>
<list-item>
<p>c. <italic>Goto step&#x20;11.</italic>
</p>
</list-item>
</list>
</list-item>
<list-item>
<p>4. <italic>Compute</italic> <inline-formula id="inf555">
<mml:math id="m591">
<mml:mrow>
<mml:mi mathvariant="bold-italic">D</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mfrac>
<mml:mn>1</mml:mn>
<mml:mrow>
<mml:mi mathvariant="bold-italic">&#x3b1;</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mi mathvariant="bold-italic">&#x3bb;</mml:mi>
<mml:mn>0</mml:mn>
</mml:msub>
</mml:mrow>
</mml:mfrac>
<mml:mi mathvariant="bold-italic">P</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi mathvariant="bold-italic">W</mml:mi>
<mml:mi mathvariant="bold-italic">I</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> <italic>and Cholesky decomposition</italic> <inline-formula id="inf556">
<mml:math id="m592">
<mml:mrow>
<mml:mi mathvariant="bold-italic">D</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mi mathvariant="bold-italic">L</mml:mi>
<mml:msup>
<mml:mi mathvariant="bold-italic">L</mml:mi>
<mml:mi mathvariant="bold-italic">T</mml:mi>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>;</p>
</list-item>
<list-item>
<p>5. <italic>Solve</italic> <inline-formula id="inf557">
<mml:math id="m593">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">p</mml:mi>
<mml:mi mathvariant="bold-italic">&#x2a;</mml:mi>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> <italic>from</italic> <inline-formula id="inf558">
<mml:math id="m594">
<mml:mrow>
<mml:mi mathvariant="bold-italic">Lp</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mi mathvariant="bold-italic">u</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> <italic>and</italic> <inline-formula id="inf559">
<mml:math id="m595">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">v</mml:mi>
<mml:mi mathvariant="bold-italic">&#x2a;</mml:mi>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> <italic>from</italic> <inline-formula id="inf560">
<mml:math id="m596">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">L</mml:mi>
<mml:mi mathvariant="bold-italic">T</mml:mi>
</mml:msup>
<mml:mi mathvariant="bold-italic">v</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mi mathvariant="bold-italic">p</mml:mi>
<mml:mi mathvariant="bold-italic">&#x2a;</mml:mi>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>;</p>
</list-item>
<list-item>
<p>6. <italic>Compute</italic> <inline-formula id="inf561">
<mml:math id="m597">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">u</mml:mi>
<mml:mi mathvariant="bold-italic">T</mml:mi>
</mml:msup>
<mml:msup>
<mml:mi mathvariant="bold-italic">v</mml:mi>
<mml:mi mathvariant="bold-italic">&#x2a;</mml:mi>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>, <inline-formula id="inf562">
<mml:math id="m598">
<mml:mrow>
<mml:mi mathvariant="bold-italic">p</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mi mathvariant="bold-italic">W</mml:mi>
<mml:mi mathvariant="bold-italic">I</mml:mi>
</mml:msub>
<mml:msup>
<mml:mi mathvariant="bold-italic">v</mml:mi>
<mml:mi mathvariant="bold-italic">&#x2a;</mml:mi>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>, <inline-formula id="inf563">
<mml:math id="m599">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">p</mml:mi>
<mml:mi mathvariant="bold-italic">T</mml:mi>
</mml:msup>
<mml:msup>
<mml:mi mathvariant="bold-italic">v</mml:mi>
<mml:mi mathvariant="bold-italic">&#x2a;</mml:mi>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>, <italic>and</italic> <inline-formula id="inf564">
<mml:math id="m600">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold-italic">&#x3c0;</mml:mi>
<mml:mn>0</mml:mn>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mi mathvariant="bold-italic">&#x3c0;</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold-italic">&#x3bb;</mml:mi>
<mml:mn>0</mml:mn>
</mml:msub>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> <italic>using</italic> <xref ref-type="disp-formula" rid="e20">
<italic>Eq.&#x20;20</italic>
</xref>;</p>
</list-item>
<list-item>
<p>7. <italic>If</italic> <inline-formula id="inf565">
<mml:math id="m601">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold-italic">&#x3c0;</mml:mi>
<mml:mn>0</mml:mn>
</mml:msub>
<mml:mo>&#x2264;</mml:mo>
<mml:msup>
<mml:mi mathvariant="bold-italic">&#x394;</mml:mi>
<mml:mn>2</mml:mn>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>, <italic>then accept</italic> <inline-formula id="inf566">
<mml:math id="m602">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">&#x3bb;</mml:mi>
<mml:mi mathvariant="bold-italic">&#x2a;</mml:mi>
</mml:msup>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mi mathvariant="bold-italic">&#x3bb;</mml:mi>
<mml:mn>0</mml:mn>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> <italic>and goto step&#x20;10;</italic>
</p>
</list-item>
<list-item>
<p>8. <italic>Set</italic> <inline-formula id="inf567">
<mml:math id="m603">
<mml:mrow>
<mml:mi mathvariant="bold-italic">&#x3b4;</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mrow>
<mml:mo>&#x7c;</mml:mo>
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>&#x2212;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msqrt>
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold-italic">&#x3c0;</mml:mi>
<mml:mn>0</mml:mn>
</mml:msub>
</mml:mrow>
</mml:msqrt>
</mml:mrow>
<mml:mi mathvariant="bold-italic">&#x394;</mml:mi>
</mml:mfrac>
</mml:mrow>
<mml:mo>&#x7c;</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula>;</p>
</list-item>
<list-item>
<p>9. <italic>Repeat steps (a) through (j) below, until convergence</italic> (<inline-formula id="inf568">
<mml:math id="m604">
<mml:mrow>
<mml:mi mathvariant="bold-italic">&#x3b4;</mml:mi>
<mml:mo>&#x2264;</mml:mo>
<mml:msub>
<mml:mi mathvariant="bold-italic">&#x3b4;</mml:mi>
<mml:mrow>
<mml:mi mathvariant="bold-italic">cr</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> or <inline-formula id="inf569">
<mml:math id="m605">
<mml:mrow>
<mml:mi mathvariant="bold-italic">l</mml:mi>
<mml:mo>&#x3e;</mml:mo>
<mml:msub>
<mml:mi mathvariant="bold-italic">N</mml:mi>
<mml:mrow>
<mml:mi mathvariant="bold-italic">TRS</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="bold-italic">max</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>):</p>
<list list-type="simple">
<list-item>
<p>a. <italic>Compute</italic> <inline-formula id="inf570">
<mml:math id="m606">
<mml:mrow>
<mml:mi mathvariant="bold-italic">q</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mfrac>
<mml:mn>1</mml:mn>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi mathvariant="bold-italic">&#x3b1;</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mi mathvariant="bold-italic">&#x3bb;</mml:mi>
<mml:mi mathvariant="bold-italic">l</mml:mi>
</mml:msub>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mn>2</mml:mn>
</mml:msup>
</mml:mrow>
</mml:mfrac>
<mml:mi mathvariant="bold-italic">P</mml:mi>
<mml:msup>
<mml:mi mathvariant="bold-italic">v</mml:mi>
<mml:mi mathvariant="bold-italic">&#x2a;</mml:mi>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>&#x20;;</p>
</list-item>
<list-item>
<p>b. <italic>Solve</italic> <inline-formula id="inf571">
<mml:math id="m607">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">p</mml:mi>
<mml:mi mathvariant="bold-italic">&#x2a;</mml:mi>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> <italic>from</italic> <inline-formula id="inf572">
<mml:math id="m608">
<mml:mrow>
<mml:mi mathvariant="bold-italic">Lp</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mi mathvariant="bold-italic">q</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> <italic>and</italic> <inline-formula id="inf573">
<mml:math id="m609">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">w</mml:mi>
<mml:mi mathvariant="bold-italic">&#x2a;</mml:mi>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> <italic>from</italic> <inline-formula id="inf574">
<mml:math id="m610">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">L</mml:mi>
<mml:mi mathvariant="bold-italic">T</mml:mi>
</mml:msup>
<mml:mi mathvariant="bold-italic">w</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mi mathvariant="bold-italic">p</mml:mi>
<mml:mi mathvariant="bold-italic">&#x2a;</mml:mi>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>
<italic>;</italic>
</p>
</list-item>
<list-item>
<p>c. <italic>Compute</italic> <inline-formula id="inf575">
<mml:math id="m611">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">u</mml:mi>
<mml:mi mathvariant="bold-italic">T</mml:mi>
</mml:msup>
<mml:msup>
<mml:mi mathvariant="bold-italic">w</mml:mi>
<mml:mi mathvariant="bold-italic">&#x2a;</mml:mi>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>
<italic>,</italic> <inline-formula id="inf576">
<mml:math id="m612">
<mml:mrow>
<mml:mi mathvariant="bold-italic">p</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mi mathvariant="bold-italic">W</mml:mi>
<mml:mi mathvariant="bold-italic">I</mml:mi>
</mml:msub>
<mml:msup>
<mml:mi mathvariant="bold-italic">w</mml:mi>
<mml:mi mathvariant="bold-italic">&#x2a;</mml:mi>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>
<italic>,</italic> <inline-formula id="inf577">
<mml:math id="m613">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">p</mml:mi>
<mml:mi mathvariant="bold-italic">T</mml:mi>
</mml:msup>
<mml:msup>
<mml:mi mathvariant="bold-italic">v</mml:mi>
<mml:mi mathvariant="bold-italic">&#x2a;</mml:mi>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>
<italic>, and</italic> <inline-formula id="inf578">
<mml:math id="m614">
<mml:mrow>
<mml:msubsup>
<mml:mi mathvariant="bold-italic">&#x3c0;</mml:mi>
<mml:mi mathvariant="bold-italic">l</mml:mi>
<mml:mi mathvariant="bold-italic">&#x2032;</mml:mi>
</mml:msubsup>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mi mathvariant="bold-italic">&#x3c0;</mml:mi>
<mml:mi mathvariant="bold-italic">&#x2032;</mml:mi>
</mml:msup>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold-italic">&#x3bb;</mml:mi>
<mml:mi mathvariant="bold-italic">l</mml:mi>
</mml:msub>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> <italic>using</italic> <xref ref-type="disp-formula" rid="e21">
<italic>Eq.&#x20;21</italic>
</xref>
<italic>;</italic>
</p>
</list-item>
<list-item>
<p>d. <italic>Compute</italic> <inline-formula id="inf579">
<mml:math id="m615">
<mml:mrow>
<mml:msub>
<mml:mi>&#x3d5;</mml:mi>
<mml:mi mathvariant="bold-italic">l</mml:mi>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mfrac>
<mml:mn>1</mml:mn>
<mml:mrow>
<mml:msqrt>
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold-italic">&#x3c0;</mml:mi>
<mml:mi mathvariant="bold-italic">l</mml:mi>
</mml:msub>
</mml:mrow>
</mml:msqrt>
</mml:mrow>
</mml:mfrac>
<mml:mo>&#x2212;</mml:mo>
<mml:mfrac>
<mml:mn>1</mml:mn>
<mml:mi mathvariant="bold-italic">&#x394;</mml:mi>
</mml:mfrac>
</mml:mrow>
</mml:math>
</inline-formula> <italic>and</italic> <inline-formula id="inf580">
<mml:math id="m616">
<mml:mrow>
<mml:msubsup>
<mml:mi>&#x3d5;</mml:mi>
<mml:mi mathvariant="bold-italic">l</mml:mi>
<mml:mi mathvariant="bold-italic">&#x2032;</mml:mi>
</mml:msubsup>
<mml:mo>&#x3d;</mml:mo>
<mml:mo>&#x2212;</mml:mo>
<mml:mfrac>
<mml:mn>1</mml:mn>
<mml:mn>2</mml:mn>
</mml:mfrac>
<mml:mfrac>
<mml:mrow>
<mml:msubsup>
<mml:mi mathvariant="bold-italic">&#x3c0;</mml:mi>
<mml:mi mathvariant="bold-italic">l</mml:mi>
<mml:mi mathvariant="bold-italic">&#x2032;</mml:mi>
</mml:msubsup>
</mml:mrow>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold-italic">&#x3c0;</mml:mi>
<mml:mi mathvariant="bold-italic">l</mml:mi>
</mml:msub>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mrow>
<mml:mn>3</mml:mn>
<mml:mo>/</mml:mo>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
</mml:math>
</inline-formula>
<italic>;</italic>
</p>
</list-item>
<list-item>
<p>e. <italic>Update</italic> <inline-formula id="inf581">
<mml:math id="m617">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold-italic">&#x3bb;</mml:mi>
<mml:mrow>
<mml:mi mathvariant="bold-italic">l</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mi mathvariant="bold-italic">&#x3bb;</mml:mi>
<mml:mi mathvariant="bold-italic">l</mml:mi>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mi>&#x3d5;</mml:mi>
<mml:mi mathvariant="bold-italic">l</mml:mi>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:msubsup>
<mml:mi>&#x3d5;</mml:mi>
<mml:mi mathvariant="bold-italic">l</mml:mi>
<mml:mi mathvariant="bold-italic">&#x27;</mml:mi>
</mml:msubsup>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
</mml:math>
</inline-formula>;</p>
</list-item>
<list-item>
<p>f. <italic>Set</italic> <inline-formula id="inf582">
<mml:math id="m618">
<mml:mrow>
<mml:mi mathvariant="bold-italic">l</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mi mathvariant="bold-italic">l</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula>;</p>
</list-item>
<list-item>
<p>g. <italic>Compute</italic> <inline-formula id="inf583">
<mml:math id="m619">
<mml:mrow>
<mml:mi mathvariant="bold-italic">D</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mfrac>
<mml:mn>1</mml:mn>
<mml:mrow>
<mml:mi mathvariant="bold-italic">&#x3b1;</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mi mathvariant="bold-italic">&#x3bb;</mml:mi>
<mml:mi mathvariant="bold-italic">l</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfrac>
<mml:mi mathvariant="bold-italic">P</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi mathvariant="bold-italic">W</mml:mi>
<mml:mi mathvariant="bold-italic">I</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> <italic>and Cholesky decomposition</italic> <inline-formula id="inf584">
<mml:math id="m620">
<mml:mrow>
<mml:mi mathvariant="bold-italic">D</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mi mathvariant="bold-italic">L</mml:mi>
<mml:msup>
<mml:mi mathvariant="bold-italic">L</mml:mi>
<mml:mi mathvariant="bold-italic">T</mml:mi>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>;</p>
</list-item>
<list-item>
<p>h. <italic>Solve</italic> <inline-formula id="inf585">
<mml:math id="m621">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">p</mml:mi>
<mml:mi mathvariant="bold-italic">&#x2a;</mml:mi>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> <italic>from</italic> <inline-formula id="inf586">
<mml:math id="m622">
<mml:mrow>
<mml:mi mathvariant="bold-italic">Lp</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mi mathvariant="bold-italic">u</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> <italic>and</italic> <inline-formula id="inf587">
<mml:math id="m623">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">v</mml:mi>
<mml:mi mathvariant="bold-italic">&#x2a;</mml:mi>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> <italic>from</italic> <inline-formula id="inf588">
<mml:math id="m624">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">L</mml:mi>
<mml:mi mathvariant="bold-italic">T</mml:mi>
</mml:msup>
<mml:mi mathvariant="bold-italic">v</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mi mathvariant="bold-italic">p</mml:mi>
<mml:mi mathvariant="bold-italic">&#x2a;</mml:mi>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>
<italic>;</italic>
</p>
</list-item>
<list-item>
<p>i. <italic>Compute</italic> <inline-formula id="inf589">
<mml:math id="m625">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">u</mml:mi>
<mml:mi mathvariant="bold-italic">T</mml:mi>
</mml:msup>
<mml:msup>
<mml:mi mathvariant="bold-italic">v</mml:mi>
<mml:mi mathvariant="bold-italic">&#x2a;</mml:mi>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>, <inline-formula id="inf590">
<mml:math id="m626">
<mml:mrow>
<mml:mi mathvariant="bold-italic">p</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mi mathvariant="bold-italic">W</mml:mi>
<mml:mi mathvariant="bold-italic">I</mml:mi>
</mml:msub>
<mml:msup>
<mml:mi mathvariant="bold-italic">v</mml:mi>
<mml:mi mathvariant="bold-italic">&#x2a;</mml:mi>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>, <inline-formula id="inf591">
<mml:math id="m627">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">p</mml:mi>
<mml:mi mathvariant="bold-italic">T</mml:mi>
</mml:msup>
<mml:msup>
<mml:mi mathvariant="bold-italic">v</mml:mi>
<mml:mi mathvariant="bold-italic">&#x2a;</mml:mi>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>, <italic>and</italic> <inline-formula id="inf592">
<mml:math id="m628">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold-italic">&#x3c0;</mml:mi>
<mml:mi mathvariant="bold-italic">l</mml:mi>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mi mathvariant="bold-italic">&#x3c0;</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold-italic">&#x3bb;</mml:mi>
<mml:mi mathvariant="bold-italic">l</mml:mi>
</mml:msub>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> <italic>using</italic> <xref ref-type="disp-formula" rid="e20">
<italic>Eq.&#x20;20</italic>
</xref>;</p>
</list-item>
<list-item>
<p>j. <italic>Set</italic> <inline-formula id="inf593">
<mml:math id="m629">
<mml:mrow>
<mml:mi mathvariant="bold-italic">&#x3b4;</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mrow>
<mml:mo>&#x7c;</mml:mo>
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>&#x2212;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msqrt>
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold-italic">&#x3c0;</mml:mi>
<mml:mi mathvariant="bold-italic">l</mml:mi>
</mml:msub>
</mml:mrow>
</mml:msqrt>
</mml:mrow>
<mml:mi mathvariant="bold-italic">&#x394;</mml:mi>
</mml:mfrac>
</mml:mrow>
<mml:mo>&#x7c;</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula>.</p>
</list-item>
</list>
</list-item>
<list-item>
<p>10. <italic>Compute</italic> <inline-formula id="inf594">
<mml:math id="m630">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">p</mml:mi>
<mml:mi mathvariant="bold-italic">&#x2a;</mml:mi>
</mml:msup>
<mml:mo>&#x3d;</mml:mo>
<mml:mi mathvariant="bold-italic">V</mml:mi>
<mml:msup>
<mml:mi mathvariant="bold-italic">v</mml:mi>
<mml:mi mathvariant="bold-italic">&#x2a;</mml:mi>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> <italic>and</italic> <inline-formula id="inf595">
<mml:math id="m631">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">s</mml:mi>
<mml:mi mathvariant="bold-italic">&#x2a;</mml:mi>
</mml:msup>
<mml:mi mathvariant="bold-italic">&#xa0;</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mo>&#x2212;</mml:mo>
<mml:mfrac>
<mml:mn>1</mml:mn>
<mml:mrow>
<mml:mi mathvariant="bold-italic">&#x3b1;</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:msup>
<mml:mi mathvariant="bold-italic">&#x3bb;</mml:mi>
<mml:mi mathvariant="bold-italic">&#x2a;</mml:mi>
</mml:msup>
</mml:mrow>
</mml:mfrac>
<mml:mi mathvariant="bold-italic">g</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mfrac>
<mml:mn>1</mml:mn>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi mathvariant="bold-italic">&#x3b1;</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:msup>
<mml:mi mathvariant="bold-italic">&#x3bb;</mml:mi>
<mml:mi mathvariant="bold-italic">&#x2a;</mml:mi>
</mml:msup>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mn>2</mml:mn>
</mml:msup>
</mml:mrow>
</mml:mfrac>
<mml:msup>
<mml:mi mathvariant="bold-italic">p</mml:mi>
<mml:mi mathvariant="bold-italic">&#x2a;</mml:mi>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>;</p>
</list-item>
<list-item>
<p>11. <italic>End</italic>
</p>
</list-item>
</list>
</p>
<p>Let <inline-formula id="inf596">
<mml:math id="m632">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold-italic">N</mml:mi>
<mml:mrow>
<mml:mi mathvariant="bold-italic">MIL</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> denote the number of iterations required for the L-BFGS TRS solver to converge. The total computational cost (flops) to solve the L-BFGS TRS using Algorithm-5 is, <inline-formula id="inf597">
<mml:math id="m633">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold-italic">c</mml:mi>
<mml:mn>5</mml:mn>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>4</mml:mn>
<mml:mi mathvariant="bold-italic">n</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>2</mml:mn>
<mml:mi mathvariant="bold-italic">mn</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mn>9</mml:mn>
<mml:mi mathvariant="bold-italic">m</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>12</mml:mn>
<mml:msup>
<mml:mi mathvariant="bold-italic">m</mml:mi>
<mml:mn>2</mml:mn>
</mml:msup>
<mml:mo>&#x2b;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">m</mml:mi>
<mml:mn>3</mml:mn>
</mml:msup>
</mml:mrow>
<mml:mn>3</mml:mn>
</mml:mfrac>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold-italic">N</mml:mi>
<mml:mrow>
<mml:mi mathvariant="bold-italic">MIL</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula>, including the following eight operations: (1) computing <inline-formula id="inf598">
<mml:math id="m634">
<mml:mrow>
<mml:mo>&#x2016;</mml:mo>
<mml:mi mathvariant="bold-italic">g</mml:mi>
<mml:mo>&#x2016;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> in step 1 (<inline-formula id="inf599">
<mml:math id="m635">
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:mi mathvariant="bold-italic">n</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> flops); (2) computing <inline-formula id="inf600">
<mml:math id="m636">
<mml:mrow>
<mml:mi mathvariant="bold-italic">D</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mfrac>
<mml:mn>1</mml:mn>
<mml:mrow>
<mml:mi mathvariant="bold-italic">&#x3b1;</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mi mathvariant="bold-italic">&#x3bb;</mml:mi>
<mml:mi mathvariant="bold-italic">l</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfrac>
<mml:mi mathvariant="bold-italic">P</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi mathvariant="bold-italic">W</mml:mi>
<mml:mi mathvariant="bold-italic">I</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> and Cholesky decomposition <inline-formula id="inf601">
<mml:math id="m637">
<mml:mrow>
<mml:mi mathvariant="bold-italic">D</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mi mathvariant="bold-italic">L</mml:mi>
<mml:msup>
<mml:mi mathvariant="bold-italic">L</mml:mi>
<mml:mi mathvariant="bold-italic">T</mml:mi>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> in step 4 or step 9(g) (<inline-formula id="inf602">
<mml:math id="m638">
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:msup>
<mml:mi mathvariant="bold-italic">m</mml:mi>
<mml:mn>2</mml:mn>
</mml:msup>
<mml:mo>&#x2b;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">m</mml:mi>
<mml:mn>3</mml:mn>
</mml:msup>
</mml:mrow>
<mml:mn>3</mml:mn>
</mml:mfrac>
</mml:mrow>
</mml:math>
</inline-formula> flops); (3) solving <inline-formula id="inf603">
<mml:math id="m639">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">p</mml:mi>
<mml:mtext>&#x2a;</mml:mtext>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> from <inline-formula id="inf604">
<mml:math id="m640">
<mml:mrow>
<mml:mi mathvariant="bold-italic">L</mml:mi>
<mml:mi mathvariant="bold-italic">p</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mi mathvariant="bold-italic">u</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>, and <inline-formula id="inf605">
<mml:math id="m641">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">v</mml:mi>
<mml:mtext>&#x2a;</mml:mtext>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> from <inline-formula id="inf606">
<mml:math id="m642">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">L</mml:mi>
<mml:mi mathvariant="bold-italic">T</mml:mi>
</mml:msup>
<mml:mi mathvariant="bold-italic">v</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mi mathvariant="bold-italic">p</mml:mi>
<mml:mtext>&#x2a;</mml:mtext>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> in step 5 or step 9(h) (<inline-formula id="inf607">
<mml:math id="m643">
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:msup>
<mml:mi mathvariant="bold-italic">m</mml:mi>
<mml:mn>2</mml:mn>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> flops); (4) computing <inline-formula id="inf608">
<mml:math id="m644">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">u</mml:mi>
<mml:mi mathvariant="bold-italic">T</mml:mi>
</mml:msup>
<mml:msup>
<mml:mi mathvariant="bold-italic">v</mml:mi>
<mml:mtext>&#x2a;</mml:mtext>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>, <inline-formula id="inf609">
<mml:math id="m645">
<mml:mrow>
<mml:mi mathvariant="bold-italic">p</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mi mathvariant="bold-italic">W</mml:mi>
<mml:mi mathvariant="bold-italic">I</mml:mi>
</mml:msub>
<mml:msup>
<mml:mi mathvariant="bold-italic">v</mml:mi>
<mml:mtext>&#x2a;</mml:mtext>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> and <inline-formula id="inf610">
<mml:math id="m646">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">p</mml:mi>
<mml:mi mathvariant="bold-italic">T</mml:mi>
</mml:msup>
<mml:msup>
<mml:mi mathvariant="bold-italic">v</mml:mi>
<mml:mtext>&#x2a;</mml:mtext>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> in step 6 or step 9(i) (<inline-formula id="inf611">
<mml:math id="m647">
<mml:mrow>
<mml:mn>4</mml:mn>
<mml:mi mathvariant="bold-italic">m</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>2</mml:mn>
<mml:msup>
<mml:mi mathvariant="bold-italic">m</mml:mi>
<mml:mn>2</mml:mn>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> flops); (5) computing <inline-formula id="inf612">
<mml:math id="m648">
<mml:mrow>
<mml:mi mathvariant="bold-italic">q</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mfrac>
<mml:mn>1</mml:mn>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi mathvariant="bold-italic">&#x3b1;</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mi mathvariant="bold-italic">&#x3bb;</mml:mi>
<mml:mi mathvariant="bold-italic">l</mml:mi>
</mml:msub>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mn>2</mml:mn>
</mml:msup>
</mml:mrow>
</mml:mfrac>
<mml:mi mathvariant="bold-italic">P</mml:mi>
<mml:msup>
<mml:mi mathvariant="bold-italic">v</mml:mi>
<mml:mtext>&#x2a;</mml:mtext>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> in step 9(a) (<inline-formula id="inf613">
<mml:math id="m649">
<mml:mrow>
<mml:mi mathvariant="bold-italic">m</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>2</mml:mn>
<mml:msup>
<mml:mi mathvariant="bold-italic">m</mml:mi>
<mml:mn>2</mml:mn>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> flops); (6) Solving <inline-formula id="inf614">
<mml:math id="m650">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">p</mml:mi>
<mml:mtext>&#x2a;</mml:mtext>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> from <inline-formula id="inf615">
<mml:math id="m651">
<mml:mrow>
<mml:mi mathvariant="bold-italic">Lp</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mi mathvariant="bold-italic">q</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> and <inline-formula id="inf616">
<mml:math id="m652">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">w</mml:mi>
<mml:mtext>&#x2a;</mml:mtext>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> from <inline-formula id="inf617">
<mml:math id="m653">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">L</mml:mi>
<mml:mi mathvariant="bold-italic">T</mml:mi>
</mml:msup>
<mml:mi mathvariant="bold-italic">w</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mi mathvariant="bold-italic">p</mml:mi>
<mml:mtext>&#x2a;</mml:mtext>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> in step 9(b) (<inline-formula id="inf618">
<mml:math id="m654">
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:msup>
<mml:mi mathvariant="bold-italic">m</mml:mi>
<mml:mn>2</mml:mn>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> flops); and (7) computing <inline-formula id="inf619">
<mml:math id="m655">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">u</mml:mi>
<mml:mi mathvariant="bold-italic">T</mml:mi>
</mml:msup>
<mml:msup>
<mml:mi mathvariant="bold-italic">w</mml:mi>
<mml:mtext>&#x2a;</mml:mtext>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>, <inline-formula id="inf620">
<mml:math id="m656">
<mml:mrow>
<mml:mi mathvariant="bold-italic">p</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mi mathvariant="bold-italic">W</mml:mi>
<mml:mi mathvariant="bold-italic">I</mml:mi>
</mml:msub>
<mml:msup>
<mml:mi mathvariant="bold-italic">w</mml:mi>
<mml:mtext>&#x2a;</mml:mtext>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>, and <inline-formula id="inf621">
<mml:math id="m657">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">p</mml:mi>
<mml:mi mathvariant="bold-italic">T</mml:mi>
</mml:msup>
<mml:msup>
<mml:mi mathvariant="bold-italic">v</mml:mi>
<mml:mtext>&#x2a;</mml:mtext>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> in step 9(c) (<inline-formula id="inf622">
<mml:math id="m658">
<mml:mrow>
<mml:mn>4</mml:mn>
<mml:mi mathvariant="bold-italic">m</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>2</mml:mn>
<mml:msup>
<mml:mi mathvariant="bold-italic">m</mml:mi>
<mml:mn>2</mml:mn>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> flops); and (8) computing <inline-formula id="inf623">
<mml:math id="m659">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">p</mml:mi>
<mml:mtext>&#x2a;</mml:mtext>
</mml:msup>
<mml:mo>&#x3d;</mml:mo>
<mml:mi mathvariant="bold-italic">V</mml:mi>
<mml:msup>
<mml:mi mathvariant="bold-italic">z</mml:mi>
<mml:mtext>&#x2a;</mml:mtext>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> and <inline-formula id="inf624">
<mml:math id="m660">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">s</mml:mi>
<mml:mtext>&#x2a;</mml:mtext>
</mml:msup>
<mml:mtext>&#xa0;</mml:mtext>
<mml:mo>&#x3d;</mml:mo>
<mml:mo>&#x2212;</mml:mo>
<mml:mfrac>
<mml:mn>1</mml:mn>
<mml:mrow>
<mml:mi mathvariant="bold-italic">&#x3b1;</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:msup>
<mml:mi mathvariant="bold-italic">&#x3bb;</mml:mi>
<mml:mtext>&#x2a;</mml:mtext>
</mml:msup>
</mml:mrow>
</mml:mfrac>
<mml:mi mathvariant="bold-italic">g</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mfrac>
<mml:mn>1</mml:mn>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi mathvariant="bold-italic">&#x3b1;</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:msup>
<mml:mi mathvariant="bold-italic">&#x3bb;</mml:mi>
<mml:mtext>&#x2a;</mml:mtext>
</mml:msup>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mn>2</mml:mn>
</mml:msup>
</mml:mrow>
</mml:mfrac>
<mml:msup>
<mml:mi mathvariant="bold-italic">p</mml:mi>
<mml:mtext>&#x2a;</mml:mtext>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> in step 10 (<inline-formula id="inf625">
<mml:math id="m661">
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:mi mathvariant="bold-italic">mn</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>2</mml:mn>
<mml:mi mathvariant="bold-italic">n</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>).</p>
<p>The total computational cost (flops) used to solve the L-BFGS TRS using Algorithm-5 together with Algorithm-4 is,<disp-formula id="e34">
<mml:math id="m662">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold-italic">c</mml:mi>
<mml:mrow>
<mml:mi mathvariant="bold-italic">MIL</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mi mathvariant="bold-italic">c</mml:mi>
<mml:mn>4</mml:mn>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mi mathvariant="bold-italic">c</mml:mi>
<mml:mn>5</mml:mn>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>6</mml:mn>
<mml:mi mathvariant="bold-italic">n</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>6</mml:mn>
<mml:mi mathvariant="bold-italic">mn</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mn>9</mml:mn>
<mml:mi mathvariant="bold-italic">m</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>12</mml:mn>
<mml:msup>
<mml:mi mathvariant="bold-italic">m</mml:mi>
<mml:mn>2</mml:mn>
</mml:msup>
<mml:mo>&#x2b;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">m</mml:mi>
<mml:mn>3</mml:mn>
</mml:msup>
</mml:mrow>
<mml:mn>3</mml:mn>
</mml:mfrac>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold-italic">N</mml:mi>
<mml:mrow>
<mml:mi mathvariant="bold-italic">MIL</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
<label>(34)</label>
</disp-formula>It is straightforward to compute the normalized computational cost, or the ratio of computational cost of the DNR method (Algorithm-2) or the DIQ method (Algorithm-3) together with the algorithm that directly updates Hessian (Algorithm-1) over the MIL TRS solver using the matrix inversion lemma (Algorithm-5) and the efficient matrix updating algorithm (Algorithm-4),<disp-formula id="e35">
<mml:math id="m663">
<mml:mrow>
<mml:mi mathvariant="bold-italic">&#x3b2;</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold-italic">c</mml:mi>
<mml:mrow>
<mml:mi mathvariant="bold-italic">DIQ</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold-italic">c</mml:mi>
<mml:mrow>
<mml:mi mathvariant="bold-italic">MIL</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfrac>
<mml:mo>&#x3d;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:mi mathvariant="bold-italic">m</mml:mi>
<mml:msup>
<mml:mi mathvariant="bold-italic">n</mml:mi>
<mml:mn>2</mml:mn>
</mml:msup>
<mml:mo>&#x2b;</mml:mo>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mn>7</mml:mn>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>3</mml:mn>
<mml:msup>
<mml:mi mathvariant="bold-italic">m</mml:mi>
<mml:mn>2</mml:mn>
</mml:msup>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mi mathvariant="bold-italic">n</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mn>5</mml:mn>
<mml:mi mathvariant="bold-italic">n</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>2</mml:mn>
<mml:msup>
<mml:mi mathvariant="bold-italic">n</mml:mi>
<mml:mn>2</mml:mn>
</mml:msup>
<mml:mo>&#x2b;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">n</mml:mi>
<mml:mn>3</mml:mn>
</mml:msup>
</mml:mrow>
<mml:mn>3</mml:mn>
</mml:mfrac>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold-italic">N</mml:mi>
<mml:mrow>
<mml:mi mathvariant="bold-italic">DIQ</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mo>&#x2b;</mml:mo>
<mml:mi mathvariant="bold">O</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">m</mml:mi>
<mml:mn>3</mml:mn>
</mml:msup>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mrow>
<mml:mn>6</mml:mn>
<mml:mi mathvariant="bold-italic">n</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>6</mml:mn>
<mml:mi mathvariant="bold-italic">mn</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mn>9</mml:mn>
<mml:mi mathvariant="bold-italic">m</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>12</mml:mn>
<mml:msup>
<mml:mi mathvariant="bold-italic">m</mml:mi>
<mml:mn>2</mml:mn>
</mml:msup>
<mml:mo>&#x2b;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">m</mml:mi>
<mml:mn>3</mml:mn>
</mml:msup>
</mml:mrow>
<mml:mn>3</mml:mn>
</mml:mfrac>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold-italic">N</mml:mi>
<mml:mrow>
<mml:mi mathvariant="bold-italic">MIL</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
</mml:math>
<label>(35)</label>
</disp-formula>Because <inline-formula id="inf626">
<mml:math id="m664">
<mml:mrow>
<mml:mi mathvariant="bold-italic">n</mml:mi>
<mml:mo>&#x226b;</mml:mo>
<mml:mi mathvariant="bold-italic">m</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> for large-scale problems, <xref ref-type="disp-formula" rid="e35">Eq. 35</xref> can be further simplified as,<disp-formula id="e36">
<mml:math id="m665">
<mml:mrow>
<mml:mi mathvariant="bold-italic">&#x3b2;</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold-italic">c</mml:mi>
<mml:mrow>
<mml:mi mathvariant="bold-italic">DIQ</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold-italic">c</mml:mi>
<mml:mrow>
<mml:mi mathvariant="bold-italic">MIL</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfrac>
<mml:mo>&#x2248;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold-italic">N</mml:mi>
<mml:mrow>
<mml:mi mathvariant="bold-italic">DIQ</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mn>18</mml:mn>
</mml:mrow>
</mml:mfrac>
<mml:mfrac>
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">n</mml:mi>
<mml:mn>2</mml:mn>
</mml:msup>
</mml:mrow>
<mml:mi mathvariant="bold-italic">m</mml:mi>
</mml:mfrac>
</mml:mrow>
</mml:math>
<label>(36)</label>
</disp-formula>For some problems the solution <inline-formula id="inf627">
<mml:math id="m666">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">s</mml:mi>
<mml:mi mathvariant="bold-italic">&#x2a;</mml:mi>
</mml:msup>
<mml:mo>&#x3d;</mml:mo>
<mml:mi mathvariant="bold-italic">s</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mn>0</mml:mn>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> is accepted with <inline-formula id="inf628">
<mml:math id="m667">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold-italic">N</mml:mi>
<mml:mrow>
<mml:mi mathvariant="bold-italic">DIQ</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mi mathvariant="bold-italic">N</mml:mi>
<mml:mrow>
<mml:mi mathvariant="bold-italic">MIL</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula>. For other problems, it takes roughly <inline-formula id="inf629">
<mml:math id="m668">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold-italic">N</mml:mi>
<mml:mrow>
<mml:mi mathvariant="bold-italic">DIQ</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2248;</mml:mo>
<mml:msub>
<mml:mi mathvariant="bold-italic">N</mml:mi>
<mml:mrow>
<mml:mi mathvariant="bold-italic">MIL</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>5</mml:mn>
<mml:mo>&#x223c;</mml:mo>
<mml:mn>15</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula> iterations for a TRS solver to converge. <xref ref-type="fig" rid="F1">Figure&#x20;1A,B</xref> illustrate the plots of <inline-formula id="inf630">
<mml:math id="m669">
<mml:mi mathvariant="bold-italic">&#x3b2;</mml:mi>
</mml:math>
</inline-formula> vs. <inline-formula id="inf631">
<mml:math id="m670">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">n</mml:mi>
<mml:mn>2</mml:mn>
</mml:msup>
<mml:mo>/</mml:mo>
<mml:mi mathvariant="bold-italic">m</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> for different <inline-formula id="inf632">
<mml:math id="m671">
<mml:mi mathvariant="bold-italic">m</mml:mi>
</mml:math>
</inline-formula> by fixing <inline-formula id="inf633">
<mml:math id="m672">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold-italic">N</mml:mi>
<mml:mrow>
<mml:mi mathvariant="bold-italic">DIQ</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mi mathvariant="bold-italic">N</mml:mi>
<mml:mrow>
<mml:mi mathvariant="bold-italic">MIL</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula> and <inline-formula id="inf634">
<mml:math id="m673">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold-italic">N</mml:mi>
<mml:mrow>
<mml:mi mathvariant="bold-italic">DIQ</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mi mathvariant="bold-italic">N</mml:mi>
<mml:mrow>
<mml:mi mathvariant="bold-italic">MIL</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>10</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula>, respectively. As shown in both <xref ref-type="fig" rid="F1">Figure&#x20;1A</xref> and <xref ref-type="fig" rid="F1">Figure&#x20;1B</xref>, the MIL TRS solver may reduce the computational cost by a factor <inline-formula id="inf635">
<mml:math id="m674">
<mml:mrow>
<mml:mi mathvariant="bold-italic">&#x3b2;</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>10</mml:mn>
<mml:mo>&#x223c;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mn>10</mml:mn>
</mml:mrow>
<mml:mn>5</mml:mn>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> for <inline-formula id="inf636">
<mml:math id="m675">
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">n</mml:mi>
<mml:mn>2</mml:mn>
</mml:msup>
</mml:mrow>
<mml:mi mathvariant="bold-italic">m</mml:mi>
</mml:mfrac>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>100</mml:mn>
<mml:mo>&#x223c;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mn>10</mml:mn>
</mml:mrow>
<mml:mn>6</mml:mn>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>.</p>
<fig id="F1" position="float">
<label>FIGURE 1</label>
<caption>
<p>Plots of the ratio of computational cost <bold>
<italic>&#x3b2;</italic>
</bold> vs. <bold>
<italic>n</italic>
</bold>
<sup>2</sup>
<bold>/m</bold>, computed using <xref ref-type="disp-formula" rid="e35">
<italic>Eq. 35</italic>
</xref> by fixing <inline-formula id="inf637">
<mml:math id="m676">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold-italic">N</mml:mi>
<mml:mrow>
<mml:mi mathvariant="bold-italic">DIQ</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mi mathvariant="bold-italic">N</mml:mi>
<mml:mrow>
<mml:mi mathvariant="bold-italic">MIL</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula> in <bold>(A)</bold> and <inline-formula id="inf638">
<mml:math id="m677">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold-italic">N</mml:mi>
<mml:mrow>
<mml:mi mathvariant="bold-italic">DIQ</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mi mathvariant="bold-italic">N</mml:mi>
<mml:mrow>
<mml:mi mathvariant="bold-italic">MIL</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>10</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula> in <bold>(B)</bold>.</p>
</caption>
<graphic xlink:href="fams-07-673412-g001.tif"/>
</fig>
</sec>
</sec>
</sec>
<sec id="s4">
<title>Numerical Validation</title>
<p>We benchmarked the MIL TRS solver against the DNR (or DIQ) TRS solver on two well-known analytic optimization problems using analytical gradients: the Rosenbrock function and the Sphere function defined as follows,<disp-formula id="e37">
<mml:math id="m678">
<mml:mrow>
<mml:mi mathvariant="bold-italic">f</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">x</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="bold">R</mml:mi>
<mml:mi mathvariant="bold">o</mml:mi>
<mml:mi mathvariant="bold">s</mml:mi>
<mml:mi mathvariant="bold">e</mml:mi>
<mml:mi mathvariant="bold">n</mml:mi>
<mml:mi mathvariant="bold">b</mml:mi>
<mml:mi mathvariant="bold">r</mml:mi>
<mml:mi mathvariant="bold">o</mml:mi>
<mml:mi mathvariant="bold">c</mml:mi>
<mml:mi mathvariant="bold">k</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:munderover>
<mml:mstyle displaystyle="true">
<mml:mo>&#x2211;</mml:mo>
</mml:mstyle>
<mml:mrow>
<mml:mi mathvariant="bold-italic">i</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="bold-italic">n</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:munderover>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:mn>100</mml:mn>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold-italic">x</mml:mi>
<mml:mrow>
<mml:mi mathvariant="bold-italic">i</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msubsup>
<mml:mi mathvariant="bold-italic">x</mml:mi>
<mml:mi mathvariant="bold-italic">i</mml:mi>
<mml:mn>2</mml:mn>
</mml:msubsup>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mn>2</mml:mn>
</mml:msup>
<mml:mo>&#x2b;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi mathvariant="bold-italic">x</mml:mi>
<mml:mi mathvariant="bold-italic">i</mml:mi>
</mml:msub>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mn>2</mml:mn>
</mml:msup>
</mml:mrow>
<mml:mo>]</mml:mo>
</mml:mrow>
<mml:mi mathvariant="bold-italic">&#xa0;</mml:mi>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:math>
<label>(37)</label>
</disp-formula>
<disp-formula id="e38">
<mml:math id="m679">
<mml:mrow>
<mml:mi mathvariant="bold-italic">f</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">x</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="bold">S</mml:mi>
<mml:mi mathvariant="bold">p</mml:mi>
<mml:mi mathvariant="bold">h</mml:mi>
<mml:mi mathvariant="bold">e</mml:mi>
<mml:mi mathvariant="bold">r</mml:mi>
<mml:mi mathvariant="bold">e</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:munderover>
<mml:mstyle displaystyle="true">
<mml:mo>&#x2211;</mml:mo>
</mml:mstyle>
<mml:mrow>
<mml:mi mathvariant="bold-italic">i</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mi mathvariant="bold-italic">n</mml:mi>
</mml:munderover>
<mml:msubsup>
<mml:mi mathvariant="bold-italic">x</mml:mi>
<mml:mi mathvariant="bold-italic">i</mml:mi>
<mml:mn>2</mml:mn>
</mml:msubsup>
<mml:mi mathvariant="bold-italic">&#xa0;</mml:mi>
</mml:mrow>
</mml:math>
<label>(38)</label>
</disp-formula>The Rosenbrock function defined in <xref ref-type="disp-formula" rid="e37">Eq. 37</xref> has one local minimum located at <inline-formula id="inf639">
<mml:math id="m680">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold-italic">x</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula> and <inline-formula id="inf640">
<mml:math id="m681">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold-italic">x</mml:mi>
<mml:mi mathvariant="bold-italic">i</mml:mi>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula> for <inline-formula id="inf641">
<mml:math id="m682">
<mml:mrow>
<mml:mi mathvariant="bold-italic">i</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>2,3</mml:mn>
<mml:mo>,</mml:mo>
<mml:mo>&#x2026;</mml:mo>
<mml:mi mathvariant="bold-italic">n</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> with the objective function being 4 (approximately), and one global minimum located at <inline-formula id="inf642">
<mml:math id="m683">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold-italic">x</mml:mi>
<mml:mi mathvariant="bold-italic">i</mml:mi>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula> for <inline-formula id="inf643">
<mml:math id="m684">
<mml:mrow>
<mml:mi mathvariant="bold-italic">i</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1,2</mml:mn>
<mml:mo>,</mml:mo>
<mml:mo>&#x2026;</mml:mo>
<mml:mi mathvariant="bold-italic">n</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> with the objective function being 0. Occasionally, a local-search optimizer may converge to the local minimum.</p>
<p>We implemented different algorithms described in this paper in our in-house C&#x2b;&#x2b; optimization library (OptLib). We employ &#x201c;Armadillo&#x201d; as our foundational template-based C&#x2b;&#x2b; library for linear algebra (<ext-link ext-link-type="uri" xlink:href="http://arma.sourceforge.net/">http://arma.sourceforge.net/</ext-link>). We ran all test cases reported on <xref ref-type="table" rid="T2">Tables&#x20;2</xref>&#x2013;<xref ref-type="table" rid="T5">5</xref> on a virtual machine computer equipped with an Intel Xeon Platinum Processor at 2.60&#xa0;MHz and 16.0&#xa0;GB of RAM. We varied the number of parameters, <inline-formula id="inf644">
<mml:math id="m685">
<mml:mi mathvariant="bold-italic">n</mml:mi>
</mml:math>
</inline-formula> as powers of two and fixed twice the maximum number of snapshots, <inline-formula id="inf645">
<mml:math id="m686">
<mml:mrow>
<mml:mi mathvariant="bold-italic">M</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>2</mml:mn>
<mml:msub>
<mml:mi mathvariant="bold-italic">L</mml:mi>
<mml:mi mathvariant="bold-italic">M</mml:mi>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>10</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula>. <xref ref-type="table" rid="T2">Tables&#x20;2</xref>&#x2013;<xref ref-type="table" rid="T5">5</xref> summarize the preliminary numerical results, including the value of the objective function, the gradient norm, the number of iterations, and the elapsed CPU time (s). The last column displays the resulting speedup, namely, the ratio of CPU times using the DNR (or DIQ) method over the MIL method. We prescribe the tolerance to stop the L-BFGS TRS solver for all the numerical experiments in this subsection as <inline-formula id="inf646">
<mml:math id="m687">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold-italic">&#x3b4;</mml:mi>
<mml:mrow>
<mml:mi mathvariant="bold-italic">cr</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mn>10</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>4</mml:mn>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> and the maximum number of iterations as <inline-formula id="inf647">
<mml:math id="m688">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold-italic">N</mml:mi>
<mml:mrow>
<mml:mi mathvariant="bold-italic">TRS</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="bold-italic">max</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>16</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula>. We set the initial trust region size at &#x2206; &#x3d; 0.5.</p>
<table-wrap id="T2" position="float">
<label>TABLE 2</label>
<caption>
<p>Performance comparison of DNR vs. MIL methods testing on Rosenbrock function.</p>
</caption>
<table>
<thead valign="top">
<tr>
<th align="left"/>
<th colspan="4" align="center">DNR</th>
<th colspan="4" align="center">MIL</th>
<th align="left"/>
</tr>
<tr>
<th align="left">
<bold>
<italic>n</italic>
</bold>
</th>
<th align="center">
<bold>
<italic>f</italic>
</bold>
<sup>(<bold>
<italic>k</italic>
</bold>)</sup>
</th>
<th align="center">
<bold>
<italic>g</italic>
</bold>
<sup>(<bold>
<italic>k</italic>
</bold>)</sup>
</th>
<th align="center">Iters.</th>
<th align="center">CPU</th>
<th align="center">
<bold>
<italic>f</italic>
</bold>
<sup>(<bold>
<italic>k</italic>
</bold>)</sup>
</th>
<th align="center">
<bold>
<italic>g</italic>
</bold>
<sup>(<bold>
<italic>k</italic>
</bold>)</sup>
</th>
<th align="center">Iters.</th>
<th align="center">CPU</th>
<th align="center">Speedup</th>
</tr>
</thead>
<tbody valign="top">
<tr>
<td align="left">8</td>
<td align="char" char=".">4.4E-09</td>
<td align="char" char=".">2.9E-05</td>
<td align="char" char=".">41</td>
<td align="char" char=".">2.9E-02</td>
<td align="char" char=".">3.4E-09</td>
<td align="char" char=".">2.5E-05</td>
<td align="char" char=".">41</td>
<td align="char" char=".">1.6E-02</td>
<td align="char" char=".">1.8</td>
</tr>
<tr>
<td align="left">16</td>
<td align="char" char=".">1.7E-09</td>
<td align="char" char=".">1.0E-05</td>
<td align="char" char=".">62</td>
<td align="char" char=".">3.8E-02</td>
<td align="char" char=".">1.5E-09</td>
<td align="char" char=".">1.9E-05</td>
<td align="char" char=".">61</td>
<td align="char" char=".">4.2E-02</td>
<td align="char" char=".">0.9</td>
</tr>
<tr>
<td align="left">32</td>
<td align="char" char=".">1.3E-09</td>
<td align="char" char=".">1.1E-05</td>
<td align="char" char=".">75</td>
<td align="char" char=".">4.6E-02</td>
<td align="char" char=".">3.2E-09</td>
<td align="char" char=".">2.2E-05</td>
<td align="char" char=".">75</td>
<td align="char" char=".">4.8E-02</td>
<td align="char" char=".">1.0</td>
</tr>
<tr>
<td align="left">48</td>
<td align="char" char=".">1.3E-08</td>
<td align="char" char=".">2.6E-05</td>
<td align="char" char=".">72</td>
<td align="char" char=".">9.3E-02</td>
<td align="char" char=".">4.4E-09</td>
<td align="char" char=".">2.0E-05</td>
<td align="char" char=".">72</td>
<td align="char" char=".">4.0E-02</td>
<td align="char" char=".">2.3</td>
</tr>
</tbody>
</table>
</table-wrap>
<table-wrap id="T3" position="float">
<label>TABLE 3</label>
<caption>
<p>Performance comparison of DIQ vs. MIL methods testing on Rosenbrock function.</p>
</caption>
<table>
<thead valign="top">
<tr>
<th align="left"/>
<th colspan="4" align="center">DIQ</th>
<th colspan="4" align="center">MIL</th>
<th align="left"/>
</tr>
<tr>
<th align="left">
<bold>
<italic>n</italic>
</bold>
</th>
<th align="center">
<bold>
<italic>f</italic>
</bold>
<sup>(<bold>
<italic>k</italic>
</bold>)</sup>
</th>
<th align="center">
<bold>
<italic>g</italic>
</bold>
<sup>(<bold>
<italic>k</italic>
</bold>)</sup>
</th>
<th align="center">Iters.</th>
<th align="center">CPU</th>
<th align="center">
<bold>
<italic>f</italic>
</bold>
<sup>(<bold>
<italic>k</italic>
</bold>)</sup>
</th>
<th align="center">
<bold>
<italic>g</italic>
</bold>
<sup>(<bold>
<italic>k</italic>
</bold>)</sup>
</th>
<th align="center">Iters.</th>
<th align="center">CPU</th>
<th align="center">Speedup</th>
</tr>
</thead>
<tbody valign="top">
<tr>
<td align="left">16</td>
<td align="char" char=".">1.2E-09</td>
<td align="char" char=".">2.2E-05</td>
<td align="char" char=".">51</td>
<td align="char" char=".">2.4E-02</td>
<td align="char" char=".">1.5E-09</td>
<td align="char" char=".">1.9E-05</td>
<td align="char" char=".">61</td>
<td align="char" char=".">3.2E-02</td>
<td align="char" char=".">0.8</td>
</tr>
<tr>
<td align="left">32</td>
<td align="char" char=".">1.0E-09</td>
<td align="char" char=".">2.4E-05</td>
<td align="char" char=".">61</td>
<td align="char" char=".">4.3E-02</td>
<td align="char" char=".">3.2E-09</td>
<td align="char" char=".">2.2E-05</td>
<td align="char" char=".">75</td>
<td align="char" char=".">3.2E-02</td>
<td align="char" char=".">1.4</td>
</tr>
<tr>
<td align="left">64</td>
<td align="char" char=".">8.0E-10</td>
<td align="char" char=".">2.4E-05</td>
<td align="char" char=".">75</td>
<td align="char" char=".">1.3E-01</td>
<td align="char" char=".">7.8E-09</td>
<td align="char" char=".">2.9E-05</td>
<td align="char" char=".">79</td>
<td align="char" char=".">3.6E-02</td>
<td align="char" char=".">3.5</td>
</tr>
<tr>
<td align="left">128</td>
<td align="char" char=".">4.5E-10</td>
<td align="char" char=".">1.8E-05</td>
<td align="char" char=".">82</td>
<td align="char" char=".">3.0E-01</td>
<td align="char" char=".">4.6E-09</td>
<td align="char" char=".">2.8E-05</td>
<td align="char" char=".">73</td>
<td align="char" char=".">3.8E-02</td>
<td align="char" char=".">7.9</td>
</tr>
<tr>
<td align="left">256</td>
<td align="char" char=".">2.2E-10</td>
<td align="char" char=".">1.3E-05</td>
<td align="char" char=".">87</td>
<td align="char" char=".">1.0E&#x2b;00</td>
<td align="char" char=".">5.0E-09</td>
<td align="char" char=".">3.0E-05</td>
<td align="char" char=".">78</td>
<td align="char" char=".">7.2E-02</td>
<td align="char" char=".">13.9</td>
</tr>
<tr>
<td align="left">512</td>
<td align="char" char=".">4.0E&#x2b;00</td>
<td align="char" char=".">1.5E-05</td>
<td align="char" char=".">84</td>
<td align="char" char=".">5.5E&#x2b;00</td>
<td align="char" char=".">3.1E-10</td>
<td align="char" char=".">9.6E-06</td>
<td align="char" char=".">90</td>
<td align="char" char=".">1.4E-01</td>
<td align="char" char=".">39.2</td>
</tr>
<tr>
<td align="left">1024</td>
<td align="char" char=".">1.5E-09</td>
<td align="char" char=".">2.8E-05</td>
<td align="char" char=".">98</td>
<td align="char" char=".">3.9E&#x2b;01</td>
<td align="char" char=".">7.5E-09</td>
<td align="char" char=".">2.7E-05</td>
<td align="char" char=".">94</td>
<td align="char" char=".">4.2E-01</td>
<td align="char" char=".">90.9</td>
</tr>
</tbody>
</table>
</table-wrap>
<table-wrap id="T4" position="float">
<label>TABLE 4</label>
<caption>
<p>Performance comparison of DNR vs. MIL methods testing on Sphere function.</p>
</caption>
<table>
<thead valign="top">
<tr>
<th align="left"/>
<th colspan="4" align="center">DNR</th>
<th colspan="4" align="center">MIL</th>
<th align="left"/>
</tr>
<tr>
<th align="left">
<bold>
<italic>n</italic>
</bold>
</th>
<th align="center">
<bold>
<italic>f</italic>
</bold>
<sup>(<bold>
<italic>k</italic>
</bold>)</sup>
</th>
<th align="center">
<bold>
<italic>g</italic>
</bold>
<sup>(<bold>
<italic>k</italic>
</bold>)</sup>
</th>
<th align="center">Iters.</th>
<th align="center">CPU</th>
<th align="center">
<bold>
<italic>f</italic>
</bold>
<sup>(<bold>
<italic>k</italic>
</bold>)</sup>
</th>
<th align="center">
<bold>
<italic>g</italic>
</bold>
<sup>(<bold>
<italic>k</italic>
</bold>)</sup>
</th>
<th align="center">Iters.</th>
<th align="center">CPU</th>
<th align="center">Speedup</th>
</tr>
</thead>
<tbody valign="top">
<tr>
<td align="left">16</td>
<td align="char" char=".">5.4E-64</td>
<td align="char" char=".">1.8E-33</td>
<td align="char" char=".">39</td>
<td align="char" char=".">2.2E-02</td>
<td align="char" char=".">3.3E-65</td>
<td align="char" char=".">3.1E-34</td>
<td align="char" char=".">56</td>
<td align="char" char=".">3.8E-02</td>
<td align="char" char=".">0.6</td>
</tr>
<tr>
<td align="left">32</td>
<td align="char" char=".">1.1E-63</td>
<td align="char" char=".">1.5E-33</td>
<td align="char" char=".">66</td>
<td align="char" char=".">4.0E-02</td>
<td align="char" char=".">1.3E-65</td>
<td align="char" char=".">1.6E-34</td>
<td align="char" char=".">67</td>
<td align="char" char=".">3.7E-02</td>
<td align="char" char=".">1.1</td>
</tr>
<tr>
<td align="left">64</td>
<td align="char" char=".">4.4E-63</td>
<td align="char" char=".">2.1E-33</td>
<td align="char" char=".">92</td>
<td align="char" char=".">1.4E-01</td>
<td align="char" char=".">4.0E-67</td>
<td align="char" char=".">2.2E-35</td>
<td align="char" char=".">86</td>
<td align="char" char=".">5.2E-02</td>
<td align="char" char=".">2.8</td>
</tr>
<tr>
<td align="left">128</td>
<td align="char" char=".">8.4E-63</td>
<td align="char" char=".">2.1E-33</td>
<td align="char" char=".">128</td>
<td align="char" char=".">7.3E-01</td>
<td align="char" char=".">9.2E-66</td>
<td align="char" char=".">6.5E-35</td>
<td align="char" char=".">135</td>
<td align="char" char=".">6.3E-02</td>
<td align="char" char=".">11.6</td>
</tr>
<tr>
<td align="left">256</td>
<td align="char" char=".">1.4E-62</td>
<td align="char" char=".">1.8E-33</td>
<td align="char" char=".">188</td>
<td align="char" char=".">2.8E&#x2b;00</td>
<td align="char" char=".">9.7E-63</td>
<td align="char" char=".">1.5E-33</td>
<td align="char" char=".">185</td>
<td align="char" char=".">7.0E-02</td>
<td align="char" char=".">39.1</td>
</tr>
<tr>
<td align="left">512</td>
<td align="char" char=".">9.6E-64</td>
<td align="char" char=".">3.3E-34</td>
<td align="char" char=".">265</td>
<td align="char" char=".">1.9E&#x2b;01</td>
<td align="char" char=".">5.7E-64</td>
<td align="char" char=".">2.7E-34</td>
<td align="char" char=".">256</td>
<td align="char" char=".">5.6E-01</td>
<td align="char" char=".">32.9</td>
</tr>
<tr>
<td align="left">1024</td>
<td align="char" char=".">3.6E-62</td>
<td align="char" char=".">1.4E-33</td>
<td align="char" char=".">383</td>
<td align="char" char=".">1.4E&#x2b;02</td>
<td align="char" char=".">1.8E-64</td>
<td align="char" char=".">1.0E-34</td>
<td align="char" char=".">371</td>
<td align="char" char=".">2.7E&#x2b;00</td>
<td align="char" char=".">52.4</td>
</tr>
<tr>
<td align="left">2048</td>
<td align="char" char=".">2.1E-60</td>
<td align="char" char=".">7.8E-33</td>
<td align="char" char=".">525</td>
<td align="char" char=".">8.4E&#x2b;02</td>
<td align="char" char=".">2.2E-66</td>
<td align="char" char=".">7.8E-36</td>
<td align="char" char=".">534</td>
<td align="char" char=".">1.7E&#x2b;01</td>
<td align="char" char=".">50.2</td>
</tr>
</tbody>
</table>
</table-wrap>
<table-wrap id="T5" position="float">
<label>TABLE 5</label>
<caption>
<p>Performance comparison of DIQ vs. MIL methods testing on Sphere function.</p>
</caption>
<table>
<thead valign="top">
<tr>
<th align="left"/>
<th colspan="4" align="center">DIQ</th>
<th colspan="4" align="center">MIL</th>
<th align="left"/>
</tr>
<tr>
<th align="left">
<inline-formula id="inf648">
<mml:math id="m689">
<mml:mi mathvariant="bold-italic">n</mml:mi>
</mml:math>
</inline-formula>
</th>
<th align="center">
<bold>
<italic>f</italic>
</bold>
<sup>(<bold>
<italic>k</italic>
</bold>)</sup>
</th>
<th align="center">
<bold>
<italic>g</italic>
</bold>
<sup>(<bold>
<italic>k</italic>
</bold>)</sup>
</th>
<th align="center">Iters.</th>
<th align="center">CPU</th>
<th align="center">
<bold>
<italic>f</italic>
</bold>
<sup>(<bold>
<italic>k</italic>
</bold>)</sup>
</th>
<th align="center">
<bold>
<italic>g</italic>
</bold>
<sup>(<bold>
<italic>k</italic>
</bold>)</sup>
</th>
<th align="center">Iters.</th>
<th align="center">CPU</th>
<th align="center">Speedup</th>
</tr>
</thead>
<tbody valign="top">
<tr>
<td align="left">16</td>
<td align="char" char=".">3.6E-67</td>
<td align="char" char=".">4.6E-35</td>
<td align="char" char=".">39</td>
<td align="char" char=".">3.8E-02</td>
<td align="char" char=".">1.6E-65</td>
<td align="char" char=".">2.1E-34</td>
<td align="char" char=".">56</td>
<td align="char" char=".">4.0E-02</td>
<td align="char" char=".">1.0</td>
</tr>
<tr>
<td align="left">32</td>
<td align="char" char=".">2.1E-68</td>
<td align="char" char=".">6.5E-36</td>
<td align="char" char=".">66</td>
<td align="char" char=".">3.8E-02</td>
<td align="char" char=".">7.4E-64</td>
<td align="char" char=".">1.2E-33</td>
<td align="char" char=".">67</td>
<td align="char" char=".">4.4E-02</td>
<td align="char" char=".">0.9</td>
</tr>
<tr>
<td align="left">64</td>
<td align="char" char=".">2.0E-65</td>
<td align="char" char=".">1.4E-34</td>
<td align="char" char=".">92</td>
<td align="char" char=".">1.0E-01</td>
<td align="char" char=".">5.3E-65</td>
<td align="char" char=".">2.5E-34</td>
<td align="char" char=".">86</td>
<td align="char" char=".">4.8E-02</td>
<td align="char" char=".">2.1</td>
</tr>
<tr>
<td align="left">128</td>
<td align="char" char=".">2.0E-65</td>
<td align="char" char=".">9.9E-35</td>
<td align="char" char=".">128</td>
<td align="char" char=".">3.0E-01</td>
<td align="char" char=".">4.4E-64</td>
<td align="char" char=".">4.5E-34</td>
<td align="char" char=".">135</td>
<td align="char" char=".">5.8E-02</td>
<td align="char" char=".">5.1</td>
</tr>
<tr>
<td align="left">256</td>
<td align="char" char=".">2.7E-65</td>
<td align="char" char=".">8.0E-35</td>
<td align="char" char=".">188</td>
<td align="char" char=".">1.6E&#x2b;00</td>
<td align="char" char=".">2.6E-64</td>
<td align="char" char=".">2.5E-34</td>
<td align="char" char=".">185</td>
<td align="char" char=".">8.8E-02</td>
<td align="char" char=".">18.3</td>
</tr>
<tr>
<td align="left">512</td>
<td align="char" char=".">1.5E-67</td>
<td align="char" char=".">4.2E-36</td>
<td align="char" char=".">265</td>
<td align="char" char=".">1.3E&#x2b;01</td>
<td align="char" char=".">7.9E-65</td>
<td align="char" char=".">9.9E-35</td>
<td align="char" char=".">256</td>
<td align="char" char=".">6.5E-01</td>
<td align="char" char=".">19.7</td>
</tr>
<tr>
<td align="left">1024</td>
<td align="char" char=".">4.4E-66</td>
<td align="char" char=".">1.6E-35</td>
<td align="char" char=".">383</td>
<td align="char" char=".">6.5E&#x2b;01</td>
<td align="char" char=".">4.3E-65</td>
<td align="char" char=".">5.0E-35</td>
<td align="char" char=".">371</td>
<td align="char" char=".">3.1E&#x2b;00</td>
<td align="char" char=".">21.1</td>
</tr>
<tr>
<td align="left">2048</td>
<td align="char" char=".">1.4E-65</td>
<td align="char" char=".">2.0E-35</td>
<td align="char" char=".">525</td>
<td align="char" char=".">4.6E&#x2b;02</td>
<td align="char" char=".">1.6E-66</td>
<td align="char" char=".">6.6E-36</td>
<td align="char" char=".">534</td>
<td align="char" char=".">1.7E&#x2b;01</td>
<td align="char" char=".">27.4</td>
</tr>
</tbody>
</table>
</table-wrap>
<p>We noticed that the matrix <inline-formula id="inf649">
<mml:math id="m690">
<mml:mi mathvariant="bold-italic">D</mml:mi>
</mml:math>
</inline-formula> may become ill-conditioned for a few cases. Indeed, we could observe that the first entries on the diagonal are nearly zero. The same situation occurs for different optimization steps where <inline-formula id="inf650">
<mml:math id="m691">
<mml:mi mathvariant="bold-italic">m</mml:mi>
</mml:math>
</inline-formula> grows from 0, 2, 4, 6, up to ten. The Cholesky decomposition of such a matrix will fail, i.e.,&#x20;Armadillo throws an exception. We advise replacing the former with an LU-decomposition to handle the pivots, namely, entries on the diagonal of the lower triangular matrix, to be nearly zero. The rest of the algorithm remains the&#x20;same.</p>
<p>
<xref ref-type="table" rid="T2">Table&#x20;2</xref> compares performance of the DNR method vs. the MIL methods for the Rosenbrock problem encompassing 8, 16, 32, and 48 parameters, respectively. Beyond those problem sizes, the DNR method could not converge to the solution. Indeed, the DNR method becomes relatively slow, i.e.,&#x20;renders very large lambda values that imply tiny shifts. Often, after 2,048 iterations, the objective function is still greater than one. It seems that the DNR method is not robust enough to tackle the Rosenbrock function with more than 48 parameters. It appears that the MIL method slightly outperforms the DNR method for problems with fewer parameters.</p>
<p>
<xref ref-type="table" rid="T3">Table&#x20;3</xref> compares performance of the DIQ method vs. the MIL method. These numerical results confirm that the MIL method outperforms the DIQ method. As expected, the speedup improves with the increase of the problem size&#x20;<bold>
<italic>n</italic>
</bold>.</p>
<p>
<xref ref-type="table" rid="T4">Table&#x20;4</xref> shows similar results for the Sphere function problem. We could benchmark the DNR method against the MIL method with ranks up to 2,048 parameters. Again, the speedup increases with problem size. Finally, <xref ref-type="table" rid="T5">Table&#x20;5</xref> benchmarks the DIQ method against the MIL method testing on the Sphere function. The speedup reduces when compared to <xref ref-type="table" rid="T4">Table&#x20;4</xref> for the same ranks, but we still clearly see that the performance of the MIL solver exceeds its DIQ counterpart. Results shown in <xref ref-type="table" rid="T4">Table&#x20;4</xref> and <xref ref-type="table" rid="T5">Table&#x20;5</xref> also confirm that the DIQ method performs better than the DNR method. We believe that the DIQ TRS solver converges faster with smaller number of iterations than the DNR TRS solver (i.e.,&#x20;<inline-formula id="inf651">
<mml:math id="m692">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold-italic">N</mml:mi>
<mml:mrow>
<mml:mi mathvariant="bold-italic">DIQ</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3c;</mml:mo>
<mml:msub>
<mml:mi mathvariant="bold-italic">N</mml:mi>
<mml:mrow>
<mml:mi mathvariant="bold-italic">DNR</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>).</p>
<p>The computational costs (in terms of CPU time) summarized in <xref ref-type="table" rid="T2">Tables&#x20;2</xref>&#x2013;<xref ref-type="table" rid="T5">5</xref> are the overall costs for all iterations, including the cost of computing both value and gradient of the objective function in addition to the cost of solving the L-BFGS TRS. In contrast, the theoretical analysis results of computational cost for <bold>
<italic>&#x3b2;</italic>
</bold> in <xref ref-type="disp-formula" rid="e35">Eq. 35</xref> only count for the cost of solving the L-BFGS TRS in just one iteration. Therefore, numerical results listed in <xref ref-type="table" rid="T2">Tables&#x20;2</xref>&#x2013;<xref ref-type="table" rid="T5">5</xref> are not quantitatively in agreement with the theoretically derived <bold>
<italic>&#x3b2;</italic>
</bold>.</p>
</sec>
<sec sec-type="conclusion" id="s5">
<title>Conclusion</title>
<p>We can draw the following conclusions based on theoretical analysis and numerical tests:<list list-type="simple">
<list-item>
<p>1) Using the compact representation of the L-BFGS formulation in <xref ref-type="disp-formula" rid="e4">Eq. 4</xref>, the updated Hessian <inline-formula id="inf652">
<mml:math id="m693">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">H</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> is composed of a diagonal matrix <inline-formula id="inf653">
<mml:math id="m694">
<mml:mrow>
<mml:mi mathvariant="bold-italic">&#x3bb;</mml:mi>
<mml:msub>
<mml:mi mathvariant="bold-italic">I</mml:mi>
<mml:mi mathvariant="bold-italic">n</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> and a matrix <inline-formula id="inf654">
<mml:math id="m695">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">V</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msup>
<mml:msup>
<mml:mi mathvariant="bold-italic">W</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msup>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">V</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msup>
</mml:mrow>
<mml:mo>]</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mi mathvariant="bold-italic">T</mml:mi>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> with low rank when <bold>
<italic>m</italic>
</bold> &#x3c; <bold>
<italic>n</italic>
</bold>.</p>
</list-item>
<list-item>
<p>2) Using the matrix inversion lemma, we are able to reduce the cost of solving the L-BFGS TRS by transforming the original equation with <inline-formula id="inf655">
<mml:math id="m696">
<mml:mi mathvariant="bold-italic">n</mml:mi>
</mml:math>
</inline-formula> variables to a new equation with <inline-formula id="inf656">
<mml:math id="m697">
<mml:mi mathvariant="bold-italic">m</mml:mi>
</mml:math>
</inline-formula> variables, by taking advantage of the low rank matrix updating feature.</p>
</list-item>
<list-item>
<p>3) Further reduction in computational cost is achieved by updating the vector <bold>
<italic>u</italic>
</bold>
<sup>(<bold>
<italic>k</italic>
</bold>)</sup> and matrices such as <bold>
<italic>S</italic>
</bold>
<sup>(<bold>
<italic>k</italic>
</bold>)</sup> and <bold>
<italic>Z</italic>
</bold>
<sup>(<bold>
<italic>k</italic>
</bold>)</sup>, <bold>
<italic>A</italic>
</bold>
<sup>(<bold>
<italic>k</italic>
</bold>)</sup>, <bold>
<italic>B</italic>
</bold>
<sup>(<bold>
<italic>k</italic>
</bold>)</sup>, and <bold>
<italic>C</italic>
</bold>
<sup>(<bold>
<italic>k</italic>
</bold>)</sup>, <bold>
<italic>P</italic>
</bold>
<sup>(<bold>
<italic>k</italic>
</bold>)</sup>, and <inline-formula id="inf657">
<mml:math id="m698">
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">W</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msup>
</mml:mrow>
<mml:mo>]</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> iteratively, which effectively avoids expensive operations such as matrix-matrix and matrix-vector multiplications.</p>
</list-item>
<list-item>
<p>4) Through seamless integration of matrix inversion lemma with the iterative matrix and vector updating approach, the newly proposed TRS solver for the limited-memory distributed BFGS optimization method performs much more efficiently than the DNR TRS solver.</p>
</list-item>
<list-item>
<p>5) The MIL TRS solver can obtain the right solution with acceptable accuracy, without increasing memory usage but reducing the computational cost significantly, as confirmed by numerical results on the Rosenbrock function and Sphere function.</p>
</list-item>
</list>
</p>
</sec>
</body>
<back>
<sec id="s6">
<title>Data Availability Statement</title>
<p>The original contributions presented in the study are included in the article/Supplementary Material, further inquiries can be directed to the corresponding author.</p>
</sec>
<sec id="s7">
<title>Author Contributions</title>
<p>GG, HF, and JV contributed to conception and algorithmic analysis of the study. HF, TW, FS, and CB contributed to design and numerical validations. GG and FH wrote the first draft of the article. All authors contributed to article revision, read, and approved the submitted version.</p>
</sec>
<sec sec-type="COI-statement" id="s8">
<title>Conflict of Interest</title>
<p>Authors GG, HF, and FS were employed by Shell Global Solutions (United States) Inc. Authors JV, TW and CB were employed by Shell Global Solutions International B.V.</p>
</sec>
<ref-list>
<title>References</title>
<ref id="B1">
<label>1.</label>
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Ai-Mudhafar</surname>
<given-names>WJ</given-names>
</name>
<name>
<surname>Rao</surname>
<given-names>DN</given-names>
</name>
<name>
<surname>Srinivasan</surname>
<given-names>S</given-names>
</name>
</person-group>. <article-title>Robust Optimization of Cyclic CO2 Flooding through the Gas-Assisted Gravity Drainage Process under Geological Uncertainties</article-title>. <source>J&#x20;Pet Sci Eng</source> (<year>2018</year>). <volume>166</volume>:<fpage>490</fpage>&#x2013;<lpage>509</lpage>. <pub-id pub-id-type="doi">10.1016/j.petrol.2018.03.044</pub-id> </citation>
</ref>
<ref id="B2">
<label>2.</label>
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Alpak</surname>
<given-names>FO</given-names>
</name>
<name>
<surname>Jin</surname>
<given-names>L</given-names>
</name>
<name>
<surname>Ramirez</surname>
<given-names>BA</given-names>
</name>
</person-group>. <article-title>Robust Optimization of Well Placement in Geologically Complex Reservoirs</article-title>. in: <conf-name>Paper SPE-175106-MS Presented at the SPE Annual Technical Conference and Exhibition</conf-name>; <fpage>September28&#x2013;30 2015</fpage>; <conf-loc>Houston, TX</conf-loc> (<year>2015</year>). </citation>
</ref>
<ref id="B3">
<label>3.</label>
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>van Essen</surname>
<given-names>GM</given-names>
</name>
<name>
<surname>Zandvliet</surname>
<given-names>MJ</given-names>
</name>
<name>
<surname>Den Hof</surname>
<given-names>PMJ</given-names>
</name>
<name>
<surname>Bosgra</surname>
<given-names>OH</given-names>
</name>
<name>
<surname>Jansen</surname>
<given-names>JD</given-names>
</name>
<etal/>
</person-group> <article-title>Robust Optimization of Oil Reservoir Flooding</article-title>. in: <conf-name>Paper Presented at the IEEE International Conference on Control Applications</conf-name>; <conf-date>Oct 4-6 2006</conf-date>; <conf-loc>Munich, Germany</conf-loc> (<year>2006</year>). p. <fpage>4</fpage>&#x2013;<lpage>6</lpage>. </citation>
</ref>
<ref id="B4">
<label>4.</label>
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Liu</surname>
<given-names>Z</given-names>
</name>
<name>
<surname>Forouzanfar</surname>
<given-names>F</given-names>
</name>
</person-group>. <article-title>Ensemble Clustering for Efficient Robust Optimization of Naturally Fractured Reservoirs</article-title>. <source>Comput Geosci</source> (<year>2018</year>). <volume>22</volume>:<fpage>283</fpage>&#x2013;<lpage>96</lpage>. <pub-id pub-id-type="doi">10.1007/s10596-017-9689-1</pub-id> </citation>
</ref>
<ref id="B5">
<label>5.</label>
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Liu</surname>
<given-names>X</given-names>
</name>
<name>
<surname>Reynolds</surname>
<given-names>AC</given-names>
</name>
</person-group>. <article-title>Augmented Lagrangian Method for Maximizing Expectation and Minimizing Risk for Optimal Well-Control Problems with Nonlinear Constraints</article-title>. <source>SPE J</source> (<year>2016</year>). <volume>21</volume>(<issue>5</issue>). <pub-id pub-id-type="doi">10.1007/s10596-017-9689-1</pub-id> </citation>
</ref>
<ref id="B6">
<label>6.</label>
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Liu</surname>
<given-names>X</given-names>
</name>
<name>
<surname>Reynolds</surname>
<given-names>AC</given-names>
</name>
</person-group>. <article-title>Gradient-based Multi-Objective Optimization with Applications to Waterflooding Optimization</article-title>. <source>Comput Geosci</source> (<year>2016</year>). <volume>20</volume>:<fpage>677</fpage>&#x2013;<lpage>93</lpage>. <pub-id pub-id-type="doi">10.1007/s10596-015-9523-6</pub-id> </citation>
</ref>
<ref id="B7">
<label>7.</label>
<citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname>Oliver</surname>
<given-names>DS</given-names>
</name>
<name>
<surname>Reynolds</surname>
<given-names>AC</given-names>
</name>
<name>
<surname>Liu</surname>
<given-names>N</given-names>
</name>
</person-group>. <source>Inverse Theory for Petroleum Reservoir Characterization and History Matching</source>. <publisher-loc>Cambridge, United&#x20;Kingdom</publisher-loc>: <publisher-name>Cambridge University Press</publisher-name> (<year>2008</year>). <pub-id pub-id-type="doi">10.1017/cbo9780511535642</pub-id> </citation>
</ref>
<ref id="B8">
<label>8.</label>
<citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname>Tarantola</surname>
<given-names>A</given-names>
</name>
</person-group>. <source>Inverse Problem Theory and Methods for Model Parameter Estimation</source>. <publisher-loc>Philadelphia, PA</publisher-loc>: <publisher-name>SIAM</publisher-name> (<year>2005</year>). <pub-id pub-id-type="doi">10.1137/1.9780898717921</pub-id> </citation>
</ref>
<ref id="B9">
<label>9.</label>
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Oliver</surname>
<given-names>DS</given-names>
</name>
</person-group>. <article-title>On Conditional Simulation to Inaccurate Data</article-title>. <source>Math Geol</source> (<year>1996</year>). <volume>28</volume>:<fpage>811</fpage>&#x2013;<lpage>7</lpage>. <pub-id pub-id-type="doi">10.1007/bf02066348</pub-id> </citation>
</ref>
<ref id="B10">
<label>10.</label>
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Jansen</surname>
<given-names>JD</given-names>
</name>
</person-group>. <article-title>Adjoint-based Optimization of Multi-phase Flow through Porous Media - A Review</article-title>. <source>Comput Fluids</source> (<year>2011</year>). <volume>46</volume>(<issue>1</issue>):<fpage>40</fpage>&#x2013;<lpage>51</lpage>. <pub-id pub-id-type="doi">10.1016/j.compfluid.2010.09.039</pub-id> </citation>
</ref>
<ref id="B11">
<label>11.</label>
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Li</surname>
<given-names>R</given-names>
</name>
<name>
<surname>Reynolds</surname>
<given-names>AC</given-names>
</name>
<name>
<surname>Oliver</surname>
<given-names>DS</given-names>
</name>
</person-group>. <article-title>History Matching of Three-phase Flow Production Data</article-title>. <source>SPE J</source> (<year>2003</year>). <volume>8</volume>(<issue>4</issue>):<fpage>328</fpage>&#x2013;<lpage>40</lpage>. <pub-id pub-id-type="doi">10.2118/87336-pa</pub-id> </citation>
</ref>
<ref id="B12">
<label>12.</label>
<citation citation-type="confproc">
<person-group person-group-type="author">
<name>
<surname>Sarma</surname>
<given-names>P</given-names>
</name>
<name>
<surname>Durlofsky</surname>
<given-names>L</given-names>
</name>
<name>
<surname>Aziz</surname>
<given-names>K</given-names>
</name>
</person-group>. <article-title>Implementation of Adjoint Solution for Optimal Control of Smart Wells</article-title>. in: <conf-name>Paper SPE 92864 Presented at the SPE Reservoir Simulation Symposium Held in the Woodlands</conf-name>; <conf-date>Jan.-2 Feb</conf-date>; <conf-loc>Woodlands, TX</conf-loc> (<year>2005</year>). p. <fpage>31</fpage>. </citation>
</ref>
<ref id="B13">
<label>13.</label>
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Gao</surname>
<given-names>G</given-names>
</name>
<name>
<surname>Reynolds</surname>
<given-names>AC</given-names>
</name>
</person-group>. <article-title>An Improved Implementation of the LBFGS Algorithm for Automatic History Matching</article-title>. <source>SPE J</source> (<year>2006</year>). <volume>11</volume>(<issue>1</issue>):<fpage>5</fpage>&#x2013;<lpage>17</lpage>. <pub-id pub-id-type="doi">10.2118/90058-pa</pub-id> </citation>
</ref>
<ref id="B14">
<label>14.</label>
<citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname>Nocedal</surname>
<given-names>J</given-names>
</name>
<name>
<surname>Wright</surname>
<given-names>SJ</given-names>
</name>
</person-group>. <source>Numerical Optimization</source>. <publisher-loc>New York City</publisher-loc>: <publisher-name>Springer</publisher-name> (<year>1999</year>). </citation>
</ref>
<ref id="B15">
<label>15.</label>
<citation citation-type="confproc">
<person-group person-group-type="author">
<name>
<surname>Chen</surname>
<given-names>C</given-names>
</name>
<etal/>
</person-group> <article-title>Assisted History Matching Using Three Derivative-free Optimization Algorithms</article-title>. in: <conf-name>Paper SPE-154112-MS Presented at the SPE Europec/EAGE Annual Conference Held in Copenhagen</conf-name>; <conf-date>June 4&#x2013;7 2012</conf-date>; <conf-loc>Copenhagen, Denmark</conf-loc> (<year>2012</year>). p. <fpage>4</fpage>&#x2013;<lpage>7</lpage>. </citation>
</ref>
<ref id="B16">
<label>16.</label>
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Gao</surname>
<given-names>G</given-names>
</name>
<name>
<surname>Vink</surname>
<given-names>JC</given-names>
</name>
<name>
<surname>Chen</surname>
<given-names>C</given-names>
</name>
<name>
<surname>Alpak</surname>
<given-names>FO</given-names>
</name>
<name>
<surname>Du</surname>
<given-names>K</given-names>
</name>
</person-group>. <article-title>A Parallelized and Hybrid Data-Integration Algorithm for History Matching of Geologically Complex Reservoirs</article-title>. <source>SPE J</source> (<year>2016</year>). <volume>21</volume>(<issue>6</issue>):<fpage>2155</fpage>&#x2013;<lpage>74</lpage>. <pub-id pub-id-type="doi">10.2118/175039-pa</pub-id> </citation>
</ref>
<ref id="B17">
<label>17.</label>
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Gao</surname>
<given-names>G</given-names>
</name>
<name>
<surname>Vink</surname>
<given-names>JC</given-names>
</name>
<name>
<surname>Chen</surname>
<given-names>C</given-names>
</name>
<name>
<surname>El Khamra</surname>
<given-names>Y</given-names>
</name>
<name>
<surname>Tarrahi</surname>
<given-names>M</given-names>
</name>
<etal/>
</person-group> <article-title>Distributed Gauss-Newton Optimization Method for History Matching Problems with Multiple Best Matches</article-title>. <source>Comput Geosciences</source> (<year>2017</year>). <volume>21</volume>(<issue>5-6</issue>):<fpage>1325</fpage>&#x2013;<lpage>42</lpage>. <pub-id pub-id-type="doi">10.1007/s10596-017-9657-9</pub-id> </citation>
</ref>
<ref id="B18">
<label>18.</label>
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Gao</surname>
<given-names>G</given-names>
</name>
<name>
<surname>Wang</surname>
<given-names>Y</given-names>
</name>
<name>
<surname>Vink</surname>
<given-names>J</given-names>
</name>
<name>
<surname>Wells</surname>
<given-names>T</given-names>
</name>
<name>
<surname>Saaf</surname>
<given-names>F</given-names>
</name>
<etal/>
</person-group> <article-title>Distributed Quasi-Newton Derivative-free Optimization Method for Optimization Problems with Multiple Local Optima</article-title>. in: <conf-name>17th European Conference on the Mathematics of Oil Recovery ECMOR XVII</conf-name>; <conf-date>September 2020</conf-date>; <conf-loc>Edinburgh, United&#x20;Kingdom</conf-loc> (<year>2020</year>). p. <fpage>14</fpage>&#x2013;<lpage>7</lpage>. </citation>
</ref>
<ref id="B19">
<label>19.</label>
<citation citation-type="thesis">
<person-group person-group-type="author">
<name>
<surname>Wild</surname>
<given-names>SM</given-names>
</name>
</person-group>. <source>Derivative Free Optimization Algorithms for Computationally Expensive Functions</source>. [<comment>PhD thesis</comment>]. <publisher-loc>Ithaca (new york)</publisher-loc>: <comment>Cornell University</comment> (<year>2009</year>). </citation>
</ref>
<ref id="B20">
<label>20.</label>
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Powell</surname>
<given-names>MJD</given-names>
</name>
</person-group>. <article-title>Least Frobenius Norm Updating of Quadratic Models that Satisfy Interpolation Conditions</article-title>. <source>Math Programming</source> (<year>2004</year>). <volume>100</volume>(<issue>1</issue>):<fpage>183</fpage>&#x2013;<lpage>215</lpage>. <pub-id pub-id-type="doi">10.1007/s10107-003-0490-7</pub-id> </citation>
</ref>
<ref id="B21">
<label>21.</label>
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Zhao</surname>
<given-names>H</given-names>
</name>
<name>
<surname>Li</surname>
<given-names>G</given-names>
</name>
<name>
<surname>Reynolds</surname>
<given-names>AC</given-names>
</name>
<name>
<surname>Yao</surname>
<given-names>J</given-names>
</name>
</person-group>. <article-title>Large-scale History Matching with Quadratic Interpolation Models</article-title>. <source>Comput Geosci</source> (<year>2012</year>). <volume>17</volume>:<fpage>117</fpage>&#x2013;<lpage>38</lpage>. <pub-id pub-id-type="doi">10.1007/s10596-012-9320-4</pub-id> </citation>
</ref>
<ref id="B22">
<label>22.</label>
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Audet</surname>
<given-names>C</given-names>
</name>
<name>
<surname>Dennis</surname>
<given-names>JE</given-names>
<suffix>Jr.</suffix>
</name>
</person-group> <article-title>Mesh Adaptive Direct Search Algorithms for Constrained Optimization</article-title>. <source>SIAM J&#x20;Optim</source> (<year>2006</year>). <volume>17</volume>:<fpage>188</fpage>&#x2013;<lpage>217</lpage>. <pub-id pub-id-type="doi">10.1137/040603371</pub-id> </citation>
</ref>
<ref id="B23">
<label>23.</label>
<citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname>Spall</surname>
<given-names>JC</given-names>
</name>
</person-group>. <source>Introduction to Stochastic Search and Optimization</source>. <publisher-loc>Hoboken, NJ</publisher-loc>: <publisher-name>John Wiley &#x26; Sons</publisher-name> (<year>2003</year>). <pub-id pub-id-type="doi">10.1002/0471722138</pub-id> </citation>
</ref>
<ref id="B24">
<label>24.</label>
<citation citation-type="confproc">
<person-group person-group-type="author">
<name>
<surname>Chen</surname>
<given-names>C</given-names>
</name>
<etal/>
</person-group> <article-title>EUR Assessment of Unconventional Assets Using Parallelized History Matching Workflow Together with RML Method</article-title>. In: <conf-name>Paper Presented the 2016 Unconventional Resources Technology Conference</conf-name>; <conf-date>August 1&#x2013;3 2016</conf-date>; <conf-loc>San Antonio, TX</conf-loc>(<year>2016</year>). </citation>
</ref>
<ref id="B25">
<label>25.</label>
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Chen</surname>
<given-names>C</given-names>
</name>
<name>
<surname>Gao</surname>
<given-names>G</given-names>
</name>
<name>
<surname>Li</surname>
<given-names>R</given-names>
</name>
<name>
<surname>Cao</surname>
<given-names>R</given-names>
</name>
<name>
<surname>Chen</surname>
<given-names>T</given-names>
</name>
<name>
<surname>Vink</surname>
<given-names>JC</given-names>
</name>
<etal/>
</person-group> <article-title>Global-Search Distributed-Gauss-Newton Optimization Method and its Integration with the Randomized-Maximum-Likelihood Method for Uncertainty Quantification of Reservoir Performance</article-title>. <source>SPE J</source> (<year>2018</year>). <volume>23</volume>(<issue>05</issue>):<fpage>1496</fpage>&#x2013;<lpage>517</lpage>. <pub-id pub-id-type="doi">10.2118/182639-pa</pub-id> </citation>
</ref>
<ref id="B26">
<label>26.</label>
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Chen</surname>
<given-names>C</given-names>
</name>
<name>
<surname>Gao</surname>
<given-names>G</given-names>
</name>
<name>
<surname>Ramirez</surname>
<given-names>BA</given-names>
</name>
<name>
<surname>Vink</surname>
<given-names>JC</given-names>
</name>
<name>
<surname>Girardi</surname>
<given-names>AM</given-names>
</name>
</person-group>. <article-title>Assisted History Matching of Channelized Models by Use of Pluri-Principal-Component Analysis</article-title>. <source>SPE J</source> (<year>2016</year>). <volume>21</volume>(<issue>05</issue>):<fpage>1793</fpage>&#x2013;<lpage>812</lpage>. <pub-id pub-id-type="doi">10.2118/173192-pa</pub-id> </citation>
</ref>
<ref id="B27">
<label>27.</label>
<citation citation-type="confproc">
<person-group person-group-type="author">
<name>
<surname>Armacki</surname>
<given-names>A</given-names>
</name>
<name>
<surname>Jakovetic</surname>
<given-names>D</given-names>
</name>
<name>
<surname>Krejic</surname>
<given-names>N</given-names>
</name>
<name>
<surname>Krklec Jerinkic</surname>
<given-names>N</given-names>
</name>
<etal/>
</person-group> <article-title>Distributed Trust-Region Method with First Order Models</article-title>. in <conf-name>Paper Presented at the IEEE EUROCON-2019, 18th International Conference on Smart Technologies</conf-name> <conf-date>July 1&#x2013;14 2019</conf-date> <conf-loc>Novi Sad, Serbia</conf-loc> (<year>2019</year>). p. <fpage>1</fpage>&#x2013;<lpage>4</lpage>. </citation>
</ref>
<ref id="B28">
<label>28.</label>
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Mor&#xe9;</surname>
<given-names>JJ</given-names>
</name>
<name>
<surname>Sorensen</surname>
<given-names>DC</given-names>
</name>
</person-group>. <article-title>Computing a Trust Region Step</article-title>. <source>SIAM J&#x20;Sci Stat Comput</source> (<year>1983</year>). <volume>4</volume>(<issue>3</issue>):<fpage>553</fpage>&#x2013;<lpage>72</lpage>. <pub-id pub-id-type="doi">10.1137/0904038</pub-id> </citation>
</ref>
<ref id="B29">
<label>29.</label>
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Mohamed</surname>
<given-names>AW</given-names>
</name>
</person-group>. <article-title>Solving Large-Scale Global Optimization Problems Using Enhanced Adaptive Differential Evolution Algorithm</article-title>. <source>Complex Intell Syst</source> (<year>2017</year>). <volume>3</volume>:<fpage>205</fpage>&#x2013;<lpage>31</lpage>. <pub-id pub-id-type="doi">10.1007/s40747-017-0041-0</pub-id> </citation>
</ref>
<ref id="B30">
<label>30.</label>
<citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname>Golub</surname>
<given-names>GH</given-names>
</name>
<name>
<surname>Van Loan</surname>
<given-names>CF</given-names>
</name>
</person-group>. <source>Matrix Computations</source>. <edition>4th ed</edition>. <publisher-name>The Johns Hopkins University Press</publisher-name> (<year>2013</year>). </citation>
</ref>
<ref id="B31">
<label>31.</label>
<citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname>Brust</surname>
<given-names>JJ</given-names>
</name>
<name>
<surname>Leyffer</surname>
<given-names>S</given-names>
</name>
<name>
<surname>Petra</surname>
<given-names>CG</given-names>
</name>
</person-group>. <source>Compact Representations of BFGS Matrices.</source> <comment>Preprint ANL/MCS-P9279-0120</comment>. <publisher-loc>Lemont, IL</publisher-loc>: <publisher-name>ARGONNE NATIONAL LABORATORY</publisher-name> (<year>2020</year>). </citation>
</ref>
<ref id="B32">
<label>32.</label>
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Gao</surname>
<given-names>G</given-names>
</name>
<name>
<surname>Jiang</surname>
<given-names>H</given-names>
</name>
<name>
<surname>Vink</surname>
<given-names>JC</given-names>
</name>
<name>
<surname>van Hagen</surname>
<given-names>PPH</given-names>
</name>
<name>
<surname>Wells</surname>
<given-names>TJ</given-names>
</name>
<etal/>
</person-group> <article-title>Performance Enhancement of Gauss-Newton Trust-Region Solver for Distributed Gauss-Newton Optimization Method</article-title>. <source>Comput Geosci</source> (<year>2020</year>). <volume>24</volume>(<issue>2</issue>):<fpage>837</fpage>&#x2013;<lpage>52</lpage>. <pub-id pub-id-type="doi">10.1007/s10596-019-09830-x</pub-id> </citation>
</ref>
<ref id="B33">
<label>33.</label>
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Burdakov</surname>
<given-names>O</given-names>
</name>
<name>
<surname>Gong</surname>
<given-names>L</given-names>
</name>
<name>
<surname>Zikrin</surname>
<given-names>S</given-names>
</name>
<name>
<surname>Yuan</surname>
<given-names>Y</given-names>
</name>
</person-group>. <article-title>On Efficiently Combining Limited-Memory and Trust-Region Techniques</article-title>. <source>Math Prog Comp</source> (<year>2017</year>). <volume>9</volume>:<fpage>101</fpage>&#x2013;<lpage>34</lpage>. <pub-id pub-id-type="doi">10.1007/s12532-016-0109-7</pub-id> </citation>
</ref>
<ref id="B34">
<label>34.</label>
<citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname>Burke</surname>
<given-names>JV</given-names>
</name>
<name>
<surname>Wiegmann</surname>
<given-names>A</given-names>
</name>
<name>
<surname>Xu</surname>
<given-names>L</given-names>
</name>
</person-group>. <source>Limited Memory BFGS Updating in a Trust-Region framework Tech. Rep</source>. <publisher-loc>Seattle, WA</publisher-loc>: <publisher-name>University of Washington</publisher-name> (<year>2008</year>). </citation>
</ref>
<ref id="B35">
<label>35.</label>
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Byrd</surname>
<given-names>RH</given-names>
</name>
<name>
<surname>Nocedal</surname>
<given-names>J</given-names>
</name>
<name>
<surname>Schnabel</surname>
<given-names>RB</given-names>
</name>
</person-group>. <article-title>Representations of Quasi-Newton Matrices and Their Use in Limited Memory Methods</article-title>. <source>Math Programming</source> (<year>1994</year>). <volume>63</volume>:<fpage>129</fpage>&#x2013;<lpage>56</lpage>. <pub-id pub-id-type="doi">10.1007/bf01582063</pub-id> </citation>
</ref>
<ref id="B36">
<label>36.</label>
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Gao</surname>
<given-names>G</given-names>
</name>
<name>
<surname>Jiang</surname>
<given-names>H</given-names>
</name>
<name>
<surname>van Hagen</surname>
<given-names>P</given-names>
</name>
<name>
<surname>Vink</surname>
<given-names>JC</given-names>
</name>
<name>
<surname>Wells</surname>
<given-names>T</given-names>
</name>
</person-group>. <article-title>A Gauss-Newton Trust Region Solver for Large Scale History Matching Problems</article-title>. <source>SPE J</source> (<year>2017b</year>). <volume>22</volume>(<issue>6</issue>):<fpage>1999</fpage>&#x2013;<lpage>2011</lpage>. <pub-id pub-id-type="doi">10.2118/182602-pa</pub-id> </citation>
</ref>
<ref id="B37">
<label>37.</label>
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Gao</surname>
<given-names>G</given-names>
</name>
<name>
<surname>Saaf</surname>
<given-names>F</given-names>
</name>
<name>
<surname>Vink</surname>
<given-names>J</given-names>
</name>
<name>
<surname>Krymskaya</surname>
<given-names>M</given-names>
</name>
<name>
<surname>Wells</surname>
<given-names>T</given-names>
</name>
<etal/>
</person-group> <article-title>Gauss-Newton Trust Region Search Optimization Method for Ill-Conditioned Least Squares Problem</article-title>. in: <conf-name>ECMOR XVII 17th European Conference on the Mathematics of Oil Recovery</conf-name>; <conf-date>14 September 2020</conf-date>; <conf-loc>Edinburgh, UK</conf-loc> (<year>2020</year>). p. <fpage>14</fpage>&#x2013;<lpage>17</lpage>. </citation>
</ref>
</ref-list>
</back>
</article>