<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE article PUBLIC "-//NLM//DTD Journal Publishing DTD v2.3 20070202//EN" "journalpublishing.dtd">
<article xml:lang="EN" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink" article-type="research-article">
<front>
<journal-meta>
<journal-id journal-id-type="publisher-id">Front. Comput. Neurosci.</journal-id>
<journal-title>Frontiers in Computational Neuroscience</journal-title>
<abbrev-journal-title abbrev-type="pubmed">Front. Comput. Neurosci.</abbrev-journal-title>
<issn pub-type="epub">1662-5188</issn>
<publisher>
<publisher-name>Frontiers Media S.A.</publisher-name>
</publisher>
</journal-meta>
<article-meta>
<article-id pub-id-type="doi">10.3389/fncom.2024.1483100</article-id>
<article-categories>
<subj-group subj-group-type="heading">
<subject>Neuroscience</subject>
<subj-group>
<subject>Original Research</subject>
</subj-group>
</subj-group>
</article-categories>
<title-group>
<article-title>A framework for optimal control of oscillations and synchrony applied to non-linear models of neural population dynamics</article-title>
</title-group>
<contrib-group>
<contrib contrib-type="author" corresp="yes">
<name><surname>Salfenmoser</surname> <given-names>Lena</given-names></name>
<xref ref-type="aff" rid="aff1"><sup>1</sup></xref>
<xref ref-type="corresp" rid="c001"><sup>&#x0002A;</sup></xref>
<uri xlink:href="http://loop.frontiersin.org/people/1730447/overview"/>
<role content-type="https://credit.niso.org/contributor-roles/validation/"/>
<role content-type="https://credit.niso.org/contributor-roles/conceptualization/"/>
<role content-type="https://credit.niso.org/contributor-roles/writing-review-editing/"/>
<role content-type="https://credit.niso.org/contributor-roles/writing-original-draft/"/>
<role content-type="https://credit.niso.org/contributor-roles/software/"/>
<role content-type="https://credit.niso.org/contributor-roles/methodology/"/>
<role content-type="https://credit.niso.org/contributor-roles/investigation/"/>
<role content-type="https://credit.niso.org/contributor-roles/data-curation/"/>
</contrib>
<contrib contrib-type="author">
<name><surname>Obermayer</surname> <given-names>Klaus</given-names></name>
<xref ref-type="aff" rid="aff1"><sup>1</sup></xref>
<xref ref-type="aff" rid="aff2"><sup>2</sup></xref>
<role content-type="https://credit.niso.org/contributor-roles/writing-review-editing/"/>
<role content-type="https://credit.niso.org/contributor-roles/supervision/"/>
<role content-type="https://credit.niso.org/contributor-roles/funding-acquisition/"/>
<role content-type="https://credit.niso.org/contributor-roles/conceptualization/"/>
</contrib>
</contrib-group>
<aff id="aff1"><sup>1</sup><institution>Institute of Software Engineering and Theoretical Computer Science, Technische Universitaet Berlin</institution>, <addr-line>Berlin</addr-line>, <country>Germany</country></aff>
<aff id="aff2"><sup>2</sup><institution>Bernstein Center for Computational Neuroscience Berlin</institution>, <addr-line>Berlin</addr-line>, <country>Germany</country></aff>
<author-notes>
<fn fn-type="edited-by"><p>Edited by: Qingdu Li, University of Shanghai for Science and Technology, China</p></fn>
<fn fn-type="edited-by"><p>Reviewed by: Qingyun Wang, Beihang University, China</p>
<p>Jr-Shin Li, Washington University in St. Louis, United States</p></fn>
<corresp id="c001">&#x0002A;Correspondence: Lena Salfenmoser <email>lena.salfenmoser&#x00040;tu-berlin.de</email></corresp>
</author-notes>
<pub-date pub-type="epub">
<day>06</day>
<month>12</month>
<year>2024</year>
</pub-date>
<pub-date pub-type="collection">
<year>2024</year>
</pub-date>
<volume>18</volume>
<elocation-id>1483100</elocation-id>
<history>
<date date-type="received">
<day>19</day>
<month>08</month>
<year>2024</year>
</date>
<date date-type="accepted">
<day>18</day>
<month>11</month>
<year>2024</year>
</date>
</history>
<permissions>
<copyright-statement>Copyright &#x000A9; 2024 Salfenmoser and Obermayer.</copyright-statement>
<copyright-year>2024</copyright-year>
<copyright-holder>Salfenmoser and Obermayer</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 terms.</p></license>
</permissions>
<abstract>
<p>We adapt non-linear optimal control theory (OCT) to control oscillations and network synchrony and apply it to models of neural population dynamics. OCT is a mathematical framework to compute an efficient stimulation for dynamical systems. In its standard formulation, it requires a well-defined reference trajectory as target state. This requirement, however, may be overly restrictive for oscillatory targets, where the exact trajectory shape might not be relevant. To overcome this limitation, we introduce three alternative cost functionals to target oscillations and synchrony without specification of a reference trajectory. We successfully apply these cost functionals to single-node and network models of neural populations, in which each node is described by either the Wilson-Cowan model or a biophysically realistic high-dimensional mean-field model of exponential integrate-and-fire neurons. We compute efficient control strategies for four different control tasks. First, we drive oscillations from a stable stationary state at a particular frequency. Second, we switch between stationary and oscillatory stable states and find a translational invariance of the state-switching control signals. Third, we switch between in-phase and out-of-phase oscillations in a two-node network, where all cost functionals lead to identical OC signals in the minimum-energy limit. Finally, we (de-) synchronize an (a-) synchronously oscillating six-node network. In this setup, for the desynchronization task, we find very different control strategies for the three cost functionals. The suggested methods represent a toolbox that enables to include oscillatory phenomena into the framework of non-linear OCT without specification of an exact reference trajectory. However, task-specific adjustments of the optimization parameters have to be performed to obtain informative results.</p></abstract>
<kwd-group>
<kwd>nonlinear optimal control</kwd>
<kwd>control of oscillations</kwd>
<kwd>control of synchrony</kwd>
<kwd>control of neural dynamics</kwd>
<kwd>neural population models</kwd>
</kwd-group>
<contract-num rid="cn001">OB 102/31</contract-num>
<contract-sponsor id="cn001">Deutsche Forschungsgemeinschaft<named-content content-type="fundref-id">10.13039/501100001659</named-content></contract-sponsor>
<counts>
<fig-count count="8"/>
<table-count count="3"/>
<equation-count count="22"/>
<ref-count count="39"/>
<page-count count="14"/>
<word-count count="9544"/>
</counts>
</article-meta>
</front>
<body>
<sec sec-type="intro" id="s1">
<title>1 Introduction</title>
<p>OCT is a mathematical framework that offers methods to compute efficient stimulation for linear or non-linear dynamical systems (Kirk, <xref ref-type="bibr" rid="B14">2004</xref>) with numerous applications in science, engineering, and operations research. With OCT, a stimulating signal can be designed such that the dynamical system under consideration behaves in a desired manner. Conventionally, a reference trajectory is defined that the state variable of the dynamical system should mimic. A cost functional trades the closeness between the actual and a reference state (typically, the squared difference between the reference and target states integrated over time) against the input strength of the control (typically, the squared control input integrated over time). The optimal control (OC) minimizes the cost functional.</p>
<p>Control of neural system has been studied intensively both theoretically and experimentally (Kao and Hennequin, <xref ref-type="bibr" rid="B13">2019</xref>; Suppa et al., <xref ref-type="bibr" rid="B29">2016</xref>; Liu et al., <xref ref-type="bibr" rid="B17">2018</xref>). Closed-loop control and machine learning approaches have been applied, for example, to modulate brain activity (Grosenick et al., <xref ref-type="bibr" rid="B10">2015</xref>; Tafazoli et al., <xref ref-type="bibr" rid="B30">2020</xref>; Park et al., <xref ref-type="bibr" rid="B20">2019</xref>) and optimize stimulation protocols for the treatment of neurological disorders (Yu et al., <xref ref-type="bibr" rid="B37">2020</xref>; Chandrabhatla et al., <xref ref-type="bibr" rid="B7">2023</xref>). Open-loop optimal control has been computed for non-linear models of neural population dynamics (Salfenmoser and Obermayer, <xref ref-type="bibr" rid="B26">2022</xref>, <xref ref-type="bibr" rid="B27">2023</xref>) and networks thereof Chouzouris et al. (<xref ref-type="bibr" rid="B8">2021</xref>). Beyond that, network control theory has widely been applied to linear models of brain networks to understand how network structure determines the role of brain circuits to control network function (McGowan et al., <xref ref-type="bibr" rid="B18">2022</xref>), or how altered structural connectivity is linked to mental disorders (Z&#x000F6;ller et al., <xref ref-type="bibr" rid="B39">2021</xref>).</p>
<p>In neural systems, oscillatory phenomena commonly emerge and spread over various spatial and temporal scales. To control neural oscillations, OCT has mostly been applied to phase-reduced models of oscillatory systems (e.g., Dasanayake and Li, <xref ref-type="bibr" rid="B9">2011</xref>; Zlotnik and Li, <xref ref-type="bibr" rid="B38">2012</xref>; Pyragas et al., <xref ref-type="bibr" rid="B23">2020</xref>; Wilson and Moehlis, <xref ref-type="bibr" rid="B34">2014</xref>). Phase reduction techniques enable to drastically simplify complex dynamical system evolving along a stable limit cycle by parametrizing their dynamics via their phase only (Pietras and Daffertshofer, <xref ref-type="bibr" rid="B21">2019</xref>). As the oscillation phase becomes the (only) state variable, synchronization directly translates to phase alignment, and optimal synchronization and desynchronization can be studied straightforwardly by conventional OCT methods. The low computational complexity of phase-reduced models enables OC studies of large-scale networks (e.g., Bomela et al., <xref ref-type="bibr" rid="B3">2023</xref>). However, phase-reduced models can by construction only describe trajectories along the stable limit cycles of coupled oscillators. Control strategies are limited to phase shifts along these limit cycles and cannot capture larger deviations from it. The phase-reduced approximation breaks down at a bifurcation, and the model dynamics may not be described accurately close to a bifurcation. Beyond phase model studies, delayed feedback control (Popovych et al., <xref ref-type="bibr" rid="B22">2006</xref>; H&#x000F6;vel et al., <xref ref-type="bibr" rid="B11">2010</xref>) and model-free machine learning methods (Krylov et al., <xref ref-type="bibr" rid="B16">2020</xref>; Vu et al., <xref ref-type="bibr" rid="B33">2024</xref>) have been applied to discuss optimal synchronization or desynchronization in multi-dimensional models of neural activity.</p>
<p>There are different classes of methods to compute OC for non-linear systems (Rao, <xref ref-type="bibr" rid="B25">2010</xref>). Model-based approaches use the mathematical description of a dynamical system: While indirect methods reformulate the optimization problem such that optimality conditions are obtained, from which the optimal control can be computed, direct methods discretize the continuous control problem such that it becomes an optimization problem in finite space. Model-free approaches learn control strategies from a sufficient amount of data of how the system behaves under stimulation, without using any information on the analytical model description (Koryakovskiy et al., <xref ref-type="bibr" rid="B15">2017</xref>).</p>
<p>In this study, we compute OC using the indirect adjoint method, which enables to formulate an expression for the gradient of the cost functional with respect to the control. It can be applied to any linear or non-linear dynamical system and is, in principle, analytic. However, the arising equations cannot be solved analytically in most non-linear systems and require numerical solutions. Up to the uncertainties of the numerical computation, the method remains exact. Control shapes are entirely determined by the system dynamics at any point in the state space and for any dynamical regime. The method is applicable to arbitrary networks; however, in practice, computational complexity will limit network sizes.</p>
<p>Standard mathematical methods borrowed from OCT are limited in their applicability to oscillatory phenomena in (unreduced) complex dynamical systems: The specification of a reference trajectory is overly restrictive since the exact shape of the oscillatory trajectory, including properties such as amplitude and phase, may often be irrelevant. We therefore adapt the OCT framework and suggest to replace the cost functional that measures closeness between actual and reference state by one of three alternative cost functionals:</p>
<list list-type="bullet">
<list-item><p>The <italic>Fourier cost</italic> evaluates the Fourier component corresponding to a target oscillation frequency.</p></list-item>
<list-item><p>The <italic>cross-correlation cost</italic> evaluates the pairwise cross-correlation of the dynamical state of all nodes in a network (Chouzouris et al., <xref ref-type="bibr" rid="B8">2021</xref>).</p></list-item>
<list-item><p>The <italic>variance cost</italic> evaluates the variance of the activity throughout a network.</p></list-item>
</list>
<p>The Fourier cost enables new applications of OCT to induce oscillations when the system is in a fixed point without specifying a reference trajectory. All three cost functionals are evaluated and compared for switching between stationary states and for the control of network (de-) synchronization. The variance cost is inspired by studies on the control of frequency synchronization in phase oscillator models (e.g., Taher et al. (<xref ref-type="bibr" rid="B31">2019</xref>)), and a similar cost functional has recently been studied using a data-driven approach (see Vu et al., <xref ref-type="bibr" rid="B33">2024</xref>). The cross-correlation cost has been studied before in the context of network synchronization (cf. Chouzouris et al., <xref ref-type="bibr" rid="B8">2021</xref>) and is included for comparison.</p>
<p>We demonstrate how to include these cost functionals into the adjoint method, such that all benefits from this method are inherited. This enables to study efficient control strategies in complex systems for a repertoire of control tasks that cannot be captured by phase-reduced oscillator models. Potential applications go beyond (de-) synchronization of oscillating networks and may combine oscillatory and non-oscillatory states, e.g., in multistable systems, or across bifurcation boundaries.</p>
<p>In this study, we use two non-linear models of neural populations dynamics as example systems. We study the Wilson-Cowan (WC) model (Wilson and Cowan, <xref ref-type="bibr" rid="B35">1972</xref>, <xref ref-type="bibr" rid="B36">1973</xref>), a simple, phenomenological neural mass model, and the mean-field EIF model, a biophysically motivated mean-field model of excitatory and inhibitory exponential integrate-and-fire (EIF) neurons (Augustin et al., <xref ref-type="bibr" rid="B2">2017</xref>; Cakan and Obermayer, <xref ref-type="bibr" rid="B6">2020</xref>). The mean-field EIF model exhibits more dynamical variety and hence enables to study control tasks that are not accessible with the WC model only. In these models, the OC cannot be computed analytically. Instead, the cost gradient is computed numerically, and the OC is approached by gradient descent.</p>
<p>This article is structured as follows: Section 2.1 provides an introduction to OCT, and Section 2.2 presents our adjustments to target the problem of controlling oscillations and synchrony. In Section 2.3, we introduce the two models of neural population dynamics that serve as example systems in this study. Section 2.4 presents the implementation of our OC methods, and we provide details on the numerical simulations and on the convergence properties of the gradient descent procedure. In Section 3, we present our results. We first study the efficacy of the Fourier cost to enforce oscillations from stationary states in a single-node system (see Sections 3.1 and 3.2.1). Then, we apply the Fourier cost, the cross-correlation cost, and the variance cost to switch between oscillatory states (see Section 3.2.2). Finally, we synchronize or desynchronize oscillating networks with the three proposed cost functionals (see Section 3.3). In Section 4, we summarize our findings, discuss the limitations of our method, and give an outlook on potential future areas of application.</p>
</sec>
<sec sec-type="methods" id="s2">
<title>2 Methods</title>
<sec>
<title>2.1 Optimal control of non-linear dynamical systems</title>
<p>We study controlled non-linear dynamical systems that may be defined by ordinary differential equations (ODEs) or differential-algebraic equations (DAEs) and may include delays. We denote such systems by</p>
<disp-formula id="E1"><label>(1)</label><mml:math id="M1"><mml:mtable class="eqnarray" columnalign="left"><mml:mtr><mml:mtd><mml:mover accent="true"><mml:mrow><mml:mi>h</mml:mi></mml:mrow><mml:mo>&#x02192;</mml:mo></mml:mover><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mover accent="true"><mml:mrow><mml:mi>x</mml:mi></mml:mrow><mml:mo>&#x02192;</mml:mo></mml:mover><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>t</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mo>,</mml:mo><mml:mover accent="true"><mml:mrow><mml:mover accent="true"><mml:mrow><mml:mi>x</mml:mi></mml:mrow><mml:mo>&#x02192;</mml:mo></mml:mover></mml:mrow><mml:mo>&#x002D9;</mml:mo></mml:mover><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>t</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mo>,</mml:mo><mml:mover accent="true"><mml:mrow><mml:mi>x</mml:mi></mml:mrow><mml:mo>&#x02192;</mml:mo></mml:mover><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>t</mml:mi><mml:mo>-</mml:mo><mml:msub><mml:mrow><mml:mi>d</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mo>,</mml:mo><mml:mover accent="true"><mml:mrow><mml:mi>x</mml:mi></mml:mrow><mml:mo>&#x02192;</mml:mo></mml:mover><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>t</mml:mi><mml:mo>-</mml:mo><mml:msub><mml:mrow><mml:mi>d</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mo>,</mml:mo><mml:mo>.</mml:mo><mml:mo>.</mml:mo><mml:mo>.</mml:mo><mml:mo>,</mml:mo><mml:mover accent="true"><mml:mrow><mml:mi>x</mml:mi></mml:mrow><mml:mo>&#x02192;</mml:mo></mml:mover><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>t</mml:mi><mml:mo>-</mml:mo><mml:msub><mml:mrow><mml:mi>d</mml:mi></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi>N</mml:mi></mml:mrow><mml:mrow><mml:mi>d</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mo>,</mml:mo><mml:mover accent="true"><mml:mrow><mml:mi>u</mml:mi></mml:mrow><mml:mo>&#x02192;</mml:mo></mml:mover><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>t</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mo>=</mml:mo><mml:mn>0</mml:mn><mml:mo>,</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
<p>with the state vector <inline-formula><mml:math id="M2"><mml:mover accent="true"><mml:mrow><mml:mi>x</mml:mi></mml:mrow><mml:mo>&#x02192;</mml:mo></mml:mover></mml:math></inline-formula>, its time derivative <inline-formula><mml:math id="M3"><mml:mover accent="true"><mml:mrow><mml:mover accent="true"><mml:mrow><mml:mi>x</mml:mi></mml:mrow><mml:mo>&#x02192;</mml:mo></mml:mover></mml:mrow><mml:mo>&#x002D9;</mml:mo></mml:mover></mml:math></inline-formula>, and <italic>N</italic><sub><italic>d</italic></sub> potentially different delays <italic>d</italic><sub><italic>i</italic></sub>. In this study, we consider network systems with <italic>N</italic> network nodes and a finite simulation time. The state vector <inline-formula><mml:math id="M4"><mml:mover accent="true"><mml:mrow><mml:mi>x</mml:mi></mml:mrow><mml:mo>&#x02192;</mml:mo></mml:mover></mml:math></inline-formula> contains the stacked state vectors <inline-formula><mml:math id="M5"><mml:msub><mml:mrow><mml:mover accent="true"><mml:mrow><mml:mi>x</mml:mi></mml:mrow><mml:mo>&#x02192;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mi>n</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mi>n</mml:mi><mml:mo>&#x02208;</mml:mo><mml:mrow><mml:mo>{</mml:mo><mml:mrow><mml:mn>1</mml:mn><mml:mo>,</mml:mo><mml:mn>2</mml:mn><mml:mo>,</mml:mo><mml:mo>.</mml:mo><mml:mo>.</mml:mo><mml:mo>.</mml:mo><mml:mi>N</mml:mi></mml:mrow><mml:mo>}</mml:mo></mml:mrow></mml:math></inline-formula>, of all nodes. Similarly, <inline-formula><mml:math id="M6"><mml:mover accent="true"><mml:mrow><mml:mi>h</mml:mi></mml:mrow><mml:mo>&#x02192;</mml:mo></mml:mover></mml:math></inline-formula> contains the stacked system dynamics of all network nodes. We denote the dimensionality of the state vector of a single node as <italic>N</italic><sub><italic>x</italic></sub>, such that <inline-formula><mml:math id="M7"><mml:mrow><mml:mo>{</mml:mo><mml:mrow><mml:mover accent="true"><mml:mrow><mml:mi>x</mml:mi></mml:mrow><mml:mo>&#x02192;</mml:mo></mml:mover><mml:mo>,</mml:mo><mml:mover accent="true"><mml:mrow><mml:mi>h</mml:mi></mml:mrow><mml:mo>&#x02192;</mml:mo></mml:mover></mml:mrow><mml:mo>}</mml:mo></mml:mrow><mml:mo>&#x02208;</mml:mo><mml:msup><mml:mrow><mml:mi>&#x0211D;</mml:mi></mml:mrow><mml:mrow><mml:mi>N</mml:mi><mml:mo>&#x000B7;</mml:mo><mml:msub><mml:mrow><mml:mi>N</mml:mi></mml:mrow><mml:mrow><mml:mi>x</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msup></mml:math></inline-formula>. <inline-formula><mml:math id="M8"><mml:mover accent="true"><mml:mrow><mml:mi>u</mml:mi></mml:mrow><mml:mo>&#x02192;</mml:mo></mml:mover><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>t</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:math></inline-formula> is the control input, which may effect one or more components of <inline-formula><mml:math id="M9"><mml:msub><mml:mrow><mml:mover accent="true"><mml:mrow><mml:mi>x</mml:mi></mml:mrow><mml:mo>&#x02192;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mi>n</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> for each node in a network. The OC formalism provides methods to compute a control <inline-formula><mml:math id="M10"><mml:mover accent="true"><mml:mrow><mml:mi>u</mml:mi></mml:mrow><mml:mo>&#x02192;</mml:mo></mml:mover><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>t</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:math></inline-formula> that is most efficient for a particular purpose. A cost functional <italic>F</italic> measures the efficiency of a control. It is conventionally defined as</p>
<disp-formula id="E2"><label>(2)</label><mml:math id="M11"><mml:mtable class="eqnarray" columnalign="right"><mml:mtr><mml:mtd><mml:mi>F</mml:mi><mml:mo>=</mml:mo><mml:msub><mml:mrow><mml:mi>w</mml:mi></mml:mrow><mml:mrow><mml:mtext class="textrm" mathvariant="normal">P</mml:mtext></mml:mrow></mml:msub><mml:mstyle displaystyle="true"><mml:munder class="msub"><mml:mrow><mml:mstyle displaystyle="true"><mml:munder accentunder="false"><mml:mrow><mml:mfrac><mml:mrow><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mn>2</mml:mn><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>T</mml:mi><mml:mo>-</mml:mo><mml:msub><mml:mrow><mml:mi>t</mml:mi></mml:mrow><mml:mrow><mml:mn>0</mml:mn></mml:mrow></mml:msub></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow></mml:mfrac><mml:mstyle displaystyle="true"><mml:msubsup><mml:mrow><mml:mo>&#x0222B;</mml:mo></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi>t</mml:mi></mml:mrow><mml:mrow><mml:mn>0</mml:mn></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mi>T</mml:mi></mml:mrow></mml:msubsup></mml:mstyle><mml:msup><mml:mrow><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mover accent="true"><mml:mrow><mml:mi>x</mml:mi></mml:mrow><mml:mo>&#x02192;</mml:mo></mml:mover><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>t</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mo>-</mml:mo><mml:mover accent="true"><mml:mrow><mml:mi>x</mml:mi></mml:mrow><mml:mo>&#x0007E;</mml:mo></mml:mover><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>t</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msup><mml:mi>d</mml:mi><mml:mi>t</mml:mi></mml:mrow><mml:mo>&#x0FE38;</mml:mo></mml:munder></mml:mstyle></mml:mrow><mml:mrow><mml:mo>=</mml:mo><mml:msub><mml:mrow><mml:mi>F</mml:mi></mml:mrow><mml:mrow><mml:mtext class="textrm" mathvariant="normal">P</mml:mtext></mml:mrow></mml:msub></mml:mrow></mml:munder></mml:mstyle><mml:mo>&#x0002B;</mml:mo><mml:mstyle displaystyle="true"><mml:munder class="msub"><mml:mrow><mml:mstyle displaystyle="true"><mml:munder accentunder="false"><mml:mrow><mml:mfrac><mml:mrow><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:mfrac><mml:mstyle displaystyle="true"><mml:msubsup><mml:mrow><mml:mo>&#x0222B;</mml:mo></mml:mrow><mml:mrow><mml:mn>0</mml:mn></mml:mrow><mml:mrow><mml:mi>T</mml:mi></mml:mrow></mml:msubsup></mml:mstyle><mml:msup><mml:mrow><mml:mover accent="true"><mml:mrow><mml:mi>u</mml:mi></mml:mrow><mml:mo>&#x02192;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msup><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>t</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mi>d</mml:mi><mml:mi>t</mml:mi></mml:mrow><mml:mo>&#x0FE38;</mml:mo></mml:munder></mml:mstyle></mml:mrow><mml:mrow><mml:mo>=</mml:mo><mml:msub><mml:mrow><mml:mi>F</mml:mi></mml:mrow><mml:mrow><mml:mtext class="textrm" mathvariant="normal">E</mml:mtext></mml:mrow></mml:msub></mml:mrow></mml:munder></mml:mstyle></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mo>=</mml:mo><mml:mstyle displaystyle="true"><mml:msubsup><mml:mrow><mml:mo>&#x0222B;</mml:mo></mml:mrow><mml:mrow><mml:mn>0</mml:mn></mml:mrow><mml:mrow><mml:mi>T</mml:mi></mml:mrow></mml:msubsup></mml:mstyle><mml:mi>f</mml:mi><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mover accent="true"><mml:mrow><mml:mi>x</mml:mi></mml:mrow><mml:mo>&#x02192;</mml:mo></mml:mover><mml:mo>,</mml:mo><mml:mover accent="true"><mml:mrow><mml:mi>u</mml:mi></mml:mrow><mml:mo>&#x02192;</mml:mo></mml:mover></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mi>d</mml:mi><mml:mi>t</mml:mi><mml:mo>.</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
<p>The first term <italic>F</italic><sub>P</sub> measures the closeness of the trajectory of the state vector <inline-formula><mml:math id="M13"><mml:mover accent="true"><mml:mrow><mml:mi>x</mml:mi></mml:mrow><mml:mo>&#x02192;</mml:mo></mml:mover><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>t</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:math></inline-formula> to a given target trajectory of state vectors <inline-formula><mml:math id="M14"><mml:mover accent="true"><mml:mrow><mml:mi>x</mml:mi></mml:mrow><mml:mo>&#x0007E;</mml:mo></mml:mover><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>t</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mo>&#x02208;</mml:mo><mml:msup><mml:mrow><mml:mi>&#x0211D;</mml:mi></mml:mrow><mml:mrow><mml:mi>N</mml:mi><mml:mo>&#x000B7;</mml:mo><mml:msub><mml:mrow><mml:mi>N</mml:mi></mml:mrow><mml:mrow><mml:mi>x</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msup></mml:math></inline-formula> and is referred to as the precision cost. The second term <italic>F</italic><sub>E</sub> measures the strength of the control signal and is referred to as the energy cost. <italic>T</italic> denotes the considered time interval. Inaccuracy is penalized for <italic>t</italic><sub>0</sub> &#x02264; <italic>t</italic> &#x02264; <italic>T</italic>, while control strength is penalized for the complete time interval. When controlling a switch between two stable states, we set <italic>t</italic><sub>0</sub>&#x0003E;0 to account for a finite transition time. The OC <inline-formula><mml:math id="M15"><mml:msup><mml:mrow><mml:mover accent="true"><mml:mrow><mml:mi>u</mml:mi></mml:mrow><mml:mo>&#x02192;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mo>&#x0002A;</mml:mo></mml:mrow></mml:msup></mml:math></inline-formula> minimizes the cost,</p>
<disp-formula id="E3"><label>(3)</label><mml:math id="M16"><mml:mtable class="eqnarray" columnalign="left"><mml:mtr><mml:mtd><mml:msup><mml:mrow><mml:mover accent="true"><mml:mrow><mml:mi>u</mml:mi></mml:mrow><mml:mo>&#x02192;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mo>&#x0002A;</mml:mo></mml:mrow></mml:msup><mml:mo>=</mml:mo><mml:mo class="qopname">arg</mml:mo><mml:mstyle displaystyle="true"><mml:munder class="msub"><mml:mrow><mml:mo class="qopname">min</mml:mo></mml:mrow><mml:mrow><mml:mover accent="true"><mml:mrow><mml:mi>u</mml:mi></mml:mrow><mml:mo class="qopname">&#x02192;</mml:mo></mml:mover></mml:mrow></mml:munder></mml:mstyle><mml:mi>F</mml:mi><mml:mo>.</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
<p>The weight <italic>w</italic><sub>P</sub> can be tuned to trade precision against the required control strength.</p>
<p>In the following Section 2.2, we will consider new cost functionals <inline-formula><mml:math id="M17"><mml:msub><mml:mrow><mml:mi>F</mml:mi></mml:mrow><mml:mrow><mml:mstyle class="text"><mml:mtext class="textrm" mathvariant="normal">X</mml:mtext></mml:mstyle></mml:mrow></mml:msub><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mover accent="true"><mml:mrow><mml:mi>x</mml:mi></mml:mrow><mml:mo>&#x02192;</mml:mo></mml:mover></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:math></inline-formula> which go beyond the precision cost <inline-formula><mml:math id="M18"><mml:msub><mml:mrow><mml:mi>F</mml:mi></mml:mrow><mml:mrow><mml:mstyle class="text"><mml:mtext class="textrm" mathvariant="normal">P</mml:mtext></mml:mstyle></mml:mrow></mml:msub><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mover accent="true"><mml:mrow><mml:mi>x</mml:mi></mml:mrow><mml:mo>&#x02192;</mml:mo></mml:mover></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:math></inline-formula> defined in <xref ref-type="disp-formula" rid="E2">Equation 2</xref>, i.e., <inline-formula><mml:math id="M19"><mml:msub><mml:mrow><mml:mi>F</mml:mi></mml:mrow><mml:mrow><mml:mstyle class="text"><mml:mtext class="textrm" mathvariant="normal">P</mml:mtext></mml:mstyle></mml:mrow></mml:msub><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mover accent="true"><mml:mrow><mml:mi>x</mml:mi></mml:mrow><mml:mo>&#x02192;</mml:mo></mml:mover></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mo>&#x02192;</mml:mo><mml:msub><mml:mrow><mml:mi>F</mml:mi></mml:mrow><mml:mrow><mml:mstyle class="text"><mml:mtext class="textrm" mathvariant="normal">X</mml:mtext></mml:mstyle></mml:mrow></mml:msub><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mover accent="true"><mml:mrow><mml:mi>x</mml:mi></mml:mrow><mml:mo>&#x02192;</mml:mo></mml:mover></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:math></inline-formula>. To be able to apply the <italic>adjoint method</italic>, we require that the derivative of the cost functional with respect to the control can be written in the form</p>
<disp-formula id="E4"><label>(4)</label><mml:math id="M20"><mml:mtable class="eqnarray" columnalign="left"><mml:mtr><mml:mtd><mml:mfrac><mml:mrow><mml:mi>d</mml:mi><mml:msub><mml:mrow><mml:mi>F</mml:mi></mml:mrow><mml:mrow><mml:mtext class="textrm" mathvariant="normal">X</mml:mtext></mml:mrow></mml:msub><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mover accent="true"><mml:mrow><mml:mi>x</mml:mi></mml:mrow><mml:mo>&#x02192;</mml:mo></mml:mover></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow><mml:mrow><mml:mi>d</mml:mi><mml:mover accent="true"><mml:mrow><mml:mi>u</mml:mi></mml:mrow><mml:mo>&#x02192;</mml:mo></mml:mover></mml:mrow></mml:mfrac><mml:mo>=</mml:mo><mml:mstyle displaystyle="true"><mml:msubsup><mml:mrow><mml:mo>&#x0222B;</mml:mo></mml:mrow><mml:mrow><mml:mn>0</mml:mn></mml:mrow><mml:mrow><mml:mi>T</mml:mi></mml:mrow></mml:msubsup></mml:mstyle><mml:mover accent="true"><mml:mrow><mml:mi>g</mml:mi></mml:mrow><mml:mo>&#x02192;</mml:mo></mml:mover><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mover accent="true"><mml:mrow><mml:mi>x</mml:mi></mml:mrow><mml:mo>&#x02192;</mml:mo></mml:mover></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mfrac><mml:mrow><mml:mi>d</mml:mi><mml:mover accent="true"><mml:mrow><mml:mi>x</mml:mi></mml:mrow><mml:mo>&#x02192;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mi>d</mml:mi><mml:mover accent="true"><mml:mrow><mml:mi>u</mml:mi></mml:mrow><mml:mo>&#x02192;</mml:mo></mml:mover></mml:mrow></mml:mfrac><mml:mi>d</mml:mi><mml:mi>t</mml:mi><mml:mo>,</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
<p>where <inline-formula><mml:math id="M21"><mml:mover accent="true"><mml:mrow><mml:mi>g</mml:mi></mml:mrow><mml:mo>&#x02192;</mml:mo></mml:mover><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mover accent="true"><mml:mrow><mml:mi>x</mml:mi></mml:mrow><mml:mo>&#x02192;</mml:mo></mml:mover></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:math></inline-formula> is some function of the state variable <inline-formula><mml:math id="M22"><mml:mover accent="true"><mml:mrow><mml:mi>x</mml:mi></mml:mrow><mml:mo>&#x02192;</mml:mo></mml:mover></mml:math></inline-formula> (see <xref ref-type="supplementary-material" rid="SM1">Supplementary material</xref>).</p>
<p>The adjoint method (Kirk, <xref ref-type="bibr" rid="B14">2004</xref>) enables to compute the derivative <inline-formula><mml:math id="M23"><mml:mfrac><mml:mrow><mml:mi>d</mml:mi></mml:mrow><mml:mrow><mml:mi>d</mml:mi><mml:mover accent="true"><mml:mrow><mml:mi>u</mml:mi></mml:mrow><mml:mo>&#x02192;</mml:mo></mml:mover></mml:mrow></mml:mfrac><mml:mi>F</mml:mi></mml:math></inline-formula> of the cost functional with respect to the control. The adjoint state <inline-formula><mml:math id="M24"><mml:mover accent="true"><mml:mrow><mml:mo>&#x003BB;</mml:mo></mml:mrow><mml:mo>&#x02192;</mml:mo></mml:mover><mml:mo>&#x02208;</mml:mo><mml:msup><mml:mrow><mml:mi>&#x0211D;</mml:mi></mml:mrow><mml:mrow><mml:mi>N</mml:mi><mml:mo>&#x000B7;</mml:mo><mml:msub><mml:mrow><mml:mi>N</mml:mi></mml:mrow><mml:mrow><mml:mi>x</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msup></mml:math></inline-formula> is defined by the differential equation</p>
<disp-formula id="E5"><label>(5)</label><mml:math id="M25"><mml:mtable class="eqnarray" columnalign="right"><mml:mtr><mml:mtd><mml:mover accent="true"><mml:mrow><mml:mover accent="true"><mml:mrow><mml:mo>&#x003BB;</mml:mo></mml:mrow><mml:mo>&#x02192;</mml:mo></mml:mover></mml:mrow><mml:mo>&#x002D9;</mml:mo></mml:mover><mml:msup><mml:mrow><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>t</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow><mml:mrow><mml:mi>T</mml:mi></mml:mrow></mml:msup><mml:mfrac><mml:mrow><mml:mi>&#x02202;</mml:mi><mml:mover accent="true"><mml:mrow><mml:mi>h</mml:mi></mml:mrow><mml:mo>&#x02192;</mml:mo></mml:mover><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>t</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow><mml:mrow><mml:mi>&#x02202;</mml:mi><mml:mover accent="true"><mml:mrow><mml:mover accent="true"><mml:mrow><mml:mi>x</mml:mi></mml:mrow><mml:mo>&#x02192;</mml:mo></mml:mover></mml:mrow><mml:mo>&#x002D9;</mml:mo></mml:mover></mml:mrow></mml:mfrac><mml:mo>=</mml:mo><mml:mover accent="true"><mml:mrow><mml:mi>g</mml:mi></mml:mrow><mml:mo>&#x02192;</mml:mo></mml:mover><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mover accent="true"><mml:mrow><mml:mi>x</mml:mi></mml:mrow><mml:mo>&#x02192;</mml:mo></mml:mover></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mo>&#x0002B;</mml:mo><mml:msup><mml:mrow><mml:mover accent="true"><mml:mrow><mml:mo>&#x003BB;</mml:mo></mml:mrow><mml:mo>&#x02192;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mi>T</mml:mi></mml:mrow></mml:msup><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>t</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mfrac><mml:mrow><mml:mi>&#x02202;</mml:mi><mml:mover accent="true"><mml:mrow><mml:mi>h</mml:mi></mml:mrow><mml:mo>&#x02192;</mml:mo></mml:mover><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>t</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow><mml:mrow><mml:mi>&#x02202;</mml:mi><mml:mover accent="true"><mml:mrow><mml:mi>x</mml:mi></mml:mrow><mml:mo>&#x02192;</mml:mo></mml:mover></mml:mrow></mml:mfrac></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mo>&#x0002B;</mml:mo><mml:mstyle displaystyle="true"><mml:munderover accentunder="false" accent="false"><mml:mrow><mml:mo>&#x02211;</mml:mo></mml:mrow><mml:mrow><mml:mi>i</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi>N</mml:mi></mml:mrow><mml:mrow><mml:mi>d</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:munderover></mml:mstyle><mml:msub><mml:mrow><mml:mi>&#x003C7;</mml:mi></mml:mrow><mml:mrow><mml:mrow><mml:mo>[</mml:mo><mml:mrow><mml:mn>0</mml:mn><mml:mo>,</mml:mo><mml:mi>T</mml:mi><mml:mo>-</mml:mo><mml:msub><mml:mrow><mml:mi>d</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mo>]</mml:mo></mml:mrow></mml:mrow></mml:msub><mml:msup><mml:mrow><mml:mover accent="true"><mml:mrow><mml:mo>&#x003BB;</mml:mo></mml:mrow><mml:mo>&#x02192;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mi>T</mml:mi></mml:mrow></mml:msup><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>t</mml:mi><mml:mo>&#x0002B;</mml:mo><mml:msub><mml:mrow><mml:mi>d</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mfrac><mml:mrow><mml:mi>&#x02202;</mml:mi><mml:mover accent="true"><mml:mrow><mml:mi>h</mml:mi></mml:mrow><mml:mo>&#x02192;</mml:mo></mml:mover><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>t</mml:mi><mml:mo>&#x0002B;</mml:mo><mml:msub><mml:mrow><mml:mi>d</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow><mml:mrow><mml:mi>&#x02202;</mml:mi><mml:mover accent="true"><mml:mrow><mml:mi>x</mml:mi></mml:mrow><mml:mo>&#x02192;</mml:mo></mml:mover></mml:mrow></mml:mfrac><mml:mo>-</mml:mo><mml:msup><mml:mrow><mml:mover accent="true"><mml:mrow><mml:mo>&#x003BB;</mml:mo></mml:mrow><mml:mo>&#x02192;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mi>T</mml:mi></mml:mrow></mml:msup><mml:mfrac><mml:mrow><mml:mi>d</mml:mi></mml:mrow><mml:mrow><mml:mi>d</mml:mi><mml:mi>t</mml:mi></mml:mrow></mml:mfrac><mml:mfrac><mml:mrow><mml:mi>&#x02202;</mml:mi><mml:mover accent="true"><mml:mrow><mml:mi>h</mml:mi></mml:mrow><mml:mo>&#x02192;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mi>&#x02202;</mml:mi><mml:mover accent="true"><mml:mrow><mml:mover accent="true"><mml:mrow><mml:mi>x</mml:mi></mml:mrow><mml:mo>&#x02192;</mml:mo></mml:mover></mml:mrow><mml:mo>&#x002D9;</mml:mo></mml:mover></mml:mrow></mml:mfrac></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
<p>with the final condition <inline-formula><mml:math id="M27"><mml:mover accent="true"><mml:mrow><mml:mo>&#x003BB;</mml:mo></mml:mrow><mml:mo>&#x02192;</mml:mo></mml:mover><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>T</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mo>=</mml:mo><mml:mn>0</mml:mn></mml:math></inline-formula>. &#x003C7;<sub>[<sub><italic>t</italic></sub><sub><italic>a</italic></sub>, <italic>t</italic><sub><italic>b</italic></sub>]</sub> denotes the indicator function of the time interval [<italic>t</italic><sub><italic>a</italic></sub>, <italic>t</italic><sub><italic>b</italic></sub>]. Above expression contains vectors <inline-formula><mml:math id="M28"><mml:mrow><mml:mo>{</mml:mo><mml:mrow><mml:mover accent="true"><mml:mrow><mml:mo>&#x003BB;</mml:mo></mml:mrow><mml:mo>&#x02192;</mml:mo></mml:mover><mml:mo>,</mml:mo><mml:mover accent="true"><mml:mrow><mml:mover accent="true"><mml:mrow><mml:mo>&#x003BB;</mml:mo></mml:mrow><mml:mo>&#x02192;</mml:mo></mml:mover></mml:mrow><mml:mo>&#x002D9;</mml:mo></mml:mover><mml:mo>,</mml:mo><mml:mover accent="true"><mml:mrow><mml:mi>g</mml:mi></mml:mrow><mml:mo>&#x02192;</mml:mo></mml:mover><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mover accent="true"><mml:mrow><mml:mi>x</mml:mi></mml:mrow><mml:mo>&#x02192;</mml:mo></mml:mover></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow><mml:mo>}</mml:mo></mml:mrow><mml:mo>&#x02208;</mml:mo><mml:msup><mml:mrow><mml:mi>&#x0211D;</mml:mi></mml:mrow><mml:mrow><mml:mi>N</mml:mi><mml:mo>&#x000B7;</mml:mo><mml:msub><mml:mrow><mml:mi>N</mml:mi></mml:mrow><mml:mrow><mml:mi>x</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msup></mml:math></inline-formula>, and matrices <inline-formula><mml:math id="M29"><mml:mrow><mml:mo>{</mml:mo><mml:mrow><mml:mfrac><mml:mrow><mml:mi>&#x02202;</mml:mi><mml:mover accent="true"><mml:mrow><mml:mi>h</mml:mi></mml:mrow><mml:mo>&#x02192;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mi>&#x02202;</mml:mi><mml:mover accent="true"><mml:mrow><mml:mover accent="true"><mml:mrow><mml:mi>x</mml:mi></mml:mrow><mml:mo>&#x02192;</mml:mo></mml:mover></mml:mrow><mml:mo>&#x002D9;</mml:mo></mml:mover></mml:mrow></mml:mfrac><mml:mo>,</mml:mo><mml:mfrac><mml:mrow><mml:mi>&#x02202;</mml:mi><mml:mover accent="true"><mml:mrow><mml:mi>h</mml:mi></mml:mrow><mml:mo>&#x02192;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mi>&#x02202;</mml:mi><mml:mover accent="true"><mml:mrow><mml:mi>x</mml:mi></mml:mrow><mml:mo>&#x02192;</mml:mo></mml:mover></mml:mrow></mml:mfrac></mml:mrow><mml:mo>}</mml:mo></mml:mrow><mml:mo>&#x02208;</mml:mo><mml:msup><mml:mrow><mml:mi>&#x0211D;</mml:mi></mml:mrow><mml:mrow><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>N</mml:mi><mml:mo>&#x000B7;</mml:mo><mml:msub><mml:mrow><mml:mi>N</mml:mi></mml:mrow><mml:mrow><mml:mi>x</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mo>&#x000D7;</mml:mo><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>N</mml:mi><mml:mo>&#x000B7;</mml:mo><mml:msub><mml:mrow><mml:mi>N</mml:mi></mml:mrow><mml:mrow><mml:mi>x</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow></mml:msup></mml:math></inline-formula>, with <inline-formula><mml:math id="M30"><mml:msub><mml:mrow><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mfrac><mml:mrow><mml:mi>&#x02202;</mml:mi><mml:mover accent="true"><mml:mrow><mml:mi>h</mml:mi></mml:mrow><mml:mo>&#x02192;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mi>&#x02202;</mml:mi><mml:mover accent="true"><mml:mrow><mml:mover accent="true"><mml:mrow><mml:mi>x</mml:mi></mml:mrow><mml:mo>&#x02192;</mml:mo></mml:mover></mml:mrow><mml:mo>&#x002D9;</mml:mo></mml:mover></mml:mrow></mml:mfrac></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mfrac><mml:mrow><mml:mi>&#x02202;</mml:mi><mml:msub><mml:mrow><mml:mi>h</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mi>&#x02202;</mml:mi><mml:msub><mml:mrow><mml:mi>&#x01E8B;</mml:mi></mml:mrow><mml:mrow><mml:mi>j</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mfrac></mml:math></inline-formula> (indices <italic>i</italic> and <italic>j</italic> denote the <italic>i</italic>th and <italic>j</italic>th vector components). Note that for the dynamical systems studied in this work, <inline-formula><mml:math id="M31"><mml:mfrac><mml:mrow><mml:mi>&#x02202;</mml:mi><mml:mover accent="true"><mml:mrow><mml:mi>h</mml:mi></mml:mrow><mml:mo>&#x02192;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mi>&#x02202;</mml:mi><mml:mover accent="true"><mml:mrow><mml:mover accent="true"><mml:mrow><mml:mi>x</mml:mi></mml:mrow><mml:mo>&#x02192;</mml:mo></mml:mover></mml:mrow><mml:mo>&#x002D9;</mml:mo></mml:mover></mml:mrow></mml:mfrac></mml:math></inline-formula> is a constant such that the last term in <xref ref-type="disp-formula" rid="E5">Equation 5</xref> vanishes. The adjoint state <inline-formula><mml:math id="M32"><mml:mover accent="true"><mml:mrow><mml:mo>&#x003BB;</mml:mo></mml:mrow><mml:mo>&#x02192;</mml:mo></mml:mover></mml:math></inline-formula> is computed by backward integration. It enables to compute the cost derivative</p>
<disp-formula id="E6"><label>(6)</label><mml:math id="M33"><mml:mtable class="eqnarray" columnalign="left"><mml:mtr><mml:mtd><mml:mfrac><mml:mrow><mml:mi>d</mml:mi></mml:mrow><mml:mrow><mml:mi>d</mml:mi><mml:mover accent="true"><mml:mrow><mml:mi>u</mml:mi></mml:mrow><mml:mo>&#x02192;</mml:mo></mml:mover></mml:mrow></mml:mfrac><mml:mi>F</mml:mi><mml:mo>=</mml:mo><mml:mstyle displaystyle="true"><mml:msubsup><mml:mrow><mml:mo>&#x0222B;</mml:mo></mml:mrow><mml:mrow><mml:mn>0</mml:mn></mml:mrow><mml:mrow><mml:mi>T</mml:mi></mml:mrow></mml:msubsup></mml:mstyle><mml:mfrac><mml:mrow><mml:mi>&#x02202;</mml:mi><mml:mi>f</mml:mi></mml:mrow><mml:mrow><mml:mi>&#x02202;</mml:mi><mml:mover accent="true"><mml:mrow><mml:mi>u</mml:mi></mml:mrow><mml:mo>&#x02192;</mml:mo></mml:mover></mml:mrow></mml:mfrac><mml:mo>&#x0002B;</mml:mo><mml:msup><mml:mrow><mml:mover accent="true"><mml:mrow><mml:mo>&#x003BB;</mml:mo></mml:mrow><mml:mo>&#x02192;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mi>T</mml:mi></mml:mrow></mml:msup><mml:mfrac><mml:mrow><mml:mi>&#x02202;</mml:mi><mml:mover accent="true"><mml:mrow><mml:mi>h</mml:mi></mml:mrow><mml:mo>&#x02192;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mi>&#x02202;</mml:mi><mml:mover accent="true"><mml:mrow><mml:mi>u</mml:mi></mml:mrow><mml:mo>&#x02192;</mml:mo></mml:mover></mml:mrow></mml:mfrac><mml:mi>d</mml:mi><mml:mi>t</mml:mi><mml:mo>.</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
<p>The integrand <inline-formula><mml:math id="M34"><mml:mfrac><mml:mrow><mml:mi>&#x02202;</mml:mi><mml:mi>f</mml:mi></mml:mrow><mml:mrow><mml:mi>&#x02202;</mml:mi><mml:mover accent="true"><mml:mrow><mml:mi>u</mml:mi></mml:mrow><mml:mo>&#x02192;</mml:mo></mml:mover></mml:mrow></mml:mfrac><mml:mo>&#x0002B;</mml:mo><mml:msup><mml:mrow><mml:mover accent="true"><mml:mrow><mml:mo>&#x003BB;</mml:mo></mml:mrow><mml:mo>&#x02192;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mi>T</mml:mi></mml:mrow></mml:msup><mml:mfrac><mml:mrow><mml:mi>&#x02202;</mml:mi><mml:mover accent="true"><mml:mrow><mml:mi>h</mml:mi></mml:mrow><mml:mo>&#x02192;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mi>&#x02202;</mml:mi><mml:mover accent="true"><mml:mrow><mml:mi>u</mml:mi></mml:mrow><mml:mo>&#x02192;</mml:mo></mml:mover></mml:mrow></mml:mfrac></mml:math></inline-formula> is the cost gradient as a function of time, which is required for the gradient descent. A derivation of the adjoint method is provided in the <xref ref-type="supplementary-material" rid="SM1">Supplementary Section 1</xref>.</p>
<p>When studying oscillatory phenomena and the control thereof, a well-defined target trajectory <inline-formula><mml:math id="M35"><mml:msub><mml:mrow><mml:mover accent="true"><mml:mrow><mml:mi>x</mml:mi></mml:mrow><mml:mo>&#x0007E;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mi>n</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>t</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:math></inline-formula> for each network node implies that the exact shape of the oscillation, including amplitude and phase, is set. This might be overly restrictive in certain scenarios. In the next section, we will, therefore, introduce alternative cost functionals to replace the precision cost <italic>F</italic><sub>P</sub> in <xref ref-type="disp-formula" rid="E2">Equation 2</xref>.</p>
</sec>
<sec>
<title>2.2 Optimal control of oscillations and synchrony</title>
<p>For the cost functionals that measure oscillation and synchronization, we consider only one relevant state variable for each network node. The formalism we present is, however, not generally limited to this simplification and can be extended straightforwardly. We drop the vector arrow and denote the observable component of the state variable by <italic>x</italic><sub><italic>n</italic></sub>(<italic>t</italic>) for network node <italic>n</italic>.</p>
<p>To enforce phase and frequency synchronization in a network at frequency <inline-formula><mml:math id="M36"><mml:mover accent="true"><mml:mrow><mml:mi>f</mml:mi></mml:mrow><mml:mo>&#x0007E;</mml:mo></mml:mover></mml:math></inline-formula>, we replace <italic>F</italic><sub>P</sub> in <xref ref-type="disp-formula" rid="E2">Equation 2</xref> by the <italic>synchronization Fourier cost</italic>,</p>
<disp-formula id="E7"><label>(7)</label><mml:math id="M37"><mml:mrow><mml:msubsup><mml:mi>F</mml:mi><mml:mtext>F</mml:mtext><mml:mrow><mml:mtext>sync</mml:mtext></mml:mrow></mml:msubsup><mml:mo>=</mml:mo><mml:mo>&#x02212;</mml:mo><mml:mfrac><mml:mn>1</mml:mn><mml:mrow><mml:msup><mml:mi>N</mml:mi><mml:mn>2</mml:mn></mml:msup><mml:msup><mml:mrow><mml:mo stretchy='false'>(</mml:mo><mml:mi>T</mml:mi><mml:mo>&#x02212;</mml:mo><mml:msub><mml:mi>t</mml:mi><mml:mn>0</mml:mn></mml:msub><mml:mo stretchy='false'>)</mml:mo></mml:mrow><mml:mn>2</mml:mn></mml:msup></mml:mrow></mml:mfrac><mml:mo>&#x0007C;</mml:mo><mml:mstyle displaystyle='true'><mml:mrow><mml:msubsup><mml:mo>&#x0222B;</mml:mo><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mn>0</mml:mn></mml:msub></mml:mrow><mml:mi>T</mml:mi></mml:msubsup><mml:mrow><mml:msub><mml:mo>&#x003A3;</mml:mo><mml:mi>x</mml:mi></mml:msub></mml:mrow></mml:mrow></mml:mstyle><mml:mo stretchy='false'>(</mml:mo><mml:mi>t</mml:mi><mml:mo stretchy='false'>)</mml:mo><mml:mo>&#x000B7;</mml:mo><mml:msup><mml:mi>e</mml:mi><mml:mrow><mml:mo>&#x02212;</mml:mo><mml:mi>i</mml:mi><mml:mi>&#x003C9;</mml:mi><mml:mi>t</mml:mi></mml:mrow></mml:msup><mml:mo>&#x000A0;</mml:mo><mml:mi>d</mml:mi><mml:mi>t</mml:mi><mml:msup><mml:mo>&#x0007C;</mml:mo><mml:mn>2</mml:mn></mml:msup></mml:mrow></mml:math></disp-formula>
<p>with <inline-formula><mml:math id="M38"><mml:msub><mml:mrow><mml:mo>&#x003A3;</mml:mo></mml:mrow><mml:mrow><mml:mi>x</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>t</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mo>=</mml:mo><mml:munderover accentunder="false" accent="false"><mml:mrow><mml:mo>&#x02211;</mml:mo></mml:mrow><mml:mrow><mml:mi>n</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mi>N</mml:mi></mml:mrow></mml:munderover><mml:msub><mml:mrow><mml:mi>x</mml:mi></mml:mrow><mml:mrow><mml:mi>n</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>t</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math id="M39"><mml:mi>&#x003C9;</mml:mi><mml:mo>=</mml:mo><mml:mn>2</mml:mn><mml:mi>&#x003C0;</mml:mi><mml:mover accent="true"><mml:mrow><mml:mi>f</mml:mi></mml:mrow><mml:mo>&#x0007E;</mml:mo></mml:mover></mml:math></inline-formula>. <inline-formula><mml:math id="M40"><mml:msubsup><mml:mrow><mml:mi>F</mml:mi></mml:mrow><mml:mrow><mml:mstyle class="text"><mml:mtext class="textrm" mathvariant="normal">F</mml:mtext></mml:mstyle></mml:mrow><mml:mrow><mml:mstyle class="text"><mml:mtext class="textrm" mathvariant="normal">sync</mml:mtext></mml:mstyle></mml:mrow></mml:msubsup></mml:math></inline-formula> is the squared Fourier component corresponding to the frequency <inline-formula><mml:math id="M41"><mml:mover accent="true"><mml:mrow><mml:mi>f</mml:mi></mml:mrow><mml:mo>&#x0007E;</mml:mo></mml:mover></mml:math></inline-formula> of the sum of observables over all <italic>N</italic> network nodes. The computation of the adjoint state using <xref ref-type="disp-formula" rid="E5">Equation 5</xref> requires</p>
<disp-formula id="E8"><label>(8)</label><mml:math id="M42"><mml:mtable class="eqnarray" columnalign="left"><mml:mtr><mml:mtd><mml:msub><mml:mrow><mml:mrow><mml:mo stretchy="true">(</mml:mo><mml:mrow><mml:msubsup><mml:mrow><mml:mi>g</mml:mi></mml:mrow><mml:mrow><mml:mtext class="textrm" mathvariant="normal">F</mml:mtext></mml:mrow><mml:mrow><mml:mtext class="textrm" mathvariant="normal">sync</mml:mtext></mml:mrow></mml:msubsup><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mover accent="true"><mml:mrow><mml:mi>x</mml:mi></mml:mrow><mml:mo>&#x02192;</mml:mo></mml:mover></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow><mml:mo stretchy="true">)</mml:mo></mml:mrow></mml:mrow><mml:mrow><mml:mi>k</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mo>-</mml:mo><mml:mfrac><mml:mrow><mml:mn>2</mml:mn></mml:mrow><mml:mrow><mml:msup><mml:mrow><mml:mi>N</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msup><mml:msup><mml:mrow><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>T</mml:mi><mml:mo>-</mml:mo><mml:msub><mml:mrow><mml:mi>t</mml:mi></mml:mrow><mml:mrow><mml:mn>0</mml:mn></mml:mrow></mml:msub></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:mfrac><mml:mstyle displaystyle="true"><mml:msubsup><mml:mrow><mml:mo>&#x0222B;</mml:mo></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi>t</mml:mi></mml:mrow><mml:mrow><mml:mn>0</mml:mn></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mi>T</mml:mi></mml:mrow></mml:msubsup></mml:mstyle><mml:msub><mml:mrow><mml:mo>&#x003A3;</mml:mo></mml:mrow><mml:mrow><mml:mi>x</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>&#x003C4;</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mo>&#x000B7;</mml:mo><mml:mo class="qopname">cos</mml:mo><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>&#x003C9;</mml:mi><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>t</mml:mi><mml:mo>-</mml:mo><mml:mi>&#x003C4;</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mi>d</mml:mi><mml:mi>&#x003C4;</mml:mi><mml:mo>.</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
<p>The derivation of <xref ref-type="disp-formula" rid="E8">Equation 8</xref> is provided in the <xref ref-type="supplementary-material" rid="SM1">Supplementary Section 2.1</xref>.</p>
<p>To enforce frequency synchronization in a network at frequency <inline-formula><mml:math id="M43"><mml:mover accent="true"><mml:mrow><mml:mi>f</mml:mi></mml:mrow><mml:mo>&#x0007E;</mml:mo></mml:mover></mml:math></inline-formula> irrespective of the relative phases of its nodes, we replace <italic>F</italic><sub>P</sub> in <xref ref-type="disp-formula" rid="E2">Equation 2</xref> by the <italic>oscillation Fourier cost</italic></p>
<disp-formula id="E9"><label>(9)</label><mml:math id="M44"><mml:mrow><mml:msubsup><mml:mi>F</mml:mi><mml:mtext>F</mml:mtext><mml:mrow><mml:mtext>osc</mml:mtext></mml:mrow></mml:msubsup><mml:mo>=</mml:mo><mml:mo>&#x02212;</mml:mo><mml:mfrac><mml:mn>1</mml:mn><mml:mrow><mml:mi>N</mml:mi><mml:msup><mml:mrow><mml:mo stretchy='false'>(</mml:mo><mml:mi>T</mml:mi><mml:mo>&#x02212;</mml:mo><mml:msub><mml:mi>t</mml:mi><mml:mn>0</mml:mn></mml:msub><mml:mo stretchy='false'>)</mml:mo></mml:mrow><mml:mn>2</mml:mn></mml:msup></mml:mrow></mml:mfrac><mml:mstyle displaystyle='true'><mml:munderover><mml:mo>&#x02211;</mml:mo><mml:mrow><mml:mi>n</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mi>N</mml:mi></mml:munderover><mml:mo>&#x0007C;</mml:mo></mml:mstyle><mml:mstyle displaystyle='true'><mml:mrow><mml:msubsup><mml:mo>&#x0222B;</mml:mo><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mn>0</mml:mn></mml:msub></mml:mrow><mml:mi>T</mml:mi></mml:msubsup><mml:mrow><mml:msub><mml:mi>x</mml:mi><mml:mi>n</mml:mi></mml:msub></mml:mrow></mml:mrow></mml:mstyle><mml:mo stretchy='false'>(</mml:mo><mml:mi>t</mml:mi><mml:mo stretchy='false'>)</mml:mo><mml:mo>&#x000B7;</mml:mo><mml:msup><mml:mi>e</mml:mi><mml:mrow><mml:mo>&#x02212;</mml:mo><mml:mi>i</mml:mi><mml:mi>&#x003C9;</mml:mi><mml:mi>t</mml:mi></mml:mrow></mml:msup><mml:mo>&#x000A0;</mml:mo><mml:mi>d</mml:mi><mml:mi>t</mml:mi><mml:msup><mml:mo>&#x0007C;</mml:mo><mml:mn>2</mml:mn></mml:msup><mml:mo>.</mml:mo></mml:mrow></mml:math></disp-formula>
<p><inline-formula><mml:math id="M45"><mml:msubsup><mml:mrow><mml:mi>F</mml:mi></mml:mrow><mml:mrow><mml:mstyle class="text"><mml:mtext class="textrm" mathvariant="normal">F</mml:mtext></mml:mstyle></mml:mrow><mml:mrow><mml:mstyle class="text"><mml:mtext class="textrm" mathvariant="normal">osc</mml:mtext></mml:mstyle></mml:mrow></mml:msubsup></mml:math></inline-formula> is the sum over all <italic>N</italic> network nodes of the node-wise squared Fourier component corresponding to the frequency <inline-formula><mml:math id="M46"><mml:mover accent="true"><mml:mrow><mml:mi>f</mml:mi></mml:mrow><mml:mo>&#x0007E;</mml:mo></mml:mover></mml:math></inline-formula>. The computation of the adjoint state using <xref ref-type="disp-formula" rid="E5">Equation 5</xref> requires</p>
<disp-formula id="E10"><label>(10)</label><mml:math id="M47"><mml:mtable class="eqnarray" columnalign="left"><mml:mtr><mml:mtd><mml:msub><mml:mrow><mml:mrow><mml:mo stretchy="true">(</mml:mo><mml:mrow><mml:msubsup><mml:mrow><mml:mi>g</mml:mi></mml:mrow><mml:mrow><mml:mtext class="textrm" mathvariant="normal">F</mml:mtext></mml:mrow><mml:mrow><mml:mtext class="textrm" mathvariant="normal">osc</mml:mtext></mml:mrow></mml:msubsup><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mover accent="true"><mml:mrow><mml:mi>x</mml:mi></mml:mrow><mml:mo>&#x02192;</mml:mo></mml:mover></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow><mml:mo stretchy="true">)</mml:mo></mml:mrow></mml:mrow><mml:mrow><mml:mi>k</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mo>-</mml:mo><mml:mfrac><mml:mrow><mml:mn>2</mml:mn></mml:mrow><mml:mrow><mml:mi>N</mml:mi><mml:msup><mml:mrow><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>T</mml:mi><mml:mo>-</mml:mo><mml:msub><mml:mrow><mml:mi>t</mml:mi></mml:mrow><mml:mrow><mml:mn>0</mml:mn></mml:mrow></mml:msub></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:mfrac><mml:mstyle displaystyle="true"><mml:msubsup><mml:mrow><mml:mo>&#x0222B;</mml:mo></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi>t</mml:mi></mml:mrow><mml:mrow><mml:mn>0</mml:mn></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mi>T</mml:mi></mml:mrow></mml:msubsup></mml:mstyle><mml:msub><mml:mrow><mml:mi>x</mml:mi></mml:mrow><mml:mrow><mml:mi>k</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>&#x003C4;</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mo>&#x000B7;</mml:mo><mml:mo class="qopname">cos</mml:mo><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>&#x003C9;</mml:mi><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>t</mml:mi><mml:mo>-</mml:mo><mml:mi>&#x003C4;</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mi>d</mml:mi><mml:mi>&#x003C4;</mml:mi><mml:mo>.</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
<p>The derivation of <xref ref-type="disp-formula" rid="E10">Equation 10</xref> is provided in the <xref ref-type="supplementary-material" rid="SM1">Supplementary Section 2.2</xref>. For <italic>N</italic> &#x0003D; 1, synchronization and oscillation Fourier costs are identical and enforce oscillations at frequency <inline-formula><mml:math id="M48"><mml:mover accent="true"><mml:mrow><mml:mi>f</mml:mi></mml:mrow><mml:mo>&#x0007E;</mml:mo></mml:mover></mml:math></inline-formula>. We will denote the cost by <italic>F</italic><sub>F</sub> in this case. The oscillation Fourier cost <inline-formula><mml:math id="M49"><mml:msubsup><mml:mrow><mml:mi>F</mml:mi></mml:mrow><mml:mrow><mml:mstyle class="text"><mml:mtext class="textrm" mathvariant="normal">F</mml:mtext></mml:mstyle></mml:mrow><mml:mrow><mml:mstyle class="text"><mml:mtext class="textrm" mathvariant="normal">osc</mml:mtext></mml:mstyle></mml:mrow></mml:msubsup></mml:math></inline-formula> improves, if the power corresponding to the target frequency <inline-formula><mml:math id="M50"><mml:mover accent="true"><mml:mrow><mml:mi>f</mml:mi></mml:mrow><mml:mo>&#x0007E;</mml:mo></mml:mover></mml:math></inline-formula> increases in any network node, irrespective of the relative phases. The synchronization Fourier cost <inline-formula><mml:math id="M51"><mml:msubsup><mml:mrow><mml:mi>F</mml:mi></mml:mrow><mml:mrow><mml:mstyle class="text"><mml:mtext class="textrm" mathvariant="normal">F</mml:mtext></mml:mstyle></mml:mrow><mml:mrow><mml:mstyle class="text"><mml:mtext class="textrm" mathvariant="normal">sync</mml:mtext></mml:mstyle></mml:mrow></mml:msubsup></mml:math></inline-formula> improves, either if oscillatory network activity at frequency <inline-formula><mml:math id="M52"><mml:mover accent="true"><mml:mrow><mml:mi>f</mml:mi></mml:mrow><mml:mo>&#x0007E;</mml:mo></mml:mover></mml:math></inline-formula> synchronizes, or if the power in the network nodes corresponding to <inline-formula><mml:math id="M53"><mml:mover accent="true"><mml:mrow><mml:mi>f</mml:mi></mml:mrow><mml:mo>&#x0007E;</mml:mo></mml:mover></mml:math></inline-formula> increases<xref ref-type="fn" rid="fn0001"><sup>1</sup></xref>.</p>
<p>To enforce phase synchronization in a network irrespective of the oscillation frequency, we replace <italic>F</italic><sub>P</sub> in <xref ref-type="disp-formula" rid="E2">Equation 2</xref> by either the cross-correlation cost or the variance cost. The cross-correlation cost (Chouzouris et al., <xref ref-type="bibr" rid="B8">2021</xref>) is defined as</p>
<disp-formula id="E11"><label>(11)</label><mml:math id="M54"><mml:mtable class="eqnarray" columnalign="left"><mml:mtr><mml:mtd><mml:msub><mml:mrow><mml:mi>F</mml:mi></mml:mrow><mml:mrow><mml:mtext class="textrm" mathvariant="normal">cc</mml:mtext></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mo>-</mml:mo><mml:mfrac><mml:mrow><mml:mn>2</mml:mn></mml:mrow><mml:mrow><mml:mi>N</mml:mi><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>N</mml:mi><mml:mo>-</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>T</mml:mi><mml:mo>-</mml:mo><mml:msub><mml:mrow><mml:mi>t</mml:mi></mml:mrow><mml:mrow><mml:mn>0</mml:mn></mml:mrow></mml:msub></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow></mml:mfrac><mml:mstyle displaystyle="true"><mml:msubsup><mml:mrow><mml:mo>&#x0222B;</mml:mo></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi>t</mml:mi></mml:mrow><mml:mrow><mml:mn>0</mml:mn></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mi>T</mml:mi></mml:mrow></mml:msubsup></mml:mstyle><mml:mstyle displaystyle="true"><mml:munderover accentunder="false" accent="false"><mml:mrow><mml:mo>&#x02211;</mml:mo></mml:mrow><mml:mrow><mml:mtable style="text-align:axis;" equalrows="false" columnlines="none none none none none none none none none" equalcolumns="false" class="array"><mml:mtr><mml:mtd><mml:mi>n</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mi>l</mml:mi><mml:mo>=</mml:mo><mml:mi>n</mml:mi><mml:mo>&#x0002B;</mml:mo><mml:mn>1</mml:mn></mml:mtd></mml:mtr></mml:mtable></mml:mrow><mml:mrow><mml:mi>N</mml:mi></mml:mrow></mml:munderover></mml:mstyle><mml:mfrac><mml:mrow><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi>x</mml:mi></mml:mrow><mml:mrow><mml:mi>n</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>t</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mo>-</mml:mo><mml:msub><mml:mrow><mml:mover accent="false" class="mml-overline"><mml:mrow><mml:mi>x</mml:mi></mml:mrow><mml:mo accent="true">&#x000AF;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mi>n</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi>x</mml:mi></mml:mrow><mml:mrow><mml:mi>l</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>t</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mo>-</mml:mo><mml:msub><mml:mrow><mml:mover accent="false" class="mml-overline"><mml:mrow><mml:mi>x</mml:mi></mml:mrow><mml:mo accent="true">&#x000AF;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mi>l</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow><mml:mrow><mml:mi>&#x003C3;</mml:mi><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi>x</mml:mi></mml:mrow><mml:mrow><mml:mi>n</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mi>&#x003C3;</mml:mi><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi>x</mml:mi></mml:mrow><mml:mrow><mml:mi>l</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow></mml:mfrac><mml:mi>d</mml:mi><mml:mi>t</mml:mi><mml:mo>,</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
<p>where <inline-formula><mml:math id="M55"><mml:mover accent="false" class="mml-overline"><mml:mrow><mml:mi>x</mml:mi></mml:mrow><mml:mo accent="true">&#x000AF;</mml:mo></mml:mover><mml:mo>=</mml:mo><mml:mfrac><mml:mrow><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mi>T</mml:mi><mml:mo>-</mml:mo><mml:msub><mml:mrow><mml:mi>t</mml:mi></mml:mrow><mml:mrow><mml:mn>0</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:mfrac><mml:msubsup><mml:mrow><mml:mo>&#x0222B;</mml:mo></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi>t</mml:mi></mml:mrow><mml:mrow><mml:mn>0</mml:mn></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mi>T</mml:mi></mml:mrow></mml:msubsup><mml:mi>x</mml:mi><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>t</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mi>d</mml:mi><mml:mi>t</mml:mi></mml:math></inline-formula> is the temporal mean of <italic>x</italic>(<italic>t</italic>), and <inline-formula><mml:math id="M56"><mml:msup><mml:mrow><mml:mi>&#x003C3;</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msup><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>x</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mo>=</mml:mo><mml:mfrac><mml:mrow><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mi>T</mml:mi><mml:mo>-</mml:mo><mml:msub><mml:mrow><mml:mi>t</mml:mi></mml:mrow><mml:mrow><mml:mn>0</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:mfrac><mml:msubsup><mml:mrow><mml:mo>&#x0222B;</mml:mo></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi>t</mml:mi></mml:mrow><mml:mrow><mml:mn>0</mml:mn></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mi>T</mml:mi></mml:mrow></mml:msubsup><mml:msup><mml:mrow><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>x</mml:mi><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>t</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mo>-</mml:mo><mml:mover accent="false" class="mml-overline"><mml:mrow><mml:mi>x</mml:mi></mml:mrow><mml:mo accent="true">&#x000AF;</mml:mo></mml:mover></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msup><mml:mi>d</mml:mi><mml:mi>t</mml:mi></mml:math></inline-formula> is its variance. The computation of the adjoint state using <xref ref-type="disp-formula" rid="E5">Equation 5</xref> requires</p>
<disp-formula id="E12"><label>(12)</label><mml:math id="M57"><mml:mrow><mml:mtable columnalign='right'><mml:mtr columnalign='right'><mml:mtd columnalign='right'><mml:mrow><mml:msub><mml:mrow><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:msub><mml:mi>g</mml:mi><mml:mrow><mml:mtext>cc</mml:mtext></mml:mrow></mml:msub><mml:mo stretchy='false'>(</mml:mo><mml:mover accent='true'><mml:mi>x</mml:mi><mml:mo>&#x02192;</mml:mo></mml:mover><mml:mo stretchy='false'>)</mml:mo></mml:mrow><mml:mo>)</mml:mo></mml:mrow></mml:mrow><mml:mi>k</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mfrac><mml:mn>2</mml:mn><mml:mrow><mml:mi>N</mml:mi><mml:mo stretchy='false'>(</mml:mo><mml:mi>N</mml:mi><mml:mo>&#x02212;</mml:mo><mml:mn>1</mml:mn><mml:mo stretchy='false'>)</mml:mo><mml:mo stretchy='false'>(</mml:mo><mml:mi>T</mml:mi><mml:mo>&#x02212;</mml:mo><mml:msub><mml:mi>t</mml:mi><mml:mn>0</mml:mn></mml:msub><mml:mo stretchy='false'>)</mml:mo></mml:mrow></mml:mfrac><mml:mstyle displaystyle='true'><mml:munderover><mml:mo>&#x02211;</mml:mo><mml:mtable><mml:mtr><mml:mtd><mml:mrow><mml:mi>l</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mrow><mml:mi>l</mml:mi><mml:mo>&#x02260;</mml:mo><mml:mi>k</mml:mi></mml:mrow></mml:mtd></mml:mtr></mml:mtable><mml:mi>N</mml:mi></mml:munderover><mml:mrow><mml:mfrac><mml:mrow><mml:mo stretchy='false'>(</mml:mo><mml:msub><mml:mi>x</mml:mi><mml:mi>l</mml:mi></mml:msub><mml:mo stretchy='false'>(</mml:mo><mml:mi>t</mml:mi><mml:mo stretchy='false'>)</mml:mo><mml:mo>&#x02212;</mml:mo><mml:msub><mml:mover accent='true'><mml:mi>x</mml:mi><mml:mo>&#x000AF;</mml:mo></mml:mover><mml:mi>l</mml:mi></mml:msub><mml:mo stretchy='false'>)</mml:mo></mml:mrow><mml:mrow><mml:mi>&#x003C3;</mml:mi><mml:mo stretchy='false'>(</mml:mo><mml:msub><mml:mi>x</mml:mi><mml:mi>k</mml:mi></mml:msub><mml:mo stretchy='false'>)</mml:mo><mml:mi>&#x003C3;</mml:mi><mml:mo stretchy='false'>(</mml:mo><mml:msub><mml:mi>x</mml:mi><mml:mi>l</mml:mi></mml:msub><mml:mo stretchy='false'>)</mml:mo></mml:mrow></mml:mfrac></mml:mrow></mml:mstyle></mml:mrow></mml:mtd></mml:mtr><mml:mtr columnalign='right'><mml:mtd columnalign='right'><mml:mrow><mml:mo>&#x02212;</mml:mo><mml:mfrac><mml:mrow><mml:mo stretchy='false'>(</mml:mo><mml:msub><mml:mi>x</mml:mi><mml:mi>k</mml:mi></mml:msub><mml:mo stretchy='false'>(</mml:mo><mml:mi>t</mml:mi><mml:mo stretchy='false'>)</mml:mo><mml:mo>&#x02212;</mml:mo><mml:msub><mml:mover accent='true'><mml:mi>x</mml:mi><mml:mo>&#x000AF;</mml:mo></mml:mover><mml:mi>k</mml:mi></mml:msub><mml:mo stretchy='false'>)</mml:mo><mml:msub><mml:mi>&#x02110;</mml:mi><mml:mrow><mml:mi>k</mml:mi><mml:mi>l</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mo stretchy='false'>(</mml:mo><mml:mi>T</mml:mi><mml:mo>&#x02212;</mml:mo><mml:msub><mml:mi>t</mml:mi><mml:mn>0</mml:mn></mml:msub><mml:mo stretchy='false'>)</mml:mo><mml:mi>&#x003C3;</mml:mi><mml:msup><mml:mrow><mml:mo stretchy='false'>(</mml:mo><mml:msub><mml:mi>x</mml:mi><mml:mi>k</mml:mi></mml:msub><mml:mo stretchy='false'>)</mml:mo></mml:mrow><mml:mn>3</mml:mn></mml:msup><mml:mi>&#x003C3;</mml:mi><mml:mo stretchy='false'>(</mml:mo><mml:msub><mml:mi>x</mml:mi><mml:mi>l</mml:mi></mml:msub><mml:mo stretchy='false'>)</mml:mo></mml:mrow></mml:mfrac><mml:mo>,</mml:mo></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mrow></mml:math></disp-formula>
<p>with <inline-formula><mml:math id="M59"><mml:msub><mml:mrow><mml:mstyle mathvariant="script"><mml:mi>I</mml:mi></mml:mstyle></mml:mrow><mml:mrow><mml:mi>k</mml:mi><mml:mi>l</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:msubsup><mml:mrow><mml:mo>&#x0222B;</mml:mo></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi>t</mml:mi></mml:mrow><mml:mrow><mml:mn>0</mml:mn></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mi>T</mml:mi></mml:mrow></mml:msubsup><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi>x</mml:mi></mml:mrow><mml:mrow><mml:mi>k</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>t</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mo>-</mml:mo><mml:msub><mml:mrow><mml:mover accent="false" class="mml-overline"><mml:mrow><mml:mi>x</mml:mi></mml:mrow><mml:mo accent="true">&#x000AF;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mi>k</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi>x</mml:mi></mml:mrow><mml:mrow><mml:mi>l</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>t</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mo>-</mml:mo><mml:msub><mml:mrow><mml:mover accent="false" class="mml-overline"><mml:mrow><mml:mi>x</mml:mi></mml:mrow><mml:mo accent="true">&#x000AF;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mi>l</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mi>d</mml:mi><mml:mi>t</mml:mi></mml:math></inline-formula>. The derivation of <xref ref-type="disp-formula" rid="E12">Equation 12</xref> is provided in the <xref ref-type="supplementary-material" rid="SM1">Supplementary Section 2.3</xref>.</p>
<p>The variance cost is defined as</p>
<disp-formula id="E13"><label>(13)</label><mml:math id="M60"><mml:mtable class="eqnarray" columnalign="left"><mml:mtr><mml:mtd><mml:msub><mml:mrow><mml:mi>F</mml:mi></mml:mrow><mml:mrow><mml:mtext class="textrm" mathvariant="normal">var</mml:mtext></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mfrac><mml:mrow><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mi>N</mml:mi><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>T</mml:mi><mml:mo>-</mml:mo><mml:msub><mml:mrow><mml:mi>t</mml:mi></mml:mrow><mml:mrow><mml:mn>0</mml:mn></mml:mrow></mml:msub></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow></mml:mfrac><mml:mstyle displaystyle="true"><mml:msubsup><mml:mrow><mml:mo>&#x0222B;</mml:mo></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi>t</mml:mi></mml:mrow><mml:mrow><mml:mn>0</mml:mn></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mi>T</mml:mi></mml:mrow></mml:msubsup></mml:mstyle><mml:mstyle displaystyle="true"><mml:munderover accentunder="false" accent="false"><mml:mrow><mml:mo>&#x02211;</mml:mo></mml:mrow><mml:mrow><mml:mi>n</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mi>N</mml:mi></mml:mrow></mml:munderover></mml:mstyle><mml:msup><mml:mrow><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi>x</mml:mi></mml:mrow><mml:mrow><mml:mi>n</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>t</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mo>-</mml:mo><mml:mover accent="false" class="mml-overline"><mml:mrow><mml:mi>x</mml:mi></mml:mrow><mml:mo accent="true">&#x000AF;</mml:mo></mml:mover><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>t</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msup><mml:mi>d</mml:mi><mml:mi>t</mml:mi><mml:mo>,</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
<p>where <inline-formula><mml:math id="M61"><mml:mover accent="false" class="mml-overline"><mml:mrow><mml:mi>x</mml:mi></mml:mrow><mml:mo accent="true">&#x000AF;</mml:mo></mml:mover><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>t</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mo>=</mml:mo><mml:mfrac><mml:mrow><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mi>N</mml:mi></mml:mrow></mml:mfrac><mml:munderover accentunder="false" accent="false"><mml:mrow><mml:mo>&#x02211;</mml:mo></mml:mrow><mml:mrow><mml:mi>n</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mi>N</mml:mi></mml:mrow></mml:munderover><mml:msub><mml:mrow><mml:mi>x</mml:mi></mml:mrow><mml:mrow><mml:mi>n</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>t</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:math></inline-formula> is the network mean of <italic>x</italic>(<italic>t</italic>). The computation of the adjoint state using <xref ref-type="disp-formula" rid="E5">Equation 5</xref> requires</p>
<disp-formula id="E14"><label>(14)</label><mml:math id="M62"><mml:mtable class="eqnarray" columnalign="left"><mml:mtr><mml:mtd><mml:msub><mml:mrow><mml:mrow><mml:mo stretchy="true">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi>g</mml:mi></mml:mrow><mml:mrow><mml:mtext class="textrm" mathvariant="normal">var</mml:mtext></mml:mrow></mml:msub><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mover accent="true"><mml:mrow><mml:mi>x</mml:mi></mml:mrow><mml:mo>&#x02192;</mml:mo></mml:mover></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow><mml:mo stretchy="true">)</mml:mo></mml:mrow></mml:mrow><mml:mrow><mml:mi>k</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mfrac><mml:mrow><mml:mn>2</mml:mn><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi>x</mml:mi></mml:mrow><mml:mrow><mml:mi>k</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>t</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mo>-</mml:mo><mml:mover accent="false" class="mml-overline"><mml:mrow><mml:mi>x</mml:mi></mml:mrow><mml:mo accent="true">&#x000AF;</mml:mo></mml:mover><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>t</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow><mml:mrow><mml:mi>N</mml:mi><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>T</mml:mi><mml:mo>-</mml:mo><mml:msub><mml:mrow><mml:mi>t</mml:mi></mml:mrow><mml:mrow><mml:mn>0</mml:mn></mml:mrow></mml:msub></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow></mml:mfrac><mml:mo>.</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
<p>The derivation of <xref ref-type="disp-formula" rid="E14">Equation 14</xref> is provided in the <xref ref-type="supplementary-material" rid="SM1">Supplementary Section 2.4</xref>.</p>
<p>Both <italic>F</italic><sub>cc</sub> and <italic>F</italic><sub>var</sub> are defined for networks with <italic>N</italic>&#x02265;2 and cannot be applied to a single-node system.</p>
<sec>
<title>2.2.1 Control weights</title>
<p>When replacing <italic>F</italic><sub>P</sub> in <xref ref-type="disp-formula" rid="E2">Equation 2</xref> by one of the abovementioned cost functionals, we also introduce the respective weights, <inline-formula><mml:math id="M63"><mml:msubsup><mml:mrow><mml:mi>w</mml:mi></mml:mrow><mml:mrow><mml:mstyle class="text"><mml:mtext class="textrm" mathvariant="normal">F</mml:mtext></mml:mstyle></mml:mrow><mml:mrow><mml:mstyle class="text"><mml:mtext class="textrm" mathvariant="normal">sync</mml:mtext></mml:mstyle></mml:mrow></mml:msubsup></mml:math></inline-formula>, <inline-formula><mml:math id="M64"><mml:msubsup><mml:mrow><mml:mi>w</mml:mi></mml:mrow><mml:mrow><mml:mstyle class="text"><mml:mtext class="textrm" mathvariant="normal">F</mml:mtext></mml:mstyle></mml:mrow><mml:mrow><mml:mstyle class="text"><mml:mtext class="textrm" mathvariant="normal">osc</mml:mtext></mml:mstyle></mml:mrow></mml:msubsup></mml:math></inline-formula>, <italic>w</italic><sub>cc</sub>, or <italic>w</italic><sub>var</sub> replacing <italic>w</italic><sub>P</sub> in <xref ref-type="disp-formula" rid="E2">Equation 2</xref>. By using a negative weight, we can suppress a specific oscillation mode (oscillation Fourier cost) and enforce desynchronization instead of synchronization (synchronization Fourier cost), enforce a small cross-correlation, or enforce a large variance (e.g., in the case of a desynchronization task).</p>
</sec>
</sec>
<sec>
<title>2.3 Models of neural population dynamics</title>
<p>We apply our methods to two models of neural population dynamics, the WC model (see Section 2.3.1) and the mean-field EIF model (see Section 2.3.2). The former is a simple, two-dimensional system of ordinary differential equations (ODEs), while the latter is a high-dimensional system of delay differential-algebraic equations (DDAEs).</p>
<sec>
<title>2.3.1 The Wilson-Cowan model</title>
<p>The WC model describes the activity of coupled excitatory and inhibitory neural populations (Wilson and Cowan, <xref ref-type="bibr" rid="B35">1972</xref>, <xref ref-type="bibr" rid="B36">1973</xref>). The dynamics are defined by</p>
<disp-formula id="E15"><label>(15)</label><mml:math id="M65"><mml:mrow><mml:mtable columnalign='left'><mml:mtr columnalign='left'><mml:mtd columnalign='left'><mml:mrow><mml:msub><mml:mi>&#x003C4;</mml:mi><mml:mi>E</mml:mi></mml:msub><mml:msub><mml:mover accent='true'><mml:mi>E</mml:mi><mml:mo>&#x002D9;</mml:mo></mml:mover><mml:mi>n</mml:mi></mml:msub><mml:mo stretchy='false'>(</mml:mo><mml:mi>t</mml:mi><mml:mo stretchy='false'>)</mml:mo><mml:mo>=</mml:mo><mml:mo>&#x02212;</mml:mo><mml:msub><mml:mi>E</mml:mi><mml:mi>n</mml:mi></mml:msub><mml:mo stretchy='false'>(</mml:mo><mml:mi>t</mml:mi><mml:mo stretchy='false'>)</mml:mo><mml:mo>+</mml:mo><mml:mo stretchy='false'>(</mml:mo><mml:mn>1</mml:mn><mml:mo>&#x02212;</mml:mo><mml:msub><mml:mi>E</mml:mi><mml:mi>n</mml:mi></mml:msub><mml:mo stretchy='false'>(</mml:mo><mml:mi>t</mml:mi><mml:mo stretchy='false'>)</mml:mo><mml:mo stretchy='false'>)</mml:mo><mml:mo>&#x000B7;</mml:mo><mml:mi>S</mml:mi><mml:mo stretchy='false'>(</mml:mo><mml:msub><mml:mi>c</mml:mi><mml:mrow><mml:mi>E</mml:mi><mml:mi>E</mml:mi></mml:mrow></mml:msub><mml:msub><mml:mi>E</mml:mi><mml:mi>n</mml:mi></mml:msub><mml:mo stretchy='false'>(</mml:mo><mml:mi>t</mml:mi><mml:mo stretchy='false'>)</mml:mo></mml:mrow></mml:mtd></mml:mtr><mml:mtr columnalign='left'><mml:mtd columnalign='left'><mml:mrow><mml:mo>&#x02212;</mml:mo><mml:msub><mml:mi>c</mml:mi><mml:mrow><mml:mi>E</mml:mi><mml:mi>I</mml:mi></mml:mrow></mml:msub><mml:msub><mml:mi>I</mml:mi><mml:mi>n</mml:mi></mml:msub><mml:mo stretchy='false'>(</mml:mo><mml:mi>t</mml:mi><mml:mo stretchy='false'>)</mml:mo><mml:mo>+</mml:mo><mml:msup><mml:mi>E</mml:mi><mml:mrow><mml:mtext>ext</mml:mtext></mml:mrow></mml:msup><mml:mo>+</mml:mo><mml:msub><mml:mi>u</mml:mi><mml:mi>n</mml:mi></mml:msub><mml:mo stretchy='false'>(</mml:mo><mml:mi>t</mml:mi><mml:mo stretchy='false'>)</mml:mo><mml:mo>+</mml:mo><mml:msub><mml:mi>c</mml:mi><mml:mrow><mml:mtext>gl</mml:mtext></mml:mrow></mml:msub><mml:mstyle displaystyle='true'><mml:munderover><mml:mo>&#x02211;</mml:mo><mml:mrow><mml:mi>m</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mi>N</mml:mi></mml:munderover><mml:mrow><mml:msub><mml:mi>C</mml:mi><mml:mrow><mml:mi>n</mml:mi><mml:mi>m</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mstyle><mml:msub><mml:mi>E</mml:mi><mml:mi>m</mml:mi></mml:msub><mml:mo stretchy='false'>(</mml:mo><mml:mi>t</mml:mi><mml:mo>&#x02212;</mml:mo><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>n</mml:mi><mml:mi>m</mml:mi></mml:mrow></mml:msub><mml:mo stretchy='false'>)</mml:mo><mml:mo stretchy='false'>)</mml:mo></mml:mrow></mml:mtd></mml:mtr><mml:mtr columnalign='left'><mml:mtd columnalign='left'><mml:mrow><mml:msub><mml:mi>&#x003C4;</mml:mi><mml:mi>I</mml:mi></mml:msub><mml:msub><mml:mover accent='true'><mml:mi>I</mml:mi><mml:mo>&#x002D9;</mml:mo></mml:mover><mml:mi>n</mml:mi></mml:msub><mml:mo stretchy='false'>(</mml:mo><mml:mi>t</mml:mi><mml:mo stretchy='false'>)</mml:mo><mml:mo>=</mml:mo><mml:mo>&#x02212;</mml:mo><mml:msub><mml:mi>I</mml:mi><mml:mi>n</mml:mi></mml:msub><mml:mo stretchy='false'>(</mml:mo><mml:mi>t</mml:mi><mml:mo stretchy='false'>)</mml:mo><mml:mo>+</mml:mo><mml:mo stretchy='false'>(</mml:mo><mml:mn>1</mml:mn><mml:mo>&#x02212;</mml:mo><mml:msub><mml:mi>I</mml:mi><mml:mi>n</mml:mi></mml:msub><mml:mo stretchy='false'>(</mml:mo><mml:mi>t</mml:mi><mml:mo stretchy='false'>)</mml:mo><mml:mo stretchy='false'>)</mml:mo><mml:mo>&#x000B7;</mml:mo><mml:mi>S</mml:mi><mml:mo stretchy='false'>(</mml:mo><mml:msub><mml:mi>c</mml:mi><mml:mrow><mml:mi>I</mml:mi><mml:mi>E</mml:mi></mml:mrow></mml:msub><mml:msub><mml:mi>E</mml:mi><mml:mi>n</mml:mi></mml:msub><mml:mo stretchy='false'>(</mml:mo><mml:mi>t</mml:mi><mml:mo stretchy='false'>)</mml:mo><mml:mo>&#x02212;</mml:mo><mml:msub><mml:mi>c</mml:mi><mml:mrow><mml:mi>I</mml:mi><mml:mi>I</mml:mi></mml:mrow></mml:msub><mml:msub><mml:mi>I</mml:mi><mml:mi>n</mml:mi></mml:msub><mml:mo stretchy='false'>(</mml:mo><mml:mi>t</mml:mi><mml:mo stretchy='false'>)</mml:mo><mml:mo>+</mml:mo><mml:msup><mml:mi>I</mml:mi><mml:mrow><mml:mtext>ext</mml:mtext></mml:mrow></mml:msup><mml:mo stretchy='false'>)</mml:mo><mml:mo>.</mml:mo></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mrow></mml:math></disp-formula>
<p>The activity variables <italic>E</italic><sub><italic>n</italic></sub>(<italic>t</italic>) and <italic>I</italic><sub><italic>n</italic></sub>(<italic>t</italic>) denote the fraction of excitatory and inhibitory neurons that are active at time <italic>t</italic> in node <italic>n</italic> in a network of <italic>N</italic> nodes. &#x003C4;<sub><italic>E</italic></sub> and &#x003C4;<sub><italic>I</italic></sub> are the decay time constants of the excitatory and inhibitory activity, respectively. <italic>c</italic><sub>&#x003B2;&#x003B1;</sub> denotes the coupling from population &#x003B1; to population &#x003B2; with &#x003B1;, &#x003B2;&#x02208;{<italic>E, I</italic>}. <italic>E</italic><sup>ext</sup> and <italic>I</italic><sup>ext</sup> are static external inputs that serve as order parameters for the network. <italic>u</italic><sub><italic>n</italic></sub>(<italic>t</italic>) is the time-dependent control, <italic>c</italic><sub>gl</sub> denotes the global coupling strength, and <italic>C</italic> and <italic>D</italic> are the <italic>N</italic>&#x000D7;<italic>N</italic> coupling and delay matrices. The transfer function <italic>S</italic>(<italic>x</italic>) &#x0003D; (1&#x0002B;exp&#x02212;&#x003B3;(<italic>x</italic>&#x02212;&#x003BC;))<sup>&#x02212;1</sup> computes a synaptic input to <italic>E</italic><sub><italic>n</italic></sub> or <italic>I</italic><sub><italic>n</italic></sub> from the sum of all inputs. Numerical values for the parameters are given in <xref ref-type="table" rid="T1">Table 1</xref>. <xref ref-type="fig" rid="F1">Figure 1</xref> sketches the dynamical interactions between the excitatory and inhibitory populations of a single WC node in a network. Excitatory and inhibitory population are recurrently coupled. Only the excitatory population receives network and control inputs.</p>
<table-wrap position="float" id="T1">
<label>Table 1</label>
<caption><p>Parameters of the WC model.</p></caption>
<table frame="box" rules="all">
<thead>
<tr style="background-color:#919498;color:#ffffff">
<th valign="top" align="left"><bold>Parameter</bold></th>
<th valign="top" align="left"><bold>Explanation</bold></th>
<th valign="top" align="center"><bold>Value</bold></th>
</tr>
</thead>
<tbody>
<tr>
<td valign="top" align="left">&#x003C4;<sub><italic>E</italic></sub></td>
<td valign="top" align="left">decay constant of <italic>E</italic></td>
<td valign="top" align="center">2.5</td>
</tr>
<tr>
<td valign="top" align="left">&#x003C4;<sub><italic>I</italic></sub></td>
<td valign="top" align="left">decay constant of <italic>I</italic></td>
<td valign="top" align="center">3.75</td>
</tr>
<tr>
<td valign="top" align="left">&#x003B3;</td>
<td valign="top" align="left">gain</td>
<td valign="top" align="center">1.5</td>
</tr>
<tr>
<td valign="top" align="left">&#x003BC;</td>
<td valign="top" align="left">firing threshold</td>
<td valign="top" align="center">3.0</td>
</tr>
<tr>
<td valign="top" align="left"><italic>c</italic><sub><italic>EE</italic></sub></td>
<td valign="top" align="left">E to E coupling</td>
<td valign="top" align="center">16</td>
</tr>
<tr>
<td valign="top" align="left"><italic>c</italic><sub><italic>EI</italic></sub></td>
<td valign="top" align="left">I to E coupling</td>
<td valign="top" align="center">12</td>
</tr>
<tr>
<td valign="top" align="left"><italic>c</italic><sub><italic>IE</italic></sub></td>
<td valign="top" align="left">E to I coupling</td>
<td valign="top" align="center">15</td>
</tr>
<tr>
<td valign="top" align="left"><italic>c</italic><sub><italic>II</italic></sub></td>
<td valign="top" align="left">I to I coupling</td>
<td valign="top" align="center">3</td>
</tr></tbody>
</table>
</table-wrap>
<fig id="F1" position="float">
<label>Figure 1</label>
<caption><p>Cartoon of a single node of the WC network model. Static external inputs are indicated by <italic>E</italic><sup>ext</sup> and <italic>I</italic><sup>ext</sup>, network inputs by <italic>E</italic><sup>nw</sup>, and control inputs by <italic>u</italic>(<italic>t</italic>).</p></caption>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="fncom-18-1483100-g0001.tif"/>
</fig>
<p><xref ref-type="fig" rid="F2">Figure 2A</xref> shows a slice of the state space of the one-node WC model with parameters as given in <xref ref-type="table" rid="T1">Table 1</xref>. Depending on the external inputs <italic>E</italic><sup>ext</sup> and <italic>I</italic><sup>ext</sup>, the system exhibits a state of constant low activity (&#x0201C;down state&#x0201D;), a state of constant high activity (&#x0201C;up state&#x0201D;), an oscillatory state, or a bistable state, where stable states of constant low and high activity coexist. Points (A)&#x02013;(E) mark locations in state space, for which control tasks are studied (see Section 3).</p>
<fig id="F2" position="float">
<label>Figure 2</label>
<caption><p><bold>(A)</bold> Slice of state space of one node of the WC model. The horizontal (vertical) axis corresponds to the external input <italic>E</italic><sup>ext</sup> (<italic>I</italic><sup>ext</sup>). The four dynamical regimes are separated by black lines. Red markers indicate the points in state space at which control tasks are studied. Their coordinates are (1, 1) for point (A); (3, 1) for point (B); (1.8, 0.8) for point (C); (1.6, 0.4) for point (D); (1, 0.4) for point (E). <bold>(B)</bold> Slice of state space of one node of the mean-field EIF model. The horizontal (vertical) axis corresponds to the external input <inline-formula><mml:math id="M66"><mml:msubsup><mml:mrow><mml:mi>&#x003BC;</mml:mi></mml:mrow><mml:mrow><mml:mi>E</mml:mi></mml:mrow><mml:mrow><mml:mstyle class="text"><mml:mtext class="textrm" mathvariant="normal">ext</mml:mtext></mml:mstyle></mml:mrow></mml:msubsup></mml:math></inline-formula> (<inline-formula><mml:math id="M67"><mml:msubsup><mml:mrow><mml:mi>&#x003BC;</mml:mi></mml:mrow><mml:mrow><mml:mi>I</mml:mi></mml:mrow><mml:mrow><mml:mstyle class="text"><mml:mtext class="textrm" mathvariant="normal">ext</mml:mtext></mml:mstyle></mml:mrow></mml:msubsup></mml:math></inline-formula>). The five dynamical regimes are separated by black and blue lines. In the inset, we zoom into the regime bounded by the blue line, where stable oscillations coexist with a stable up state. Red markers indicate the points in state space at which control tasks are studied. Their coordinates are (0.2 nA, 0.2 nA) for point (A); (0.4 nA, 0.04 nA) for point (B); (0.38 nA, 0.3 nA) for point (C).</p></caption>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="fncom-18-1483100-g0002.tif"/>
</fig>
</sec>
<sec>
<title>2.3.2 The mean-field EIF model</title>
<p>The mean-field EIF model (Augustin et al., <xref ref-type="bibr" rid="B2">2017</xref>; Cakan and Obermayer, <xref ref-type="bibr" rid="B6">2020</xref>) captures the dynamics of a network of randomly and sparsely connected exponential excitatory and inhibitory integrate-and-fire neurons (Brette and Gerstner, <xref ref-type="bibr" rid="B4">2005</xref>) in the limit of infinitely many neurons. In this limit, a dimensionality reduction can be performed, and the mean firing rates <italic>r</italic><sub><italic>E</italic></sub> and <italic>r</italic><sub><italic>I</italic></sub> of the excitatory and inhibitory populations can be obtained as the activity state variables. <italic>r</italic><sub><italic>E</italic></sub> and <italic>r</italic><sub><italic>I</italic></sub> are functions of the mean membrane currents and their variances. The model dynamics are described by a 16-dimensional system of delay differential-algebraic equations (DDAEs), which is provided in the <xref ref-type="supplementary-material" rid="SM1">Supplementary Section 3</xref>. Schematically, the dynamical interactions of the mean-field EIF model can be represented similarly as shown in <xref ref-type="fig" rid="F1">Figure 1</xref>. Note that external inputs are denoted differently as <inline-formula><mml:math id="M68"><mml:msubsup><mml:mrow><mml:mi>&#x003BC;</mml:mi></mml:mrow><mml:mrow><mml:mi>E</mml:mi></mml:mrow><mml:mrow><mml:mstyle class="text"><mml:mtext class="textrm" mathvariant="normal">ext</mml:mtext></mml:mstyle></mml:mrow></mml:msubsup></mml:math></inline-formula> and <inline-formula><mml:math id="M69"><mml:msubsup><mml:mrow><mml:mi>&#x003BC;</mml:mi></mml:mrow><mml:mrow><mml:mi>I</mml:mi></mml:mrow><mml:mrow><mml:mstyle class="text"><mml:mtext class="textrm" mathvariant="normal">ext</mml:mtext></mml:mstyle></mml:mrow></mml:msubsup></mml:math></inline-formula>.</p>
<p><xref ref-type="fig" rid="F2">Figure 2B</xref> shows a slice of state space of the one-node mean-field EIF model. Depending on the external inputs <inline-formula><mml:math id="M70"><mml:msubsup><mml:mrow><mml:mi>&#x003BC;</mml:mi></mml:mrow><mml:mrow><mml:mi>E</mml:mi></mml:mrow><mml:mrow><mml:mstyle class="text"><mml:mtext class="textrm" mathvariant="normal">ext</mml:mtext></mml:mstyle></mml:mrow></mml:msubsup></mml:math></inline-formula> and <inline-formula><mml:math id="M71"><mml:msubsup><mml:mrow><mml:mi>&#x003BC;</mml:mi></mml:mrow><mml:mrow><mml:mi>I</mml:mi></mml:mrow><mml:mrow><mml:mstyle class="text"><mml:mtext class="textrm" mathvariant="normal">ext</mml:mtext></mml:mstyle></mml:mrow></mml:msubsup></mml:math></inline-formula>, the system exhibits a state of constant low activity (&#x0201C;down state&#x0201D;), a state of constant high activity (&#x0201C;up state&#x0201D;), an oscillatory state, or a bistable state, where stable states of constant low and high activity coexist. Beyond that, there is a small region between the oscillatory and bistable regimes where we find bistability between an oscillatory and a down state (marked in blue). Points (A)&#x02013;(C) mark locations in state space, for which control tasks are studied (see Section 3).</p>
</sec>
<sec>
<title>2.3.3 Parameters for network control</title>
<p>We study two control tasks for a WC network with nodes coupled via the excitatory population. In a preliminary state-space exploration for various combinations of network and coupling parameters, we hand-picked adequate parameters such that the desired control tasks can be studied.</p>
<p>For the two-node network studied in Section 3.2.2, coupling and delay matrices are given by</p>
<disp-formula id="E16"><label>(16)</label><mml:math id="M72"><mml:mtable class="eqnarray" columnalign="left"><mml:mtr><mml:mtd><mml:mi>C</mml:mi><mml:mo>=</mml:mo><mml:mrow><mml:mo stretchy="true">(</mml:mo><mml:mrow><mml:mtable style="text-align:axis;" equalrows="false" columnlines="none none none none none none none none none" equalcolumns="false" class="array"><mml:mtr><mml:mtd><mml:mn>0</mml:mn></mml:mtd><mml:mtd><mml:mn>1</mml:mn></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mn>1</mml:mn></mml:mtd><mml:mtd><mml:mn>0</mml:mn></mml:mtd></mml:mtr></mml:mtable></mml:mrow><mml:mo stretchy="true">)</mml:mo></mml:mrow><mml:mo>,</mml:mo><mml:mtext>&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;</mml:mtext><mml:mi>D</mml:mi><mml:mo>=</mml:mo><mml:mrow><mml:mo stretchy="true">(</mml:mo><mml:mrow><mml:mtable style="text-align:axis;" equalrows="false" columnlines="none none none none none none none none none" equalcolumns="false" class="array"><mml:mtr><mml:mtd><mml:mn>0</mml:mn></mml:mtd><mml:mtd><mml:mn>9</mml:mn><mml:mo>.</mml:mo><mml:mn>5</mml:mn></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mn>9</mml:mn><mml:mo>.</mml:mo><mml:mn>5</mml:mn></mml:mtd><mml:mtd><mml:mn>0</mml:mn></mml:mtd></mml:mtr></mml:mtable></mml:mrow><mml:mo stretchy="true">)</mml:mo></mml:mrow><mml:mo>.</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
<p>The coupling scheme is sketched in <xref ref-type="fig" rid="F3">Figure 3A</xref>. We set <italic>c</italic><sub>gl</sub> &#x0003D; 1.8 (cf. <xref ref-type="disp-formula" rid="E15">Equation 15</xref>) and find a bistable state at point (C) (see <xref ref-type="fig" rid="F2">Figure 2A</xref>), where a stable in-phase oscillation (IP) with period <inline-formula><mml:math id="M73"><mml:msubsup><mml:mrow><mml:mi>f</mml:mi></mml:mrow><mml:mrow><mml:mstyle class="text"><mml:mtext class="textrm" mathvariant="normal">IP</mml:mtext></mml:mstyle></mml:mrow><mml:mrow><mml:mo>-</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msubsup><mml:mo>=</mml:mo><mml:mn>13</mml:mn><mml:mo>.</mml:mo><mml:mn>89</mml:mn></mml:math></inline-formula> coexists with a stable out-of-phase oscillation (OOP) with period <inline-formula><mml:math id="M74"><mml:msubsup><mml:mrow><mml:mi>f</mml:mi></mml:mrow><mml:mrow><mml:mstyle class="text"><mml:mtext class="textrm" mathvariant="normal">OOP</mml:mtext></mml:mstyle></mml:mrow><mml:mrow><mml:mo>-</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msubsup><mml:mo>=</mml:mo><mml:mn>22</mml:mn><mml:mo>.</mml:mo><mml:mn>72</mml:mn></mml:math></inline-formula>.</p>
<fig id="F3" position="float">
<label>Figure 3</label>
<caption><p><bold>(A)</bold> Cartoon of the neural mass model with two WC nodes studied in Section 3.2.2. Static external inputs are indicated by <italic>E</italic><sup>ext</sup> and <italic>I</italic><sup>ext</sup> and control inputs by <italic>u</italic><sub>0,1</sub> (<italic>t</italic>). The nodes are coupled via the excitatory population with a global coupling strength <italic>c</italic><sub>gl</sub>. <bold>(B)</bold> Six-node system studied in Section 3.3.</p></caption>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="fncom-18-1483100-g0003.tif"/>
</fig>
<p>For the six-node network studied in Section 3.3, coupling and delay matrices are given by</p>
<disp-formula id="E17"><label>(17)</label><mml:math id="M75"><mml:mtable class="eqnarray" columnalign="left"><mml:mtr><mml:mtd><mml:mi>C</mml:mi><mml:mo>=</mml:mo><mml:mrow><mml:mo stretchy="true">(</mml:mo><mml:mrow><mml:mtable style="text-align:axis;" equalrows="false" columnlines="none none none none none none none none none" equalcolumns="false" class="array"><mml:mtr><mml:mtd><mml:mn>0</mml:mn></mml:mtd><mml:mtd><mml:mn>1</mml:mn></mml:mtd><mml:mtd><mml:mn>0</mml:mn></mml:mtd><mml:mtd><mml:mn>0</mml:mn></mml:mtd><mml:mtd><mml:mn>0</mml:mn></mml:mtd><mml:mtd><mml:mn>1</mml:mn></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mn>1</mml:mn></mml:mtd><mml:mtd><mml:mn>0</mml:mn></mml:mtd><mml:mtd><mml:mn>1</mml:mn></mml:mtd><mml:mtd><mml:mn>0</mml:mn></mml:mtd><mml:mtd><mml:mn>1</mml:mn></mml:mtd><mml:mtd><mml:mn>0</mml:mn></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mn>0</mml:mn></mml:mtd><mml:mtd><mml:mn>0</mml:mn></mml:mtd><mml:mtd><mml:mn>0</mml:mn></mml:mtd><mml:mtd><mml:mn>0</mml:mn></mml:mtd><mml:mtd><mml:mn>0</mml:mn></mml:mtd><mml:mtd><mml:mn>1</mml:mn></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mn>0</mml:mn></mml:mtd><mml:mtd><mml:mn>0</mml:mn></mml:mtd><mml:mtd><mml:mn>1</mml:mn></mml:mtd><mml:mtd><mml:mn>0</mml:mn></mml:mtd><mml:mtd><mml:mn>0</mml:mn></mml:mtd><mml:mtd><mml:mn>1</mml:mn></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mn>1</mml:mn></mml:mtd><mml:mtd><mml:mn>1</mml:mn></mml:mtd><mml:mtd><mml:mn>0</mml:mn></mml:mtd><mml:mtd><mml:mn>1</mml:mn></mml:mtd><mml:mtd><mml:mn>0</mml:mn></mml:mtd><mml:mtd><mml:mn>1</mml:mn></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mn>0</mml:mn></mml:mtd><mml:mtd><mml:mn>1</mml:mn></mml:mtd><mml:mtd><mml:mn>1</mml:mn></mml:mtd><mml:mtd><mml:mn>0</mml:mn></mml:mtd><mml:mtd><mml:mn>0</mml:mn></mml:mtd><mml:mtd><mml:mn>0</mml:mn></mml:mtd></mml:mtr></mml:mtable></mml:mrow><mml:mo stretchy="true">)</mml:mo></mml:mrow><mml:mo>,</mml:mo><mml:mtext>&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;</mml:mtext><mml:mi>D</mml:mi><mml:mo>=</mml:mo><mml:mrow><mml:mo stretchy="true">(</mml:mo><mml:mrow><mml:mtable style="text-align:axis;" equalrows="false" columnlines="none none none none none none none none none" equalcolumns="false" class="array"><mml:mtr><mml:mtd><mml:mn>0</mml:mn></mml:mtd><mml:mtd><mml:mn>12</mml:mn></mml:mtd><mml:mtd><mml:mn>0</mml:mn></mml:mtd><mml:mtd><mml:mn>0</mml:mn></mml:mtd><mml:mtd><mml:mn>0</mml:mn></mml:mtd><mml:mtd><mml:mn>8</mml:mn></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mn>8</mml:mn></mml:mtd><mml:mtd><mml:mn>0</mml:mn></mml:mtd><mml:mtd><mml:mn>13</mml:mn></mml:mtd><mml:mtd><mml:mn>0</mml:mn></mml:mtd><mml:mtd><mml:mn>1</mml:mn></mml:mtd><mml:mtd><mml:mn>0</mml:mn></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mn>0</mml:mn></mml:mtd><mml:mtd><mml:mn>0</mml:mn></mml:mtd><mml:mtd><mml:mn>0</mml:mn></mml:mtd><mml:mtd><mml:mn>0</mml:mn></mml:mtd><mml:mtd><mml:mn>0</mml:mn></mml:mtd><mml:mtd><mml:mn>9</mml:mn></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mn>0</mml:mn></mml:mtd><mml:mtd><mml:mn>0</mml:mn></mml:mtd><mml:mtd><mml:mn>4</mml:mn></mml:mtd><mml:mtd><mml:mn>0</mml:mn></mml:mtd><mml:mtd><mml:mn>0</mml:mn></mml:mtd><mml:mtd><mml:mn>11</mml:mn></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mn>5</mml:mn></mml:mtd><mml:mtd><mml:mn>17</mml:mn></mml:mtd><mml:mtd><mml:mn>0</mml:mn></mml:mtd><mml:mtd><mml:mn>14</mml:mn></mml:mtd><mml:mtd><mml:mn>0</mml:mn></mml:mtd><mml:mtd><mml:mn>18</mml:mn></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mn>0</mml:mn></mml:mtd><mml:mtd><mml:mn>0</mml:mn></mml:mtd><mml:mtd><mml:mn>3</mml:mn></mml:mtd><mml:mtd><mml:mn>0</mml:mn></mml:mtd><mml:mtd><mml:mn>0</mml:mn></mml:mtd><mml:mtd><mml:mn>0</mml:mn></mml:mtd></mml:mtr></mml:mtable></mml:mrow><mml:mo stretchy="true">)</mml:mo></mml:mrow><mml:mo>.</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
<p>The coupling scheme is sketched in <xref ref-type="fig" rid="F3">Figure 3B</xref>. We set <italic>c</italic><sub>gl</sub> &#x0003D; 0.8 (cf. <xref ref-type="disp-formula" rid="E15">Equation 15</xref>) and find a state of asynchronous oscillation at point (D) and a state of synchronous oscillation at point (E) (see <xref ref-type="fig" rid="F2">Figure 2A</xref>).</p>
<p>Note that the state-space diagram in <xref ref-type="fig" rid="F2">Figure 2A</xref> only shows the bifurcations boundaries of the one-node system. Bifurcation boundaries change depending on the choice of network and coupling parameters.</p>
<p>Parameters were chosen such that relevant control problems could be defined for evaluating the proposed cost functionals. Note, however, that the presented method can be applied to any choice of coupling and delay matrices.</p>
</sec>
</sec>
<sec>
<title>2.4 Implementation and numerical simulations</title>
<sec>
<title>2.4.1 Open-source implementation</title>
<p>Numerical computations are based on the <monospace>neurolib</monospace> simulation framework (Cakan et al., <xref ref-type="bibr" rid="B5">2023</xref>). <monospace>neurolib</monospace> is an open-source library that contains several models of neural population dynamics and enables to combine them to network models of arbitrary size and structure. Beyond that, methods to compute OC in its standard formulation (see Section 2.1) are included. In this study, we expand <monospace>neurolib</monospace> by an extension that enables to compute OC signals for oscillation and synchronization tasks. This extension is openly available on GitHub at <ext-link ext-link-type="uri" xlink:href="https://github.com/lenasal/neurolib/tree/OC_osc_sync">https://github.com/lenasal/neurolib/tree/OC_osc_sync</ext-link>.</p>
</sec>
<sec>
<title>2.4.2 Simulation accuracy</title>
<p>All simulations in this study have a duration of several hundred time units (dimensionless in the WC model, <italic>ms</italic> in the mean-field EIF model). We chose an integration step size <italic>dt</italic> &#x0003D; 0.1 (WC) or <italic>dt</italic> &#x0003D; <italic>0.1ms</italic> (mean-field EIF) and validated that there are no qualitative differences if a smaller integration time step is used.</p>
</sec>
<sec>
<title>2.4.3 Fourier cost in limited-time simulations</title>
<p>When evaluating the Fourier spectrum of a trajectory obtained in a limited-time simulation, the spectral peaks are the sharper, the longer the simulation duration. If, however, the simulation time is relatively short (as in the control tasks considered in this study), the Fourier spectrum of any oscillation shows broad peaks (see <xref ref-type="supplementary-material" rid="SM1">Supplementary Figure S1</xref>). For tasks, in which we want to switch to a specific oscillatory state (Section 3.2), this leads to a tolerance against variations in the frequency <inline-formula><mml:math id="M76"><mml:mover accent="true"><mml:mrow><mml:mi>f</mml:mi></mml:mrow><mml:mo>&#x0007E;</mml:mo></mml:mover></mml:math></inline-formula> compared to the natural frequency of the target state.</p>
</sec>
<sec>
<title>2.4.4 Initialization</title>
<p>As an initial control guess, we use <italic>u</italic><sub>0</sub> &#x0003D; 0 in most tasks investigated in Section 3, with two exceptions.</p>
<p>First, in Section 3.1, we control the mean-field EIF model in its stationary down state. In this state, we encounter numerical problems when the gradient of the cost functional <inline-formula><mml:math id="M77"><mml:mfrac><mml:mrow><mml:mi>&#x02202;</mml:mi><mml:mi>f</mml:mi></mml:mrow><mml:mrow><mml:mi>&#x02202;</mml:mi><mml:mover accent="true"><mml:mrow><mml:mi>u</mml:mi></mml:mrow><mml:mo>&#x02192;</mml:mo></mml:mover></mml:mrow></mml:mfrac></mml:math></inline-formula> is computed. This is due to the fact that the activity, the excitatory firing rate <italic>r</italic><sub><italic>E</italic></sub>(<italic>t</italic>), is not given in terms of an analytical function, but in terms of a transfer function, for which no analytical closed-form expression exists (for details on the mathematical model, see also <xref ref-type="supplementary-material" rid="SM1">Supplementary Section 3</xref>). In simulations, <italic>r</italic><sub><italic>E</italic></sub>(<italic>t</italic>) is, therefore, interpolated using a pre-computed table. In the down state, gradients almost vanish, preventing an effective OC computation if the control is not initialized reasonably. Hence, we initialize the OC algorithm with a sinusoidal initial control <italic>u</italic><sub>0</sub> which oscillates at the target frequency <inline-formula><mml:math id="M78"><mml:mover accent="true"><mml:mrow><mml:mi>f</mml:mi></mml:mrow><mml:mo>&#x0007E;</mml:mo></mml:mover></mml:math></inline-formula>.</p>
<p>Second, in Section 3.2.2, we study a control task where all network nodes exhibit the exact same time evolution in the uncontrolled, initial state. When applying the variance cost, both cost and cost gradient vanish (see <xref ref-type="disp-formula" rid="E13">Equations 13</xref> and <xref ref-type="disp-formula" rid="E14">14</xref>), and the gradient descent cannot be performed. To circumvent this problem, we initialize the OC algorithm with an initial control that randomly fluctuates around zero with a small amplitude.</p>
</sec>
<sec>
<title>2.4.5 Choice of weights</title>
<p>The numerical values of the weights <italic>w</italic><sub>F</sub>, <italic>w</italic><sub>cc</sub>, or <italic>w</italic><sub>var</sub> determine how accuracy and control strength are traded against each other. On the one hand, when choosing the weight below a certain threshold value, which is individual for each cost functional and task, the OC equals zero, <inline-formula><mml:math id="M79"><mml:msup><mml:mrow><mml:mover accent="true"><mml:mrow><mml:mi>u</mml:mi></mml:mrow><mml:mo>&#x02192;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mo>&#x0002A;</mml:mo></mml:mrow></mml:msup><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>t</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mo>=</mml:mo><mml:mn>0</mml:mn></mml:math></inline-formula>. Any finite input would increase the total cost via <italic>F</italic><sub>E</sub> more than it might improve <italic>F</italic><sub>F</sub>, <italic>F</italic><sub>cc</sub>, or <italic>F</italic><sub>var</sub>. This threshold value is a lower limit to the choice of weights. On the other hand, when choosing a very large weight, the algorithm will return very strong control signals, and the controlled activity will reach its upper limits determined by the system dynamics. Physically, such results might be difficult to interpret. Computationally, the numerical integration might fail when the activity variable is continuously pushed against its upper bound. Hence, too large weight values must be avoided.</p>
<p>We study two different types of control tasks: First, there are control tasks that force a system to behave in a way that cannot be maintained naturally (driving oscillations from a stationary state, Sections 3.1, and synchronization (desynchronization) of desynchronized (synchronized) oscillations, Section 3.3). For these tasks, the weights are chosen after preliminary investigations such that control signals are reasonably strong. Second, there are control tasks in which we initiate a switch between two stable states (Section 3.2). For these tasks, we want to find the minimum-energy transition. Therefore, we dynamically adjust the weights, starting with a relatively large value of <italic>w</italic><sub>F</sub>, <italic>w</italic><sub>cc</sub>, or <italic>w</italic><sub>var</sub>, and decrease the respective weight every few (hundred) iterations until convergence, such that low-energy transitions are enforced. For these cases, we only provide the initial and the final numerical weight value.</p>
</sec>
<sec>
<title>2.4.6 Measurement interval and control interval</title>
<p>In our simulations, we evaluate <inline-formula><mml:math id="M80"><mml:msubsup><mml:mrow><mml:mi>F</mml:mi></mml:mrow><mml:mrow><mml:mstyle class="text"><mml:mtext class="textrm" mathvariant="normal">F</mml:mtext></mml:mstyle></mml:mrow><mml:mrow><mml:mstyle class="text"><mml:mtext class="textrm" mathvariant="normal">sync</mml:mtext></mml:mstyle></mml:mrow></mml:msubsup></mml:math></inline-formula>, <inline-formula><mml:math id="M81"><mml:msubsup><mml:mrow><mml:mi>F</mml:mi></mml:mrow><mml:mrow><mml:mstyle class="text"><mml:mtext class="textrm" mathvariant="normal">F</mml:mtext></mml:mstyle></mml:mrow><mml:mrow><mml:mstyle class="text"><mml:mtext class="textrm" mathvariant="normal">osc</mml:mtext></mml:mstyle></mml:mrow></mml:msubsup></mml:math></inline-formula>, <italic>F</italic><sub>cc</sub>, or <italic>F</italic><sub>var</sub> in the time interval [<italic>t</italic><sub>0</sub>, <italic>T</italic>] (&#x0201C;measurement interval&#x0201D;). Similarly, we enable control only in a limited time interval, which we denote by <inline-formula><mml:math id="M82"><mml:mrow><mml:mo>[</mml:mo><mml:mrow><mml:msubsup><mml:mrow><mml:mi>t</mml:mi></mml:mrow><mml:mrow><mml:mn>0</mml:mn></mml:mrow><mml:mrow><mml:mstyle class="text"><mml:mtext class="textrm" mathvariant="normal">C</mml:mtext></mml:mstyle></mml:mrow></mml:msubsup><mml:mo>,</mml:mo><mml:msubsup><mml:mrow><mml:mi>t</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mstyle class="text"><mml:mtext class="textrm" mathvariant="normal">C</mml:mtext></mml:mstyle></mml:mrow></mml:msubsup></mml:mrow><mml:mo>]</mml:mo></mml:mrow></mml:math></inline-formula> (&#x0201C;control interval&#x0201D;), i.e., <italic>u</italic>(<italic>t</italic>)&#x02260;0 only for <inline-formula><mml:math id="M83"><mml:mi>t</mml:mi><mml:mo>&#x02208;</mml:mo><mml:mrow><mml:mo>[</mml:mo><mml:mrow><mml:msubsup><mml:mrow><mml:mi>t</mml:mi></mml:mrow><mml:mrow><mml:mn>0</mml:mn></mml:mrow><mml:mrow><mml:mstyle class="text"><mml:mtext class="textrm" mathvariant="normal">C</mml:mtext></mml:mstyle></mml:mrow></mml:msubsup><mml:mo>,</mml:mo><mml:msubsup><mml:mrow><mml:mi>t</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mstyle class="text"><mml:mtext class="textrm" mathvariant="normal">C</mml:mtext></mml:mstyle></mml:mrow></mml:msubsup></mml:mrow><mml:mo>]</mml:mo></mml:mrow></mml:math></inline-formula>. Naturally, we chose <inline-formula><mml:math id="M84"><mml:msub><mml:mrow><mml:mi>t</mml:mi></mml:mrow><mml:mrow><mml:mn>0</mml:mn></mml:mrow></mml:msub><mml:mo>&#x02265;</mml:mo><mml:msubsup><mml:mrow><mml:mi>t</mml:mi></mml:mrow><mml:mrow><mml:mn>0</mml:mn></mml:mrow><mml:mrow><mml:mstyle class="text"><mml:mtext class="textrm" mathvariant="normal">C</mml:mtext></mml:mstyle></mml:mrow></mml:msubsup></mml:math></inline-formula>.</p>
<p>For control tasks that force a system to behave in way that cannot be maintained without control input (driving oscillations from a stationary state, Section 3.1, and synchronization (desynchronization) of desynchronized (synchronized) oscillations, Section 3.3), we set <inline-formula><mml:math id="M85"><mml:msub><mml:mrow><mml:mi>t</mml:mi></mml:mrow><mml:mrow><mml:mn>0</mml:mn></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:msubsup><mml:mrow><mml:mi>t</mml:mi></mml:mrow><mml:mrow><mml:mn>0</mml:mn></mml:mrow><mml:mrow><mml:mstyle class="text"><mml:mtext class="textrm" mathvariant="normal">C</mml:mtext></mml:mstyle></mml:mrow></mml:msubsup></mml:math></inline-formula> and <inline-formula><mml:math id="M86"><mml:mi>T</mml:mi><mml:mo>=</mml:mo><mml:msubsup><mml:mrow><mml:mi>t</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mstyle class="text"><mml:mtext class="textrm" mathvariant="normal">C</mml:mtext></mml:mstyle></mml:mrow></mml:msubsup></mml:math></inline-formula>. For such tasks, no sustainable, long-lasting effect can be achieved, and we only consider the interval in which control is active.</p>
<p>For control tasks that initiate a switch between two stable states (Section 3.2), the algorithm might fail if there is an overlap of measurement interval and control interval as we might encounter a (local) optimum at which the control reduces the cost for <inline-formula><mml:math id="M87"><mml:mi>t</mml:mi><mml:mo>&#x02208;</mml:mo><mml:mrow><mml:mo>[</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi>t</mml:mi></mml:mrow><mml:mrow><mml:mn>0</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msubsup><mml:mrow><mml:mi>t</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mstyle class="text"><mml:mtext class="textrm" mathvariant="normal">C</mml:mtext></mml:mstyle></mml:mrow></mml:msubsup></mml:mrow><mml:mo>]</mml:mo></mml:mrow></mml:math></inline-formula> without initiating the intended state switch. On the other hand, the gradient computation with the adjoint method becomes less precise if there is no overlap between measurement interval and control interval. Preliminary simulations help to determine well-suited values for <inline-formula><mml:math id="M88"><mml:msubsup><mml:mrow><mml:mi>t</mml:mi></mml:mrow><mml:mrow><mml:mn>0</mml:mn></mml:mrow><mml:mrow><mml:mstyle class="text"><mml:mtext class="textrm" mathvariant="normal">C</mml:mtext></mml:mstyle></mml:mrow></mml:msubsup><mml:mo>,</mml:mo><mml:msubsup><mml:mrow><mml:mi>t</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mstyle class="text"><mml:mtext class="textrm" mathvariant="normal">C</mml:mtext></mml:mstyle></mml:mrow></mml:msubsup><mml:mo>,</mml:mo><mml:msub><mml:mrow><mml:mi>t</mml:mi></mml:mrow><mml:mrow><mml:mn>0</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula>, and <italic>T</italic>. We chose a setup with no overlap between measurement interval and control interval for single-node systems (Section 3.2.1), and a setup with overlap for multi-node systems (Section 3.2.2).</p>
</sec>
<sec>
<title>2.4.7 Local optima</title>
<p>We use gradient descent to reach a minimum of the cost functional. Hence, the algorithm is only assured to find a local minimum in the cost landscape. We find evidence for multiple local minima (for an example, see <xref ref-type="supplementary-material" rid="SM1">Supplementary Section 5</xref>), but the results presented in the following are minimum-cost solutions that were repeatedly obtained with different initializations and gradient descent parameters. We will denote the control solutions therefore as the &#x0201C;OC&#x0201D;. However, we want to emphasize that there is no way to guarantee that the global minimum was found.</p>
</sec>
<sec>
<title>2.4.8 Translational invariance</title>
<p>If a control signal initiates a transition between two stable states, we expect the success of the transition to be invariant under shifts in time, since earlier or later control signals would lead to the same state transition. If the initial state is a stationary state (see Section 3.2.1, up-to-oscillation task), time shifts can be continuous. If the initial state is an oscillatory state (see Section 3.2.1, oscillation-to-up-task, and Section 3.2.2), time shifts can only be a multiple of the oscillation period. By shifting control signals back in time, we might find solutions with smaller <italic>F</italic><sub>F</sub>, <italic>F</italic><sub>cc</sub>, or <italic>F</italic><sub>var</sub>, since an earlier transition implies a longer transition time before inaccuracy is penalized, while the control cost <italic>F</italic><sub>E</sub> remains unchanged. The results presented for the state switch in the mean-field EIF model (Section 3.2.2) are obtained by shifting the originally obtained control signal back in time. A repeated optimization does not change the results.</p>
</sec>
<sec>
<title>2.4.9 Computational complexity</title>
<p><xref ref-type="table" rid="T2">Table 2</xref> summarizes the computational complexity for computing the cost functional and its derivative computation:</p>
<list list-type="bullet">
<list-item><p>The complexity for computing the synchrony and oscillation Fourier cost computation scales linearly with the number <italic>N</italic><sub><italic>T</italic></sub> &#x0003D; <italic>T</italic>/<italic>dt</italic> of total integration time steps and with the number <italic>N</italic> of network nodes. The computation of its derivative scales quadratically with <italic>N</italic><sub><italic>T</italic></sub> and linearly with <italic>N</italic>.</p></list-item>
<list-item><p>The computational complexity for computing the cross-correlation cost scales linearly with <italic>N</italic><sub><italic>T</italic></sub> and quadratically with <italic>N</italic>. The same holds true for its derivative.</p></list-item>
<list-item><p>The computational complexity for computing the variance cost scales linearly with both <italic>N</italic><sub><italic>T</italic></sub> and <italic>N</italic>. The same holds true for its derivative.</p></list-item>
</list>
<table-wrap position="float" id="T2">
<label>Table 2</label>
<caption><p>Computational complexity of cost functional and cost derivative computation.</p></caption>
<table frame="box" rules="all">
<tbody>
<tr>
<td valign="top" align="center"><inline-formula><mml:math id="M89"><mml:msubsup><mml:mrow><mml:mi>F</mml:mi></mml:mrow><mml:mrow><mml:mstyle class="text"><mml:mtext class="textrm" mathvariant="normal">F</mml:mtext></mml:mstyle></mml:mrow><mml:mrow><mml:mstyle class="text"><mml:mtext class="textrm" mathvariant="normal">sync</mml:mtext></mml:mstyle></mml:mrow></mml:msubsup><mml:mo>&#x0007E;</mml:mo><mml:msub><mml:mrow><mml:mi>N</mml:mi></mml:mrow><mml:mrow><mml:mi>T</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula></td>
<td valign="top" align="center"><inline-formula><mml:math id="M90"><mml:msubsup><mml:mrow><mml:mi>F</mml:mi></mml:mrow><mml:mrow><mml:mstyle class="text"><mml:mtext class="textrm" mathvariant="normal">F</mml:mtext></mml:mstyle></mml:mrow><mml:mrow><mml:mstyle class="text"><mml:mtext class="textrm" mathvariant="normal">sync</mml:mtext></mml:mstyle></mml:mrow></mml:msubsup><mml:mo>&#x0007E;</mml:mo><mml:mi>N</mml:mi></mml:math></inline-formula></td>
<td valign="top" align="center"><inline-formula><mml:math id="M91"><mml:mfrac><mml:mrow><mml:mi>d</mml:mi><mml:msubsup><mml:mrow><mml:mi>F</mml:mi></mml:mrow><mml:mrow><mml:mstyle class="text"><mml:mtext class="textrm" mathvariant="normal">F</mml:mtext></mml:mstyle></mml:mrow><mml:mrow><mml:mstyle class="text"><mml:mtext class="textrm" mathvariant="normal">sync</mml:mtext></mml:mstyle></mml:mrow></mml:msubsup></mml:mrow><mml:mrow><mml:mi>d</mml:mi><mml:mi>u</mml:mi></mml:mrow></mml:mfrac><mml:mo>&#x0007E;</mml:mo><mml:msubsup><mml:mrow><mml:mi>N</mml:mi></mml:mrow><mml:mrow><mml:mi>T</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msubsup></mml:math></inline-formula></td>
<td valign="top" align="center"><inline-formula><mml:math id="M92"><mml:mfrac><mml:mrow><mml:mi>d</mml:mi><mml:msubsup><mml:mrow><mml:mi>F</mml:mi></mml:mrow><mml:mrow><mml:mstyle class="text"><mml:mtext class="textrm" mathvariant="normal">F</mml:mtext></mml:mstyle></mml:mrow><mml:mrow><mml:mstyle class="text"><mml:mtext class="textrm" mathvariant="normal">sync</mml:mtext></mml:mstyle></mml:mrow></mml:msubsup></mml:mrow><mml:mrow><mml:mi>d</mml:mi><mml:mi>u</mml:mi></mml:mrow></mml:mfrac><mml:mo>&#x0007E;</mml:mo><mml:mi>N</mml:mi></mml:math></inline-formula></td>
</tr>
<tr>
<td valign="top" align="center"><inline-formula><mml:math id="M93"><mml:msubsup><mml:mrow><mml:mi>F</mml:mi></mml:mrow><mml:mrow><mml:mstyle class="text"><mml:mtext class="textrm" mathvariant="normal">F</mml:mtext></mml:mstyle></mml:mrow><mml:mrow><mml:mstyle class="text"><mml:mtext class="textrm" mathvariant="normal">osc</mml:mtext></mml:mstyle></mml:mrow></mml:msubsup><mml:mo>&#x0007E;</mml:mo><mml:msub><mml:mrow><mml:mi>N</mml:mi></mml:mrow><mml:mrow><mml:mi>T</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula></td>
<td valign="top" align="center"><inline-formula><mml:math id="M94"><mml:msubsup><mml:mrow><mml:mi>F</mml:mi></mml:mrow><mml:mrow><mml:mstyle class="text"><mml:mtext class="textrm" mathvariant="normal">F</mml:mtext></mml:mstyle></mml:mrow><mml:mrow><mml:mstyle class="text"><mml:mtext class="textrm" mathvariant="normal">osc</mml:mtext></mml:mstyle></mml:mrow></mml:msubsup><mml:mo>&#x0007E;</mml:mo><mml:mi>N</mml:mi></mml:math></inline-formula></td>
<td valign="top" align="center"><inline-formula><mml:math id="M95"><mml:mfrac><mml:mrow><mml:mi>d</mml:mi><mml:msubsup><mml:mrow><mml:mi>F</mml:mi></mml:mrow><mml:mrow><mml:mstyle class="text"><mml:mtext class="textrm" mathvariant="normal">F</mml:mtext></mml:mstyle></mml:mrow><mml:mrow><mml:mstyle class="text"><mml:mtext class="textrm" mathvariant="normal">osc</mml:mtext></mml:mstyle></mml:mrow></mml:msubsup></mml:mrow><mml:mrow><mml:mi>d</mml:mi><mml:mi>u</mml:mi></mml:mrow></mml:mfrac><mml:mo>&#x0007E;</mml:mo><mml:msubsup><mml:mrow><mml:mi>N</mml:mi></mml:mrow><mml:mrow><mml:mi>T</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msubsup></mml:math></inline-formula></td>
<td valign="top" align="center"><inline-formula><mml:math id="M96"><mml:mfrac><mml:mrow><mml:mi>d</mml:mi><mml:msubsup><mml:mrow><mml:mi>F</mml:mi></mml:mrow><mml:mrow><mml:mstyle class="text"><mml:mtext class="textrm" mathvariant="normal">F</mml:mtext></mml:mstyle></mml:mrow><mml:mrow><mml:mstyle class="text"><mml:mtext class="textrm" mathvariant="normal">osc</mml:mtext></mml:mstyle></mml:mrow></mml:msubsup></mml:mrow><mml:mrow><mml:mi>d</mml:mi><mml:mi>u</mml:mi></mml:mrow></mml:mfrac><mml:mo>&#x0007E;</mml:mo><mml:mi>N</mml:mi></mml:math></inline-formula></td>
</tr>
<tr>
<td valign="top" align="center"><italic>F</italic><sub>cc</sub>&#x0007E;<italic>N</italic><sub><italic>T</italic></sub></td>
<td valign="top" align="center"><inline-formula><mml:math id="M97"><mml:msub><mml:mrow><mml:mi>F</mml:mi></mml:mrow><mml:mrow><mml:mstyle class="text"><mml:mtext class="textrm" mathvariant="normal">cc</mml:mtext></mml:mstyle></mml:mrow></mml:msub><mml:mo>&#x0007E;</mml:mo><mml:msup><mml:mrow><mml:mi>N</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msup></mml:math></inline-formula></td>
<td valign="top" align="center"><inline-formula><mml:math id="M98"><mml:mfrac><mml:mrow><mml:mi>d</mml:mi><mml:msub><mml:mrow><mml:mi>F</mml:mi></mml:mrow><mml:mrow><mml:mstyle class="text"><mml:mtext class="textrm" mathvariant="normal">cc</mml:mtext></mml:mstyle></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mi>d</mml:mi><mml:mi>u</mml:mi></mml:mrow></mml:mfrac><mml:mo>&#x0007E;</mml:mo><mml:msub><mml:mrow><mml:mi>N</mml:mi></mml:mrow><mml:mrow><mml:mi>T</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula></td>
<td valign="top" align="center"><inline-formula><mml:math id="M99"><mml:mfrac><mml:mrow><mml:mi>d</mml:mi><mml:msub><mml:mrow><mml:mi>F</mml:mi></mml:mrow><mml:mrow><mml:mstyle class="text"><mml:mtext class="textrm" mathvariant="normal">cc</mml:mtext></mml:mstyle></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mi>d</mml:mi><mml:mi>u</mml:mi></mml:mrow></mml:mfrac><mml:mo>&#x0007E;</mml:mo><mml:msup><mml:mrow><mml:mi>N</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msup></mml:math></inline-formula></td>
</tr>
<tr>
<td valign="top" align="center"><italic>F</italic><sub>var</sub>&#x0007E;<italic>N</italic><sub><italic>T</italic></sub></td>
<td valign="top" align="center"><italic>F</italic><sub>var</sub>&#x0007E;<italic>N</italic></td>
<td valign="top" align="center"><inline-formula><mml:math id="M100"><mml:mfrac><mml:mrow><mml:mi>d</mml:mi><mml:msub><mml:mrow><mml:mi>F</mml:mi></mml:mrow><mml:mrow><mml:mstyle class="text"><mml:mtext class="textrm" mathvariant="normal">var</mml:mtext></mml:mstyle></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mi>d</mml:mi><mml:mi>u</mml:mi></mml:mrow></mml:mfrac><mml:mo>&#x0007E;</mml:mo><mml:msub><mml:mrow><mml:mi>N</mml:mi></mml:mrow><mml:mrow><mml:mi>T</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula></td>
<td valign="top" align="center"><inline-formula><mml:math id="M101"><mml:mfrac><mml:mrow><mml:mi>d</mml:mi><mml:msub><mml:mrow><mml:mi>F</mml:mi></mml:mrow><mml:mrow><mml:mstyle class="text"><mml:mtext class="textrm" mathvariant="normal">var</mml:mtext></mml:mstyle></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mi>d</mml:mi><mml:mi>u</mml:mi></mml:mrow></mml:mfrac><mml:mo>&#x0007E;</mml:mo><mml:mi>N</mml:mi></mml:math></inline-formula></td>
</tr></tbody>
</table>
</table-wrap>
<p>For simulations of long time series, the Fourier cost is outperformed in terms of computational costs by the other two cost functionals. Similarly, for large networks, the cross-correlation cost is outperformed by the other two cost functionals.</p>
</sec>
</sec>
</sec>
<sec sec-type="results" id="s3">
<title>3 Results</title>
<sec>
<title>3.1 Induction of oscillations</title>
<p>We first apply the Fourier cost defined in <xref ref-type="disp-formula" rid="E7">Equation 7</xref> to induce oscillations in a single-node system from a constant stationary (up or down) state.</p>
<p><xref ref-type="fig" rid="F4">Figures 4</xref>, <xref ref-type="fig" rid="F5">5</xref> show the computed OC and the time series of the activity variables, <italic>E</italic> and <italic>I</italic> or <italic>r</italic><sub><italic>E</italic></sub> and <italic>r</italic><sub><italic>I</italic></sub>, respectively, of the corresponding controlled system at the two points (A) and (B) (cf. <xref ref-type="fig" rid="F2">Figures 2A, B</xref>) for the WC and the mean-field EIF models. The algorithm successfully computes a control input that creates oscillations with the target frequency in all cases. We observe that the shapes of the control signals are comparable for points (A) and (B) within a model but do not transfer across models: For the WC, the periodic OC signals for both tasks have almost vertical slopes and for each period, a broad, secondary peaks follow a sharp, initial peak but in opposite directions, <inline-formula><mml:math id="M102"><mml:msup><mml:mrow><mml:mover accent="true"><mml:mrow><mml:mi>u</mml:mi></mml:mrow><mml:mo>&#x02192;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mstyle class="text"><mml:mtext class="textrm" mathvariant="normal">down</mml:mtext></mml:mstyle><mml:mo>&#x02192;</mml:mo><mml:mstyle class="text"><mml:mtext class="textrm" mathvariant="normal">osc</mml:mtext></mml:mstyle></mml:mrow></mml:msup><mml:mo>&#x02248;</mml:mo><mml:mo>-</mml:mo><mml:msup><mml:mrow><mml:mover accent="true"><mml:mrow><mml:mi>u</mml:mi></mml:mrow><mml:mo>&#x02192;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mstyle class="text"><mml:mtext class="textrm" mathvariant="normal">up</mml:mtext></mml:mstyle><mml:mo>&#x02192;</mml:mo><mml:mstyle class="text"><mml:mtext class="textrm" mathvariant="normal">osc</mml:mtext></mml:mstyle></mml:mrow></mml:msup></mml:math></inline-formula>. In comparison, the mean-field EIF OC signals resemble a more or less distorted sine curve. These observations hold true also for other state-space locations within the up- and down-state regimes and for other target frequencies (results not shown).</p>
<fig id="F4" position="float">
<label>Figure 4</label>
<caption><p>OC using the Fourier cost to induce oscillations at <inline-formula><mml:math id="M103"><mml:mover accent="true"><mml:mrow><mml:mi>f</mml:mi></mml:mrow><mml:mo>&#x0007E;</mml:mo></mml:mover><mml:mo>=</mml:mo><mml:mi>3</mml:mi><mml:mi>0</mml:mi><mml:mtext>&#x000A0;Hz</mml:mtext></mml:math></inline-formula> from a stationary state in the WC model. The <bold>bottom</bold> row shows the computed OC, and the <bold>top</bold> row shows the resulting time series of the activity variables <italic>E</italic> and <italic>I</italic>. The activity of and the control inputs to the excitatory population are plotted in red, and the activity of the inhibitory population is plotted in blue. The gray-shaded regions (<italic>t</italic> &#x0003C; 50 and <italic>t</italic> &#x0003E; 350) indicate the time intervals during which the control is not active and inaccuracy is not penalized. The energy cost <italic>F</italic><sub>E</sub> is provided in the top-left corner of the control plots. The plot on the left-hand side relates to point (A), and the plot on the right-hand side relates to point (B) (cf. <xref ref-type="fig" rid="F2">Figure 2A</xref>). The weight is <inline-formula><mml:math id="M104"><mml:msub><mml:mrow><mml:mi>w</mml:mi></mml:mrow><mml:mrow><mml:mstyle class="text"><mml:mtext class="textrm" mathvariant="normal">F</mml:mtext></mml:mstyle></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mn>8</mml:mn><mml:mo>&#x000B7;</mml:mo><mml:mn>1</mml:mn><mml:msup><mml:mrow><mml:mn>0</mml:mn></mml:mrow><mml:mrow><mml:mn>4</mml:mn></mml:mrow></mml:msup></mml:math></inline-formula> for both points.</p></caption>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="fncom-18-1483100-g0004.tif"/>
</fig>
<fig id="F5" position="float">
<label>Figure 5</label>
<caption><p>OC using the Fourier cost to induce oscillations at <inline-formula><mml:math id="M105"><mml:mover accent="true"><mml:mrow><mml:mi>f</mml:mi></mml:mrow><mml:mo>&#x0007E;</mml:mo></mml:mover><mml:mo>=</mml:mo><mml:mi>3</mml:mi><mml:mi>0</mml:mi><mml:mtext>&#x000A0;Hz</mml:mtext></mml:math></inline-formula> from a stationary state in the mean-field EIF model. The <bold>bottom</bold> row shows the computed OC, and the <bold>top</bold> row shows the resulting time series of the activity variables <italic>r</italic><sub><italic>E</italic></sub> and <italic>r</italic><sub><italic>I</italic></sub>. The activity of and the control inputs to the excitatory population are plotted in red, and the activity of the inhibitory population is plotted in blue. The gray-shaded regions (<italic>t</italic> &#x0003C; 50 ms and <italic>t</italic> &#x0003E; 350 ms) indicate the time intervals during which the control is not active and inaccuracy is not penalized. The energy cost <italic>F</italic><sub>E</sub> is provided in the top-left corner of the control plots. The plot on the left-hand side relates to point (A), and the plot on the right-hand side relates to point (B) (cf. <xref ref-type="fig" rid="F2">Figure 2B</xref>). The weight is <italic>w</italic><sub>F</sub> &#x0003D; 0.555 for both points. We initialized the OC computation with an oscillatory control signal for point (A).</p></caption>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="fncom-18-1483100-g0005.tif"/>
</fig>
</sec>
<sec>
<title>3.2 Switch between stable states</title>
<p>In this Section, we study tasks, in which the control initiates a state switch between coexisting stable states, comparing the effects of the cost functionals <italic>F</italic><sub>F</sub>, <italic>F</italic><sub>cc</sub>, and <italic>F</italic><sub>var</sub>.</p>
<sec>
<title>3.2.1 Switch between stationary and oscillatory states</title>
<p>The mean-field EIF model exhibits a regime in state space, where a stable state of constant high activity and a stable oscillatory state coexist (see <xref ref-type="fig" rid="F2">Figure 2B</xref>). We apply the Fourier cost to initiate a state switch between these stable states at point (C) in the mean-field EIF state space. For the up-to-oscillations task, we first measure the frequency <italic>f</italic><sub>C</sub> of the oscillation at point (C) to then enforce an oscillation at this frequency. For the oscillations-to-up task, we suppress oscillations at frequency <italic>f</italic><sub>C</sub> by setting <italic>w</italic><sub>F</sub> &#x0003C; 0, thus penalizing this Fourier mode. We compute the minimum-energy control, i.e., the control with the smallest possible <italic>F</italic><sub>E</sub> by varying <italic>w</italic><sub>F</sub> (see Section 2.4).</p>
<p><xref ref-type="fig" rid="F6">Figure 6</xref> shows the OC and the corresponding activities of the excitatory and inhibitory populations for the two control tasks. We observe that the state switch is successful for both tasks and that the control signal exhibits a short pulse close to the end of the control interval. The control input is approximately equally strong for both tasks (see <xref ref-type="fig" rid="F6">Figure 6</xref> for numerical values). For the oscillations-to-up task, <italic>F</italic><sub>E</sub> differs by less than 2% when we vary the oscillation phase at which control is activated (results not shown).</p>
<fig id="F6" position="float">
<label>Figure 6</label>
<caption><p>OC to switch between the up state and the oscillatory state in the mean-field EIF model at point (C) (cf. <xref ref-type="fig" rid="F2">Figure 2B</xref>). The <bold>bottom</bold> row shows the computed OC, and the <bold>top</bold> row shows the resulting activity variables <italic>r</italic><sub><italic>E</italic></sub> and <italic>r</italic><sub><italic>I</italic></sub>, when this control is applied. The activity of and control inputs to the excitatory population are plotted in red, and the activity of the inhibitory population is plotted in blue. The control signals are shifted back in time by two periods (see Section 2.4), and the original control signal and the corresponding original activity are plotted as a dotted line. The shift improves the Fourier cost by 0.67% (<bold>left</bold>) and 99.36% (<bold>right</bold>). The Fourier cost <italic>F</italic><sub>F</sub> corresponding to the control shifted back in time (solid line) is provided in the top-left corner of the activity plots. The gray-shaded regions indicate the time intervals during which the control is not active (<italic>t</italic> &#x0003C; 100 ms and <italic>t</italic> &#x0003E; 500 ms) and inaccuracy is not penalized (<italic>t</italic> &#x0003C; 600 ms). The energy cost <italic>F</italic><sub>E</sub> is provided in the top-right corner of the control plots. The switch from the up state to the oscillatory state is shown on the left-hand side. Here, we initialize the system in the stationary up state and set the target frequency to <italic>f</italic><sub>C</sub>. The weight is initialized at <italic>w</italic><sub>F</sub> &#x0003D; 1, 000 and decreased to <italic>w</italic><sub>F</sub> &#x0003D; 0.0429 (cf. Section 2.4). The switch from the oscillatory state to the up state is shown on the right-hand side. Here, we initialize the system in the oscillatory state and suppress the frequency <italic>F</italic><sub>C</sub> with a negative weight initialized with <italic>w</italic><sub>F</sub> &#x0003D; &#x02212;1 and increased to <italic>w</italic><sub>F</sub> &#x0003D; &#x02212;0.0502 (cf. Section 2.4). For this task, we initially enable control for 400 &#x0003C; <italic>t</italic> &#x0003C; 500 and set the control interval as shown after a few iterations. Otherwise, we only find the local OC shown in the <xref ref-type="supplementary-material" rid="SM1">Supplementary Section 5</xref>.</p></caption>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="fncom-18-1483100-g0006.tif"/>
</fig>
</sec>
<sec>
<title>3.2.2 Switch between in-phase and out-of-phase oscillation</title>
<p>We consider a symmetric WC two-node network (coupling scheme sketched in <xref ref-type="fig" rid="F3">Figure 3A</xref>) at point (C) in state space (see <xref ref-type="fig" rid="F2">Figure 2A</xref>), where a stable IP oscillation coexists with a stable OOP oscillation. We first apply the OC algorithm using <inline-formula><mml:math id="M106"><mml:msubsup><mml:mrow><mml:mi>F</mml:mi></mml:mrow><mml:mrow><mml:mstyle class="text"><mml:mtext class="textrm" mathvariant="normal">F</mml:mtext></mml:mstyle></mml:mrow><mml:mrow><mml:mstyle class="text"><mml:mtext class="textrm" mathvariant="normal">sync</mml:mtext></mml:mstyle></mml:mrow></mml:msubsup></mml:math></inline-formula>, <italic>F</italic><sub>cc</sub>, and <italic>F</italic><sub>var</sub> to compute control signals to switch from OOP and IP. We set the target frequency to <inline-formula><mml:math id="M107"><mml:mover accent="true"><mml:mrow><mml:mi>f</mml:mi></mml:mrow><mml:mo>&#x0007E;</mml:mo></mml:mover><mml:mo>=</mml:mo><mml:msub><mml:mrow><mml:mi>f</mml:mi></mml:mrow><mml:mrow><mml:mstyle class="text"><mml:mtext class="textrm" mathvariant="normal">IP</mml:mtext></mml:mstyle></mml:mrow></mml:msub></mml:math></inline-formula> for the synchronization Fourier cost. We then use <inline-formula><mml:math id="M108"><mml:msubsup><mml:mrow><mml:mi>F</mml:mi></mml:mrow><mml:mrow><mml:mstyle class="text"><mml:mtext class="textrm" mathvariant="normal">F</mml:mtext></mml:mstyle></mml:mrow><mml:mrow><mml:mstyle class="text"><mml:mtext class="textrm" mathvariant="normal">osc</mml:mtext></mml:mstyle></mml:mrow></mml:msubsup></mml:math></inline-formula>, <italic>F</italic><sub>cc</sub>, and <italic>F</italic><sub>var</sub> to switch from IP to OOP. We set the target frequency to <inline-formula><mml:math id="M109"><mml:mover accent="true"><mml:mrow><mml:mi>f</mml:mi></mml:mrow><mml:mo>&#x0007E;</mml:mo></mml:mover><mml:mo>=</mml:mo><mml:msub><mml:mrow><mml:mi>f</mml:mi></mml:mrow><mml:mrow><mml:mstyle class="text"><mml:mtext class="textrm" mathvariant="normal">OOP</mml:mtext></mml:mstyle></mml:mrow></mml:msub></mml:math></inline-formula> for the oscillation Fourier cost, and chose negative weights <italic>w</italic><sub>cc</sub>, <italic>w</italic><sub>var</sub> &#x0003C; 0 for cross-correlation and variance cost to penalize synchrony. We compute the minimum-energy control, i.e., the control with the smallest possible <italic>F</italic><sub>E</sub>, by varying <italic>w</italic><sub>F</sub> (see Section 2.4). We find that all cost functionals produce the same OC in this limit.</p>
<p><xref ref-type="fig" rid="F7">Figure 7</xref> shows the results. For the switch from IP to OOP, the total required energy input <italic>F</italic><sub>E</sub> is less than half as strong as for the switch from OOP to IP (see <xref ref-type="fig" rid="F7">Figure 7</xref> for numerical values). Similarly as in Section 3.2.1, control costs differ only marginally when varying the oscillation phase at which control is activated (results not shown).</p>
<fig id="F7" position="float">
<label>Figure 7</label>
<caption><p>OC switches between in-phase (IP) and out-of-phase (OOP) oscillations in the two-node WC network at point (C) (cf. <xref ref-type="fig" rid="F2">Figure 2A</xref>). We use <inline-formula><mml:math id="M110"><mml:msubsup><mml:mrow><mml:mi>F</mml:mi></mml:mrow><mml:mrow><mml:mstyle class="text"><mml:mtext class="textrm" mathvariant="normal">F</mml:mtext></mml:mstyle></mml:mrow><mml:mrow><mml:mstyle class="text"><mml:mtext class="textrm" mathvariant="normal">sync</mml:mtext></mml:mstyle></mml:mrow></mml:msubsup></mml:math></inline-formula>, <italic>F</italic><sub>cc</sub>, and <italic>F</italic><sub>var</sub> for OOP &#x02192; IP and <inline-formula><mml:math id="M111"><mml:msubsup><mml:mrow><mml:mi>F</mml:mi></mml:mrow><mml:mrow><mml:mstyle class="text"><mml:mtext class="textrm" mathvariant="normal">F</mml:mtext></mml:mstyle></mml:mrow><mml:mrow><mml:mstyle class="text"><mml:mtext class="textrm" mathvariant="normal">osc</mml:mtext></mml:mstyle></mml:mrow></mml:msubsup></mml:math></inline-formula>, <italic>F</italic><sub>cc</sub>, and <italic>F</italic><sub>var</sub> for IP &#x02192; OOP. For any of the cost functionals, the same OC is obtained in the minimum-energy limit. The <bold>bottom</bold> row shows the computed OC, and the <bold>top</bold> row shows the resulting excitatory activity. Excitatory activity of and control inputs to node 0 (node 1) are plotted in solid red (dotted black). The control signals are shifted back in time by two periods (see Section 2.4). Control is enabled between 50 and 350 (disabled in the gray-shaded regions in the control plots), Fourier, cross-correlation, or variance costs are evaluated between 200 and 600 (ignored in the gray-shaded region in the activity plots). The switch from OOP to IP is shown on the left-hand side, and the switch from IP to OOP is shown on the right-hand side. The energy cost <italic>F</italic><sub>E</sub> is provided in the top-left corner of the control plots. For the OOP-to-IP switch, the weights are initialized as <inline-formula><mml:math id="M112"><mml:msubsup><mml:mrow><mml:mi>w</mml:mi></mml:mrow><mml:mrow><mml:mstyle class="text"><mml:mtext class="textrm" mathvariant="normal">F</mml:mtext></mml:mstyle></mml:mrow><mml:mrow><mml:mstyle class="text"><mml:mtext class="textrm" mathvariant="normal">sync</mml:mtext></mml:mstyle></mml:mrow></mml:msubsup><mml:mo>=</mml:mo><mml:mn>4000</mml:mn></mml:math></inline-formula>, <italic>w</italic><sub>cc</sub> &#x0003D; 250, and <italic>w</italic><sub>var</sub> &#x0003D; 30000 and are dynamically reduced to <inline-formula><mml:math id="M113"><mml:msubsup><mml:mrow><mml:mi>w</mml:mi></mml:mrow><mml:mrow><mml:mstyle class="text"><mml:mtext class="textrm" mathvariant="normal">F</mml:mtext></mml:mstyle></mml:mrow><mml:mrow><mml:mstyle class="text"><mml:mtext class="textrm" mathvariant="normal">sync</mml:mtext></mml:mstyle></mml:mrow></mml:msubsup><mml:mo>=</mml:mo><mml:mn>17</mml:mn><mml:mo>.</mml:mo><mml:mn>01</mml:mn></mml:math></inline-formula>, <italic>w</italic><sub>cc</sub> &#x0003D; 0.8361, and <italic>w</italic><sub>var</sub> &#x0003D; 12.47. For the IP-to-OOP switch, the weights are initialized as <inline-formula><mml:math id="M114"><mml:msubsup><mml:mrow><mml:mi>w</mml:mi></mml:mrow><mml:mrow><mml:mstyle class="text"><mml:mtext class="textrm" mathvariant="normal">F</mml:mtext></mml:mstyle></mml:mrow><mml:mrow><mml:mstyle class="text"><mml:mtext class="textrm" mathvariant="normal">osc</mml:mtext></mml:mstyle></mml:mrow></mml:msubsup><mml:mo>=</mml:mo><mml:mn>2000</mml:mn></mml:math></inline-formula>, <italic>w</italic><sub>cc</sub> &#x0003D; &#x02212;500, and <italic>w</italic><sub>var</sub> &#x0003D; &#x02212;1000 and are dynamically adjusted to <inline-formula><mml:math id="M115"><mml:msubsup><mml:mrow><mml:mi>w</mml:mi></mml:mrow><mml:mrow><mml:mstyle class="text"><mml:mtext class="textrm" mathvariant="normal">F</mml:mtext></mml:mstyle></mml:mrow><mml:mrow><mml:mstyle class="text"><mml:mtext class="textrm" mathvariant="normal">osc</mml:mtext></mml:mstyle></mml:mrow></mml:msubsup><mml:mo>=</mml:mo><mml:mn>7</mml:mn><mml:mo>.</mml:mo><mml:mn>284</mml:mn></mml:math></inline-formula>, <italic>w</italic><sub>cc</sub> &#x0003D; &#x02212;2.260, and <italic>w</italic><sub>var</sub> &#x0003D; &#x02212;3.979.</p></caption>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="fncom-18-1483100-g0007.tif"/>
</fig>
</sec>
</sec>
<sec>
<title>3.3 (De-) Synchronization of oscillating networks</title>
<p>To study how networks can be synchronized or desynchronized, we consider a six-node WC network (coupling scheme sketched in <xref ref-type="fig" rid="F3">Figure 3B</xref>), for which we find a state of asynchronous oscillation at point (D) and a state of synchronous oscillation at point (E) in state space (see <xref ref-type="fig" rid="F2">Figure 2A</xref>). We apply <inline-formula><mml:math id="M116"><mml:msubsup><mml:mrow><mml:mi>F</mml:mi></mml:mrow><mml:mrow><mml:mstyle class="text"><mml:mtext class="textrm" mathvariant="normal">F</mml:mtext></mml:mstyle></mml:mrow><mml:mrow><mml:mstyle class="text"><mml:mtext class="textrm" mathvariant="normal">sync</mml:mtext></mml:mstyle></mml:mrow></mml:msubsup></mml:math></inline-formula>, <italic>F</italic><sub>cc</sub>, and <italic>F</italic><sub>var</sub> with <inline-formula><mml:math id="M117"><mml:msubsup><mml:mrow><mml:mi>w</mml:mi></mml:mrow><mml:mrow><mml:mstyle class="text"><mml:mtext class="textrm" mathvariant="normal">F</mml:mtext></mml:mstyle></mml:mrow><mml:mrow><mml:mstyle class="text"><mml:mtext class="textrm" mathvariant="normal">sync</mml:mtext></mml:mstyle></mml:mrow></mml:msubsup><mml:mo>,</mml:mo><mml:msub><mml:mrow><mml:mi>w</mml:mi></mml:mrow><mml:mrow><mml:mstyle class="text"><mml:mtext class="textrm" mathvariant="normal">cc</mml:mtext></mml:mstyle></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mrow><mml:mi>w</mml:mi></mml:mrow><mml:mrow><mml:mstyle class="text"><mml:mtext class="textrm" mathvariant="normal">var</mml:mtext></mml:mstyle></mml:mrow></mml:msub><mml:mo>&#x0003E;</mml:mo><mml:mn>0</mml:mn></mml:math></inline-formula> to compute the OC to synchronize (at point (D)). To desynchronize (at point (E)) the activity of the network, we set <inline-formula><mml:math id="M118"><mml:msubsup><mml:mrow><mml:mi>w</mml:mi></mml:mrow><mml:mrow><mml:mstyle class="text"><mml:mtext class="textrm" mathvariant="normal">F</mml:mtext></mml:mstyle></mml:mrow><mml:mrow><mml:mstyle class="text"><mml:mtext class="textrm" mathvariant="normal">sync</mml:mtext></mml:mstyle></mml:mrow></mml:msubsup><mml:mo>,</mml:mo><mml:msub><mml:mrow><mml:mi>w</mml:mi></mml:mrow><mml:mrow><mml:mstyle class="text"><mml:mtext class="textrm" mathvariant="normal">cc</mml:mtext></mml:mstyle></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mrow><mml:mi>w</mml:mi></mml:mrow><mml:mrow><mml:mstyle class="text"><mml:mtext class="textrm" mathvariant="normal">var</mml:mtext></mml:mstyle></mml:mrow></mml:msub><mml:mo>&#x0003C;</mml:mo><mml:mn>0</mml:mn></mml:math></inline-formula>. We evaluate the Fourier spectrum of the network activity and use its peak frequency as <inline-formula><mml:math id="M119"><mml:mover accent="true"><mml:mrow><mml:mi>f</mml:mi></mml:mrow><mml:mo>&#x0007E;</mml:mo></mml:mover></mml:math></inline-formula> for the Fourier cost.</p>
<p>The results are shown in <xref ref-type="fig" rid="F8">Figure 8</xref>. We observe that, while all three cost functionals succeed to synchronize the network at point (D), neither the synchronization Fourier cost nor the variance cost can drive the system into an asynchronous state, even though numerically, the cost contributions <inline-formula><mml:math id="M120"><mml:msubsup><mml:mrow><mml:mi>F</mml:mi></mml:mrow><mml:mrow><mml:mstyle class="text"><mml:mtext class="textrm" mathvariant="normal">F</mml:mtext></mml:mstyle></mml:mrow><mml:mrow><mml:mstyle class="text"><mml:mtext class="textrm" mathvariant="normal">sync</mml:mtext></mml:mstyle></mml:mrow></mml:msubsup></mml:math></inline-formula> and <italic>F</italic><sub>var</sub> lead to considerably smaller total costs. For the Fourier-controlled scenario, we analyze the spectrum of the controlled activity and find that the control slightly increases the frequency. Hence, the Fourier component of the original target frequency drops almost to zero. For the variance-controlled scenario, the control shifts the phases slightly, such that the activity of each node deviates from the network mean, while increasing the oscillation amplitude, such that the difference between node activity and mean increases. This results in a considerable increase in <italic>F</italic><sub>var</sub>.</p>
<fig id="F8" position="float">
<label>Figure 8</label>
<caption><p>OC to enforce synchrony (<bold>left</bold>, point (D)) or asynchrony (<bold>right</bold>, point (E)) in a six-node WC network. The six colors represent one network node each. The <bold>top</bold> row shows the uncontrolled excitatory activity. Row three (five, seven) shows the computed OC, when the Fourier cost (cross-correlation cost, variance cost) is applied, and row two (four, six) the resulting excitatory activity, if this control is applied. The gray-shaded regions indicate the time intervals during which control is not active and inaccuracy is not penalized (<italic>t</italic> &#x0003C; 100 and <italic>t</italic> &#x0003E; 600). The energy costs <italic>F</italic><sub>E</sub> are provided in the top-left corners of the control plots. <inline-formula><mml:math id="M122"><mml:msubsup><mml:mrow><mml:mi>F</mml:mi></mml:mrow><mml:mrow><mml:mstyle class="text"><mml:mtext class="textrm" mathvariant="normal">F</mml:mtext></mml:mstyle></mml:mrow><mml:mrow><mml:mstyle class="text"><mml:mtext class="textrm" mathvariant="normal">sync</mml:mtext></mml:mstyle></mml:mrow></mml:msubsup></mml:math></inline-formula>, <italic>F</italic><sub>cc</sub>, and <italic>F</italic><sub>var</sub> are provided in the top-left corner of the activity plots. The weights are <inline-formula><mml:math id="M123"><mml:msubsup><mml:mrow><mml:mi>w</mml:mi></mml:mrow><mml:mrow><mml:mstyle class="text"><mml:mtext class="textrm" mathvariant="normal">F</mml:mtext></mml:mstyle></mml:mrow><mml:mrow><mml:mstyle class="text"><mml:mtext class="textrm" mathvariant="normal">sync</mml:mtext></mml:mstyle></mml:mrow></mml:msubsup><mml:mo>=</mml:mo><mml:mn>18600</mml:mn></mml:math></inline-formula>, <italic>w</italic><sub>cc</sub> &#x0003D; 4711, and <italic>w</italic><sub>var</sub> &#x0003D; 45000 (left) and <inline-formula><mml:math id="M124"><mml:msubsup><mml:mrow><mml:mi>w</mml:mi></mml:mrow><mml:mrow><mml:mstyle class="text"><mml:mtext class="textrm" mathvariant="normal">F</mml:mtext></mml:mstyle></mml:mrow><mml:mrow><mml:mstyle class="text"><mml:mtext class="textrm" mathvariant="normal">sync</mml:mtext></mml:mstyle></mml:mrow></mml:msubsup><mml:mo>=</mml:mo><mml:mn>1000</mml:mn></mml:math></inline-formula>, <italic>w</italic><sub>cc</sub> &#x0003D; 500, and <italic>w</italic><sub>var</sub> &#x0003D; 2000 (right).</p></caption>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="fncom-18-1483100-g0008.tif"/>
</fig>
<p>We compute the temporal mean of the Kuramoto order parameter (Acebr&#x000F3;n et al., <xref ref-type="bibr" rid="B1">2005</xref>) of the network activity to quantitatively compare the performance of the cost functionals (equations are provided in the <xref ref-type="supplementary-material" rid="SM1">Supplementary Section 6</xref>). The Kuramoto order parameter ranges from 0 (no synchronization) to 1 (full synchronization). The numerical values are provided in <xref ref-type="table" rid="T3">Table 3</xref>. All cost functionals succeed to improve the Kuramoto order parameter compared to the uncontrolled activity. In agreement with our observations from the activity plots (see <xref ref-type="fig" rid="F8">Figure 8</xref>), the Fourier cost performs worst, and the cross-correlation cost performs best in terms of increasing (synchronization task) or decreasing (desynchronization task) the Kuramoto order parameter.</p>
<table-wrap position="float" id="T3">
<label>Table 3</label>
<caption><p>Temporal mean Kuramoto order parameter for the uncontrolled and controlled network activity for the control tasks shown in <xref ref-type="fig" rid="F8">Figure 8</xref>.</p></caption>
<table frame="box" rules="all">
<thead>
<tr style="background-color:#919498;color:#ffffff">
<th valign="top" align="left"><bold>Cost functional</bold></th>
<th valign="top" align="center"><bold>Synchronization task</bold></th>
<th valign="top" align="center"><bold>Desynchronization task</bold></th>
</tr>
</thead>
<tbody>
<tr>
<td valign="top" align="left">uncontrolled</td>
<td valign="top" align="center">0.32</td>
<td valign="top" align="center">0.81</td>
</tr>
<tr>
<td valign="top" align="left"><inline-formula><mml:math id="M121"><mml:msubsup><mml:mrow><mml:mi>F</mml:mi></mml:mrow><mml:mrow><mml:mstyle class="text"><mml:mtext class="textrm" mathvariant="normal">F</mml:mtext></mml:mstyle></mml:mrow><mml:mrow><mml:mstyle class="text"><mml:mtext class="textrm" mathvariant="normal">sync</mml:mtext></mml:mstyle></mml:mrow></mml:msubsup></mml:math></inline-formula></td>
<td valign="top" align="center">0.63</td>
<td valign="top" align="center">0.73</td>
</tr>
<tr>
<td valign="top" align="left"><italic>F</italic><sub>cc</sub></td>
<td valign="top" align="center">0.99</td>
<td valign="top" align="center">0.33</td>
</tr>
<tr>
<td valign="top" align="left"><italic>F</italic><sub>var</sub></td>
<td valign="top" align="center">0.94</td>
<td valign="top" align="center">0.47</td>
</tr></tbody>
</table>
<table-wrap-foot>
<p>The values were computed for the period during which the control was active.</p>
</table-wrap-foot>
</table-wrap>
</sec>
</sec>
<sec sec-type="discussion" id="s4">
<title>4 Discussion</title>
<p>We introduce novel cost functionals that enable to use OCT to induce oscillations or synchrony in non-linear dynamical systems without specifying a reference trajectory. We apply the cost functionals <italic>F</italic><sub>F</sub>, <italic>F</italic><sub>cc</sub>, and <italic>F</italic><sub>var</sub>, to two models of neural population dynamics to study different control tasks. We first enforce oscillations from stationary states using <italic>F</italic><sub>F</sub> (see Section 3.1) and observe that OC signals drive oscillations at the given target frequency for all investigated paradigms but that the shapes of the control signals are not transferable across models. Next, we study how one can switch between stable states using <italic>F</italic><sub>F</sub>, <italic>F</italic><sub>cc</sub>, and <italic>F</italic><sub>var</sub> (see Section 3.2). First, we show that applying <italic>F</italic><sub>F</sub>, one obtains OC signals that switch between a stable up state and a stable oscillatory state in a single-node mean-field EIF system (see Section 3.2.1). Second, we show that all three cost functionals can produce control signals that switch between stable states of IP and OOP oscillations in a two-node WC network. We observe that all cost functionals lead to the same OC in the minimum-energy limit. Moreover, we use the cost functionals <italic>F</italic><sub>F</sub>, <italic>F</italic><sub>cc</sub>, and <italic>F</italic><sub>var</sub>, to (de-) synchronize larger WC networks (see Section 3.3). We study an asynchronously oscillating six-node WC network and try to synchronize its activity using <italic>F</italic><sub>F</sub>, <italic>F</italic><sub>cc</sub>, and <italic>F</italic><sub>var</sub> and obtain effective control signals for all cost functionals. Finally, we study a synchronously oscillating six-node WC network and try to desynchronize its activity. Here, only the cross-correlation cost functional creates a control signal that effectively desynchronizes the network activity. Both Fourier and variance costs improve numerically, but do so by either shifting the oscillation frequency or by increasing the oscillation amplitude. In summary, we find that the Fourier cost is well suited to drive oscillations at a certain frequency. For the state-switching tasks, all three cost functionals produce satisfactory results. The same holds true for the synchronization tasks in the six-node network. For the desynchronization task, only the cross-correlation cost performs well.</p>
<p>Our results prove that the suggested methods enable to include oscillatory phenomena into the framework of non-linear OCT beyond (de-) synchronization of coupled phase oscillators. However, the list of cost functionals provided in this study is not exhaustive. In particular, we have evaluated further cost functionals within the framework of the adjoint method and observed inferior performances for at least one control task. A list of these discarded cost functionals is given in the <xref ref-type="supplementary-material" rid="SM1">Supplementary Section 7</xref>. In addition, we do not present a one-size-fits-all solution but a toolbox of methods. Depending on the control task, one needs to chose adequately from this toolbox, and one might have to make educated guesses for initializations, and on the optimization schedule (i.e., weight choices and changes, changes of the control interval or measurement interval, or shifts of the control signals). We hope that the presented examples help to pick appropriately from the toolbox and tailor the choice for the respective task. Future research may evaluate the applicability of our suggested cost functionals in other optimization schemes.</p>
<p>Physical neural systems are often noisy. This property is not covered here; however, the adjoint method of OCT can be extended to enable the computation of OC in noisy systems (see, e.g., Chouzouris et al., <xref ref-type="bibr" rid="B8">2021</xref>). In this case, the cost functional is defined as the expected value,</p>
<disp-formula id="E18"><label>(18)</label><mml:math id="M125"><mml:mtable class="eqnarray" columnalign="left"><mml:mtr><mml:mtd><mml:mi>F</mml:mi><mml:mo>&#x02192;</mml:mo><mml:mstyle mathvariant="double-struck"><mml:mi>E</mml:mi></mml:mstyle><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>F</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mo>=</mml:mo><mml:mstyle displaystyle="true"><mml:munder class="msub"><mml:mrow><mml:mo class="qopname">lim</mml:mo></mml:mrow><mml:mrow><mml:mi>M</mml:mi><mml:mo>&#x02192;</mml:mo><mml:mi>&#x0221E;</mml:mi></mml:mrow></mml:munder></mml:mstyle><mml:mfrac><mml:mrow><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mi>M</mml:mi></mml:mrow></mml:mfrac><mml:mstyle displaystyle="true"><mml:munderover accentunder="false" accent="false"><mml:mrow><mml:mo>&#x02211;</mml:mo></mml:mrow><mml:mrow><mml:mi>m</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mi>M</mml:mi></mml:mrow></mml:munderover></mml:mstyle><mml:mi>F</mml:mi><mml:mo>.</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
<p>In numerical computations, the expected value is replaced by the mean value over a reasonably large number of realizations <italic>M</italic>,</p>
<disp-formula id="E19"><label>(19)</label><mml:math id="M126"><mml:mtable class="eqnarray" columnalign="left"><mml:mtr><mml:mtd><mml:mstyle mathvariant="double-struck"><mml:mi>E</mml:mi></mml:mstyle><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>F</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mo>&#x02248;</mml:mo><mml:mfrac><mml:mrow><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mi>M</mml:mi></mml:mrow></mml:mfrac><mml:mstyle displaystyle="true"><mml:munderover accentunder="false" accent="false"><mml:mrow><mml:mo>&#x02211;</mml:mo></mml:mrow><mml:mrow><mml:mi>m</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mi>M</mml:mi></mml:mrow></mml:munderover></mml:mstyle><mml:mi>F</mml:mi><mml:mo>,</mml:mo><mml:mtext>&#x000A0;&#x000A0;&#x000A0;&#x000A0;</mml:mtext><mml:mi>M</mml:mi><mml:mo>&#x02208;</mml:mo><mml:mi>&#x02115;</mml:mi><mml:mo>,</mml:mo><mml:mi>M</mml:mi><mml:mo>&#x0003C;</mml:mo><mml:mi>&#x0221E;</mml:mi><mml:mo>.</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
<p>This affects the computation of the adjoint state and the gradient. Preliminary studies suggest that reliable results can be obtained for the presented cost functionals also in noisy systems. The OC framework available within <monospace>neurolib</monospace> (Cakan et al., <xref ref-type="bibr" rid="B5">2023</xref>) includes modules for OC computations in a noisy environment.</p>
<p>One apparent limitation of the presented Fourier cost method is that it requires to define a target oscillation frequency. Otherwise, the Fourier cost can neither drive oscillations nor synchronize a system. However, as peaks in Fourier spectra are the broader, the shorter the simulation duration (see Section 2.4), the requirement for a very precise determination of a target frequency becomes less strict. To drive synchronization, this limitation can be overcome by using other cost functionals.</p>
<p>Furthermore, the presented cross-correlation and variance costs do only enable phase synchrony but not frequency synchrony with two or more network nodes oscillating with fixed phase shifts. The oscillation Fourier cost <inline-formula><mml:math id="M127"><mml:msubsup><mml:mrow><mml:mi>F</mml:mi></mml:mrow><mml:mrow><mml:mstyle class="text"><mml:mtext class="textrm" mathvariant="normal">F</mml:mtext></mml:mstyle></mml:mrow><mml:mrow><mml:mstyle class="text"><mml:mtext class="textrm" mathvariant="normal">osc</mml:mtext></mml:mstyle></mml:mrow></mml:msubsup></mml:math></inline-formula> is partially able to capture such cases as it can induce phase-locked oscillations in a network.</p>
<p>The presented methods could improve our understanding of the internal communication of neural circuits and offer new approaches to design brain stimulation protocols. Natural selection led to energy efficiency in neural communication (Quintela-L&#x000F3;pez et al., <xref ref-type="bibr" rid="B24">2022</xref>), and optimality principles enforced by OCT result in biologically plausible communication strategies. Hence, theoretical studies could enable conclusions on, for example, the role of single populations in controlling oscillatory patterns in the brain. Our framework might also enter research on neurological diseases in which synchrony and asynchrony play crucial roles (see, e.g., Jiruska et al., <xref ref-type="bibr" rid="B12">2012</xref>; Sobayo et al., <xref ref-type="bibr" rid="B28">2020</xref>; Uhlhaas and Singer, <xref ref-type="bibr" rid="B32">2010</xref>; Nimmrich et al., <xref ref-type="bibr" rid="B19">2015</xref>). OCT might improve therapeutic brain stimulation, as specific oscillatory brain dynamics can be targeted optimally, simultaneously reducing unintended side effects.</p>
</sec>
</body>
<back>
<sec sec-type="data-availability" id="s5">
<title>Data availability statement</title>
<p>The datasets presented in this study can be found in online repositories. The names of the repository/repositories and accession number(s) can be found below: <ext-link ext-link-type="uri" xlink:href="https://github.com/lenasal/neurolib/tree/OC_osc_sync">https://github.com/lenasal/neurolib/tree/OC_osc_sync</ext-link>.</p>
</sec>
<sec sec-type="author-contributions" id="s6">
<title>Author contributions</title>
<p>LS: Validation, Conceptualization, Writing &#x02013; review &#x00026; editing, Writing &#x02013; original draft, Software, Methodology, Investigation, Data curation. KO: Writing &#x02013; review &#x00026; editing, Supervision, Funding acquisition, Conceptualization.</p>
</sec>
<sec sec-type="funding-information" id="s7">
<title>Funding</title>
<p>The author(s) declare financial support was received for the research, authorship, and/or publication of this article. This work was supported by the DFG (German Research Foundation) via the Individual Research Grant OB 102/31.</p>
</sec>
<ack><p>We would like to thank our colleagues from the Neural Information Processing Group for the valuable exchange and fruitful discussions during this project.</p>
</ack>
<sec sec-type="COI-statement" id="conf1">
<title>Conflict of interest</title>
<p>The authors declare that the research was conducted in the absence of any commercial or financial relationships that could be construed as a potential conflict of interest.</p>
</sec>
<sec sec-type="disclaimer" id="s8">
<title>Publisher&#x00027;s note</title>
<p>All claims expressed in this article are solely those of the authors and do not necessarily represent those of their affiliated organizations, or those of the publisher, the editors and the reviewers. Any product that may be evaluated in this article, or claim that may be made by its manufacturer, is not guaranteed or endorsed by the publisher.</p>
</sec>
<sec sec-type="supplementary-material" id="s9">
<title>Supplementary material</title>
<p>The Supplementary Material for this article can be found online at: <ext-link ext-link-type="uri" xlink:href="https://www.frontiersin.org/articles/10.3389/fncom.2024.1483100/full#supplementary-material">https://www.frontiersin.org/articles/10.3389/fncom.2024.1483100/full#supplementary-material</ext-link></p>
<supplementary-material xlink:href="Data_Sheet_1.PDF" id="SM1" mimetype="application/pdf" xmlns:xlink="http://www.w3.org/1999/xlink"/></sec>
<fn-group>
<fn id="fn0001"><p><sup>1</sup>If network nodes oscillate entirely anti-phase, the Fourier components cancel out, and an increase in power will not improve the synchronization Fourier cost.</p></fn>
</fn-group>
<ref-list>
<title>References</title>
<ref id="B1">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Acebr&#x000F3;n</surname> <given-names>J. A.</given-names></name> <name><surname>Bonilla</surname> <given-names>L. L.</given-names></name> <name><surname>P&#x000E9;rez Vicente</surname> <given-names>C. J.</given-names></name> <name><surname>Ritort</surname> <given-names>F.</given-names></name> <name><surname>Spigler</surname> <given-names>R.</given-names></name></person-group> (<year>2005</year>). <article-title>The Kuramoto model: a simple paradigm for synchronization phenomena</article-title>. <source>Rev. Mod. Phys</source>. <volume>77</volume>:<fpage>137</fpage>&#x02013;<lpage>185</lpage>. <pub-id pub-id-type="doi">10.1103/RevModPhys.77.137</pub-id><pub-id pub-id-type="pmid">32872818</pub-id></citation></ref>
<ref id="B2">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Augustin</surname> <given-names>M.</given-names></name> <name><surname>Ladenbauer</surname> <given-names>J.</given-names></name> <name><surname>Baumann</surname> <given-names>F.</given-names></name> <name><surname>Obermayer</surname> <given-names>K.</given-names></name></person-group> (<year>2017</year>). <article-title>Low-dimensional spike rate models derived from networks of adaptive integrate-and-fire neurons: comparison and implementation</article-title>. <source>PLoS Comput. Biol</source>. <volume>13</volume>, <fpage>1</fpage>&#x02013;<lpage>46</lpage>. <pub-id pub-id-type="doi">10.1371/journal.pcbi.1005545</pub-id><pub-id pub-id-type="pmid">28644841</pub-id></citation></ref>
<ref id="B3">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Bomela</surname> <given-names>W.</given-names></name> <name><surname>Singhal</surname> <given-names>B.</given-names></name> <name><surname>Li</surname> <given-names>J.</given-names></name></person-group> (<year>2023</year>). <article-title>Engineering spatiotemporal patterns: information encoding, processing, and controllability in oscillator ensembles</article-title>. <source>Biomed. Phys. Eng. Express</source> <volume>9</volume>:<fpage>045033</fpage>. <pub-id pub-id-type="doi">10.1088/2057-1976/ace0c9</pub-id><pub-id pub-id-type="pmid">37348467</pub-id></citation></ref>
<ref id="B4">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Brette</surname> <given-names>R.</given-names></name> <name><surname>Gerstner</surname> <given-names>W.</given-names></name></person-group> (<year>2005</year>). <article-title>Adaptive exponential integrate-and-fire model as an effective description of neuronal activity</article-title>. <source>J. Neurophysiol</source>. <volume>94</volume>, <fpage>3637</fpage>&#x02013;<lpage>3642</lpage>. <pub-id pub-id-type="doi">10.1152/jn.00686.2005</pub-id><pub-id pub-id-type="pmid">16014787</pub-id></citation></ref>
<ref id="B5">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Cakan</surname> <given-names>C.</given-names></name> <name><surname>Jajcay</surname> <given-names>N.</given-names></name> <name><surname>Obermayer</surname> <given-names>K.</given-names></name></person-group> (<year>2023</year>). <article-title>neurolib: a simulation framework for whole-brain neural mass modeling</article-title>. <source>Cogn Comput</source> <volume>15</volume>:<fpage>9</fpage>. <pub-id pub-id-type="doi">10.1007/s12559-021-09931-9</pub-id></citation>
</ref>
<ref id="B6">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Cakan</surname> <given-names>C.</given-names></name> <name><surname>Obermayer</surname> <given-names>K.</given-names></name></person-group> (<year>2020</year>). <article-title>Biophysically grounded mean-field models of neural populations under electrical stimulation</article-title>. <source>PLoS Comput. Biol</source>. <volume>16</volume>, <fpage>1</fpage>&#x02013;<lpage>30</lpage>. <pub-id pub-id-type="doi">10.1371/journal.pcbi.1007822</pub-id><pub-id pub-id-type="pmid">32324734</pub-id></citation></ref>
<ref id="B7">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Chandrabhatla</surname> <given-names>A. S.</given-names></name> <name><surname>Pomeraniec</surname> <given-names>I. J.</given-names></name> <name><surname>Horgan</surname> <given-names>T. M.</given-names></name> <name><surname>Wat</surname> <given-names>E. K.</given-names></name> <name><surname>Ksendzovsky</surname> <given-names>A.</given-names></name></person-group> (<year>2023</year>). <article-title>Landscape and future directions of machine learning applications in closed-loop brain stimulation</article-title>. <source>NPJ Digit Med</source>. <volume>6</volume>:<fpage>79</fpage>. <pub-id pub-id-type="doi">10.1038/s41746-023-00779-x</pub-id><pub-id pub-id-type="pmid">37106034</pub-id></citation></ref>
<ref id="B8">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Chouzouris</surname> <given-names>T.</given-names></name> <name><surname>Roth</surname> <given-names>N.</given-names></name> <name><surname>Cakan</surname> <given-names>C.</given-names></name> <name><surname>Obermayer</surname> <given-names>K.</given-names></name></person-group> (<year>2021</year>). <article-title>Applications of optimal nonlinear control to a whole-brain network of FitzHugh-Nagumo oscillators</article-title>. <source>Phys. Rev. E</source>. <volume>104</volume>:<fpage>024213</fpage>. <pub-id pub-id-type="doi">10.1103/PhysRevE.104.024213</pub-id><pub-id pub-id-type="pmid">34525550</pub-id></citation></ref>
<ref id="B9">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Dasanayake</surname> <given-names>I.</given-names></name> <name><surname>Li</surname> <given-names>J.-S.</given-names></name></person-group> (<year>2011</year>). <article-title>Optimal design of minimum-power stimuli for phase models of neuron oscillators</article-title>. <source>Phys. Rev. E</source>. <volume>83</volume>:<fpage>061916</fpage>. <pub-id pub-id-type="doi">10.1103/PhysRevE.83.061916</pub-id><pub-id pub-id-type="pmid">21797412</pub-id></citation></ref>
<ref id="B10">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Grosenick</surname> <given-names>L.</given-names></name> <name><surname>Marshel</surname> <given-names>J. H.</given-names></name> <name><surname>Deisseroth</surname> <given-names>K.</given-names></name></person-group> (<year>2015</year>). <article-title>Closed-loop and activity-guided optogenetic control</article-title>. <source>Neuron</source> <volume>86</volume>:<fpage>106</fpage>&#x02013;<lpage>139</lpage>. <pub-id pub-id-type="doi">10.1016/j.neuron.2015.03.034</pub-id><pub-id pub-id-type="pmid">25856490</pub-id></citation></ref>
<ref id="B11">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>H&#x000F6;vel</surname> <given-names>P.</given-names></name> <name><surname>Dahlem</surname> <given-names>M.</given-names></name> <name><surname>Sch&#x000F6;ll</surname> <given-names>E.</given-names></name></person-group> (<year>2010</year>). <article-title>Control of synchronization in coupled neural systems by time-delayed feedback</article-title>. <source>Int. J. Bifurcat. Chaos</source> 20. <pub-id pub-id-type="doi">10.1142/S0218127410026101</pub-id></citation>
</ref>
<ref id="B12">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Jiruska</surname> <given-names>P.</given-names></name> <name><surname>de Curtis</surname> <given-names>M.</given-names></name> <name><surname>Jefferys</surname> <given-names>J.</given-names></name> <name><surname>Schevon</surname> <given-names>C.</given-names></name> <name><surname>Schiff</surname> <given-names>S.</given-names></name> <name><surname>Schindler</surname> <given-names>K.</given-names></name></person-group> (<year>2012</year>). <article-title>Synchronization and desynchronization in epilepsy: controversies and hypotheses</article-title>. <source>J. Physiol</source>. 591. <pub-id pub-id-type="doi">10.1113/jphysiol.2012.239590</pub-id><pub-id pub-id-type="pmid">23184516</pub-id></citation></ref>
<ref id="B13">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Kao</surname> <given-names>T.-C.</given-names></name> <name><surname>Hennequin</surname> <given-names>G.</given-names></name></person-group> (<year>2019</year>). <article-title>Neuroscience out of control: control-theoretic perspectives on neural circuit dynamics</article-title>. <source>Curr. Opin. Neurobiol</source>. <volume>58</volume>, <fpage>122</fpage>&#x02013;<lpage>129</lpage>. <pub-id pub-id-type="doi">10.1016/j.conb.2019.09.001</pub-id><pub-id pub-id-type="pmid">31563084</pub-id></citation></ref>
<ref id="B14">
<citation citation-type="book"><person-group person-group-type="author"><name><surname>Kirk</surname> <given-names>D.</given-names></name></person-group> (<year>2004</year>). <source>Optimal Control Theory: An Introduction. Dover Books on Electrical Engineering</source>. <publisher-loc>New York</publisher-loc>: <publisher-name>Dover Publications</publisher-name>.</citation>
</ref>
<ref id="B15">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Koryakovskiy</surname> <given-names>I.</given-names></name> <name><surname>Kudruss</surname> <given-names>M.</given-names></name> <name><surname>Babuka</surname> <given-names>R.</given-names></name> <name><surname>Caarls</surname> <given-names>W.</given-names></name> <name><surname>Kirches</surname> <given-names>C.</given-names></name> <name><surname>Mombaur</surname> <given-names>K.</given-names></name> <etal/></person-group>. (<year>2017</year>). <article-title>Benchmarking model-free and model-based optimal control</article-title>. <source>Rob. Auton. Syst</source>. <volume>92</volume>, <fpage>81</fpage>&#x02013;<lpage>90</lpage>. <pub-id pub-id-type="doi">10.1016/j.robot.2017.02.006</pub-id><pub-id pub-id-type="pmid">34398780</pub-id></citation></ref>
<ref id="B16">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Krylov</surname> <given-names>D.</given-names></name> <name><surname>Dylov</surname> <given-names>D. V.</given-names></name> <name><surname>Rosenblum</surname> <given-names>M.</given-names></name></person-group> (<year>2020</year>). <article-title>Reinforcement learning for suppression of collective activity in oscillatory ensembles</article-title>. <source>Chaos</source> <volume>30</volume>:<fpage>033126</fpage>. <pub-id pub-id-type="doi">10.1063/1.5128909</pub-id><pub-id pub-id-type="pmid">32237778</pub-id></citation></ref>
<ref id="B17">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Liu</surname> <given-names>A.</given-names></name> <name><surname>V&#x000F6;r&#x000F6;slakos</surname> <given-names>M.</given-names></name> <name><surname>Kronberg</surname> <given-names>G.</given-names></name> <name><surname>Henin</surname> <given-names>S.</given-names></name> <name><surname>Krause</surname> <given-names>M.</given-names></name> <name><surname>Huang</surname> <given-names>Y.</given-names></name> <etal/></person-group>. (<year>2018</year>). <article-title>Immediate neurophysiological effects of transcranial electrical stimulation</article-title>. <source>Nat. Commun</source>. <volume>9</volume>:<fpage>5092</fpage>. <pub-id pub-id-type="doi">10.1038/s41467-018-07233-7</pub-id><pub-id pub-id-type="pmid">30504921</pub-id></citation></ref>
<ref id="B18">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>McGowan</surname> <given-names>A. L.</given-names></name> <name><surname>Parkes</surname> <given-names>L.</given-names></name> <name><surname>He</surname> <given-names>X.</given-names></name> <name><surname>Stanoi</surname> <given-names>O.</given-names></name> <name><surname>Kang</surname> <given-names>Y.</given-names></name> <name><surname>Lomax</surname> <given-names>S.</given-names></name> <etal/></person-group>. (<year>2022</year>). <article-title>Controllability of structural brain networks and the waxing and waning of negative affect in daily life</article-title>. <source>Biol. Psychiatry</source> <volume>2</volume>, <fpage>432</fpage>&#x02013;<lpage>439</lpage>. <pub-id pub-id-type="doi">10.1016/j.bpsgos.2021.11.008</pub-id><pub-id pub-id-type="pmid">36324655</pub-id></citation></ref>
<ref id="B19">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Nimmrich</surname> <given-names>V.</given-names></name> <name><surname>Draguhn</surname> <given-names>A.</given-names></name> <name><surname>Axmacher</surname> <given-names>N.</given-names></name></person-group> (<year>2015</year>). <article-title>Neuronal network oscillations in neurodegenerative diseases</article-title>. <source>Neuromolecular Med</source>. <volume>17</volume>, <fpage>270</fpage>&#x02013;<lpage>284</lpage>. <pub-id pub-id-type="doi">10.1007/s12017-015-8355-9</pub-id><pub-id pub-id-type="pmid">25920466</pub-id></citation></ref>
<ref id="B20">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Park</surname> <given-names>S.-E.</given-names></name> <name><surname>Laxpati</surname> <given-names>N. G.</given-names></name> <name><surname>Gutekunst</surname> <given-names>C.-A.</given-names></name> <name><surname>Connolly</surname> <given-names>M. J.</given-names></name> <name><surname>Tung</surname> <given-names>J.</given-names></name> <name><surname>Berglund</surname> <given-names>K.</given-names></name> <etal/></person-group>. (<year>2019</year>). <article-title>A machine learning approach to characterize the modulation of the hippocampal rhythms via optogenetic stimulation of the medial septum</article-title>. <source>Int. J. Neural Syst</source>. <volume>29</volume>:<fpage>1950020</fpage>. <pub-id pub-id-type="doi">10.1142/S0129065719500205</pub-id><pub-id pub-id-type="pmid">31505977</pub-id></citation></ref>
<ref id="B21">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Pietras</surname> <given-names>B.</given-names></name> <name><surname>Daffertshofer</surname> <given-names>A.</given-names></name></person-group> (<year>2019</year>). <article-title>Network dynamics of coupled oscillators and phase reduction techniques</article-title>. <source>Phys. Reports</source> <volume>819</volume>, <fpage>1</fpage>&#x02013;<lpage>105</lpage>. <pub-id pub-id-type="doi">10.1016/j.physrep.2019.06.001</pub-id></citation>
</ref>
<ref id="B22">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Popovych</surname> <given-names>O. V.</given-names></name> <name><surname>Hauptmann</surname> <given-names>C.</given-names></name> <name><surname>Tass</surname> <given-names>P. A.</given-names></name></person-group> (<year>2006</year>). <article-title>Control of neuronal synchrony by nonlinear delayed feedback</article-title>. <source>Biol. Cybern</source>. <volume>95</volume>, <fpage>69</fpage>&#x02013;<lpage>85</lpage>. <pub-id pub-id-type="doi">10.1007/s00422-006-0066-8</pub-id><pub-id pub-id-type="pmid">16614837</pub-id></citation></ref>
<ref id="B23">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Pyragas</surname> <given-names>K.</given-names></name> <name><surname>Fedaravi&#x0010D;ius</surname> <given-names>A. P.</given-names></name> <name><surname>Pyragien&#x00117;</surname> <given-names>T.</given-names></name> <name><surname>Tass</surname> <given-names>P. A.</given-names></name></person-group> (<year>2020</year>). <article-title>Entrainment of a network of interacting neurons with minimum stimulating charge</article-title>. <source>Phys. Rev. E</source> <volume>102</volume>:<fpage>012221</fpage>. <pub-id pub-id-type="doi">10.1103/PhysRevE.102.012221</pub-id><pub-id pub-id-type="pmid">32795011</pub-id></citation></ref>
<ref id="B24">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Quintela-L&#x000F3;pez</surname> <given-names>T.</given-names></name> <name><surname>Shiina</surname> <given-names>H.</given-names></name> <name><surname>Attwell</surname> <given-names>D.</given-names></name></person-group> (<year>2022</year>). <article-title>Neuronal energy use and brain evolution</article-title>. <source>Curr. Biol</source>. <volume>32</volume>, <fpage>R650</fpage>&#x02013;<lpage>R655</lpage>. <pub-id pub-id-type="doi">10.1016/j.cub.2022.02.005</pub-id><pub-id pub-id-type="pmid">35728547</pub-id></citation></ref>
<ref id="B25">
<citation citation-type="book"><person-group person-group-type="author"><name><surname>Rao</surname> <given-names>A.</given-names></name></person-group> (<year>2010</year>). <article-title>&#x0201C;A survey of numerical methods for optimal control,&#x0201D;</article-title> in <source>Astrodynamics 2009: Proceedings of the AAS/AIAA Astrodynamics Specialist Conference Held August 9&#x02013;13 2009, Pittsburgh, Pennsylvania; Advances in the Astronautical Sciences 135</source> (<publisher-loc>San Diego, CA</publisher-loc>: <publisher-name>Published for the American Astronautical Society by Univelt</publisher-name>).</citation>
</ref>
<ref id="B26">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Salfenmoser</surname> <given-names>L.</given-names></name> <name><surname>Obermayer</surname> <given-names>K.</given-names></name></person-group> (<year>2022</year>). <article-title>Nonlinear optimal control of a mean-field model of neural population dynamics</article-title>. <source>Front. Comput. Neurosci</source>. <volume>16</volume>:<fpage>931121</fpage>. <pub-id pub-id-type="doi">10.3389/fncom.2022.931121</pub-id><pub-id pub-id-type="pmid">35990368</pub-id></citation></ref>
<ref id="B27">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Salfenmoser</surname> <given-names>L.</given-names></name> <name><surname>Obermayer</surname> <given-names>K.</given-names></name></person-group> (<year>2023</year>). <article-title>Optimal control of a Wilson Cowan model of neural population dynamics</article-title>. <source>Chaos</source> <volume>33</volume>:<fpage>043135</fpage>. <pub-id pub-id-type="doi">10.1063/5.0144682</pub-id><pub-id pub-id-type="pmid">37097962</pub-id></citation></ref>
<ref id="B28">
<citation citation-type="book"><person-group person-group-type="author"><name><surname>Sobayo</surname> <given-names>T.</given-names></name> <name><surname>Farahmand</surname> <given-names>S.</given-names></name> <name><surname>Mogul</surname> <given-names>D. J.</given-names></name></person-group> (<year>2020</year>). <source>Determining the Role of Synchrony Dynamics in Epileptic Brain Networks</source>. <publisher-loc>Singapore</publisher-loc>: <publisher-name>Springer Singapore</publisher-name>, <fpage>1</fpage>&#x02013;<lpage>28</lpage>.</citation>
</ref>
<ref id="B29">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Suppa</surname> <given-names>A.</given-names></name> <name><surname>Huang</surname> <given-names>Y.-Z.</given-names></name> <name><surname>Funke</surname> <given-names>K.</given-names></name> <name><surname>Ridding</surname> <given-names>M.</given-names></name> <name><surname>Cheeran</surname> <given-names>B.</given-names></name> <name><surname>Di Lazzaro</surname> <given-names>V.</given-names></name> <etal/></person-group>. (<year>2016</year>). <article-title>Ten years of theta burst stimulation in humans: established knowledge, unknowns and prospects</article-title>. <source>Brain Stimul</source>. <volume>9</volume>, <fpage>323</fpage>&#x02013;<lpage>335</lpage>. <pub-id pub-id-type="doi">10.1016/j.brs.2016.01.006</pub-id><pub-id pub-id-type="pmid">26947241</pub-id></citation></ref>
<ref id="B30">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Tafazoli</surname> <given-names>S.</given-names></name> <name><surname>MacDowell</surname> <given-names>C.</given-names></name> <name><surname>Che</surname> <given-names>Z.</given-names></name> <name><surname>Letai</surname> <given-names>K.</given-names></name> <name><surname>Steinhardt</surname> <given-names>C.</given-names></name> <name><surname>Buschman</surname> <given-names>T.</given-names></name></person-group> (<year>2020</year>). <article-title>Learning to control the brain through adaptive closed-loop patterned stimulation</article-title>. <source>J. Neural Eng</source>. <volume>17</volume>:<fpage>056007</fpage>. <pub-id pub-id-type="doi">10.1088/1741-2552/abb860</pub-id><pub-id pub-id-type="pmid">32927437</pub-id></citation></ref>
<ref id="B31">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Taher</surname> <given-names>H.</given-names></name> <name><surname>Olmi</surname> <given-names>S.</given-names></name> <name><surname>Sch&#x000F6;ll</surname> <given-names>E.</given-names></name></person-group> (<year>2019</year>). <article-title>Enhancing power grid synchronization and stability through time-delayed feedback control</article-title>. <source>Phys. Rev. E</source>. <volume>100</volume>:<fpage>062306</fpage>. <pub-id pub-id-type="doi">10.1103/PhysRevE.100.062306</pub-id><pub-id pub-id-type="pmid">31962463</pub-id></citation></ref>
<ref id="B32">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Uhlhaas</surname> <given-names>P.</given-names></name> <name><surname>Singer</surname> <given-names>W.</given-names></name></person-group> (<year>2010</year>). <article-title>Abnormal neural oscillations and synchrony in schizophrenia</article-title>. <source>Nat. Rev. Neurosci</source>. <volume>11</volume>:<fpage>100</fpage>&#x02013;<lpage>113</lpage>. <pub-id pub-id-type="doi">10.1038/nrn2774</pub-id><pub-id pub-id-type="pmid">20087360</pub-id></citation></ref>
<ref id="B33">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Vu</surname> <given-names>M.</given-names></name> <name><surname>Singhal</surname> <given-names>B.</given-names></name> <name><surname>Zeng</surname> <given-names>S.</given-names></name> <name><surname>Li</surname> <given-names>J.-S.</given-names></name></person-group> (<year>2024</year>). <article-title>Data-driven control of oscillator networks with population-level measurement</article-title>. <source>Chaos</source> <volume>34</volume>:<fpage>033138</fpage>. <pub-id pub-id-type="doi">10.1063/5.0191851</pub-id><pub-id pub-id-type="pmid">38526979</pub-id></citation></ref>
<ref id="B34">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Wilson</surname> <given-names>D.</given-names></name> <name><surname>Moehlis</surname> <given-names>J.</given-names></name></person-group> (<year>2014</year>). <article-title>Optimal chaotic desynchronization for neural populations</article-title>. <source>SIAM J. Appl. Dyn. Syst</source>. <volume>13</volume>, <fpage>276</fpage>&#x02013;<lpage>305</lpage>. <pub-id pub-id-type="doi">10.1137/120901702</pub-id></citation>
</ref>
<ref id="B35">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Wilson</surname> <given-names>H. R.</given-names></name> <name><surname>Cowan</surname> <given-names>J. D.</given-names></name></person-group> (<year>1972</year>). <article-title>Excitatory and inhibitory interactions in localized populations of model neurons</article-title>. <source>Biophys. J</source>. <volume>12</volume>, <fpage>1</fpage>&#x02013;<lpage>24</lpage>. <pub-id pub-id-type="doi">10.1016/S0006-3495(72)86068-5</pub-id><pub-id pub-id-type="pmid">4332108</pub-id></citation></ref>
<ref id="B36">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Wilson</surname> <given-names>H. R.</given-names></name> <name><surname>Cowan</surname> <given-names>J. D.</given-names></name></person-group> (<year>1973</year>). <article-title>A mathematical theory of the functional dynamics of cortical and thalamic nervous tissue</article-title>. <source>Kybernetik</source> <volume>13</volume>, <fpage>55</fpage>&#x02013;<lpage>80</lpage>. <pub-id pub-id-type="doi">10.1007/BF00288786</pub-id><pub-id pub-id-type="pmid">4767470</pub-id></citation></ref>
<ref id="B37">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Yu</surname> <given-names>Y.</given-names></name> <name><surname>Xiaomin</surname> <given-names>W.</given-names></name> <name><surname>Wang</surname> <given-names>Q.</given-names></name> <name><surname>Wang</surname> <given-names>Q.</given-names></name></person-group> (<year>2020</year>). <article-title>A review of computational modeling and deep brain stimulation: applications to Parkinson&#x00027;s disease</article-title>. <source>Appl. Math Mech</source>. <volume>41</volume>, <fpage>1747</fpage>&#x02013;<lpage>1768</lpage>. <pub-id pub-id-type="doi">10.1007/s10483-020-2689-9</pub-id><pub-id pub-id-type="pmid">33223591</pub-id></citation></ref>
<ref id="B38">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Zlotnik</surname> <given-names>A.</given-names></name> <name><surname>Li</surname> <given-names>J.-S.</given-names></name></person-group> (<year>2012</year>). <article-title>Optimal entrainment of neural oscillator ensembles</article-title>. <source>J. Neural Eng</source>. <volume>9</volume>:<fpage>046015</fpage>. <pub-id pub-id-type="doi">10.1088/1741-2560/9/4/046015</pub-id><pub-id pub-id-type="pmid">22791697</pub-id></citation></ref>
<ref id="B39">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Z&#x000F6;ller</surname> <given-names>D.</given-names></name> <name><surname>Sandini</surname> <given-names>C.</given-names></name> <name><surname>Schaer</surname> <given-names>M.</given-names></name> <name><surname>Eliez</surname> <given-names>S.</given-names></name> <name><surname>Bassett</surname> <given-names>D. S.</given-names></name> <name><surname>de Ville</surname> <given-names>D. V.</given-names></name></person-group> (<year>2021</year>). <article-title>Structural control energy of resting-state functional brain states reveals less cost effective brain dynamics in psychosis vulnerability</article-title>. <source>Hum. Brain Mapp</source>. <volume>42</volume>, <fpage>2181</fpage>&#x02013;<lpage>2200</lpage>. <pub-id pub-id-type="doi">10.1002/hbm.25358</pub-id><pub-id pub-id-type="pmid">33566395</pub-id></citation></ref>
</ref-list>
</back>
</article>