class_docstr: !
  @brief Model of oscillatory network that uses Landau-Stuart oscillator and Kuramoto model as a synchronization mechanism.
  @details Dynamic of each oscillator in the network is described by following differential Landau-Stuart equation with feedback:
  
  [
  \dot{z}_{i} = (i\omega_{i} + 
  ho^{2}_{i} - |z_{i}|^{2} )z_{i} + rac{1}{N}\sum_{j=0}^{N}k_{ij}(z_{j} - z_{i});
  ]
  
  Where left part of the equation is Landau-Stuart equation and the right is a Kuramoto model for synchronization.
  For solving this equation Runge-Kutta 4 method is used by default.
  
  Example:
  @code
      # Prepare oscillatory network parameters.
      amount_oscillators = 3;
      frequency = 1.0;
      radiuses = [1.0, 2.0, 3.0];
      coupling_strength = 1.0;
      
      # Create oscillatory network
      oscillatory_network = fsync_network(amount_oscillators, frequency, radiuses, coupling_strength);
      
      # Simulate network during 200 steps on 10 time-units of time-axis.
      output_dynamic = oscillatory_network.simulate(200, 10, True);    # True is to collect whole output dynamic.
      
      # Visualize output result
      fsync_visualizer.show_output_dynamic(output_dynamic);
  @endcode
  
  Example of output dynamic of the network:
  @image html fsync_sync_examples.png
class_docstr_tok: ["!","@","brief","Model","of","oscillatory","network","that","uses","Landau-Stuart","oscillator","and","Kuramoto","model","as","a","synchronization","mechanism",".","@","details","Dynamic","of","each","oscillator","in","the","network","is","described","by","following","differential","Landau-Stuart","equation","with","feedback",":","[","\\dot","{","z","}","_","{","i","}","=","(","i\\omega_","{","i","}","+","ho^","{","2","}","_","{","i","}","-","|z_","{","i","}","|^","{","2","}",")","z_","{","i","}","+","rac","{","1","}","{","N","}","\\sum_","{","j=0","}","^","{","N","}","k_","{","ij","}","(","z_","{","j","}","-","z_","{","i","}",")",";","]","Where","left","part","of","the","equation","is","Landau-Stuart","equation","and","the","right","is","a","Kuramoto","model","for","synchronization",".","For","solving","this","equation","Runge-Kutta","4","method","is","used","by","default",".","Example",":","@","code","#","Prepare","oscillatory","network","parameters",".","amount_oscillators","=","3",";","frequency","=","1.0",";","radiuses","=","[","1.0",",","2.0",",","3.0","]",";","coupling_strength","=","1.0",";","#","Create","oscillatory","network","oscillatory_network","=","fsync_network","(","amount_oscillators",",","frequency",",","radiuses",",","coupling_strength",")",";","#","Simulate","network","during","200","steps","on","10","time-units","of","time-axis",".","output_dynamic","=","oscillatory_network.simulate","(","200",",","10",",","True",")",";","#","True","is","to","collect","whole","output","dynamic",".","#","Visualize","output","result","fsync_visualizer.show_output_dynamic","(","output_dynamic",")",";","@","endcode","Example","of","output","dynamic","of","the","network",":","@","image","html","fsync_sync_examples.png"]
docstr: !
  @brief Returns new amplitude value for particular oscillator that is defined by index that is in 'argv' argument.
  @details The method is used for differential calculation.
  
  @param[in] amplitude (double): Current amplitude of oscillator.
  @param[in] t (double): Current time of simulation.
  @param[in] argv (uint): Index of the current oscillator.
  
  @return (double) New amplitude of the oscillator.
docstr_tok: ["!","@","brief","Returns","new","amplitude","value","for","particular","oscillator","that","is","defined","by","index","that","is","in","'argv","'","argument",".","@","details","The","method","is","used","for","differential","calculation",".","@","param","[","in","]","amplitude","(","double",")",":","Current","amplitude","of","oscillator",".","@","param","[","in","]","t","(","double",")",":","Current","time","of","simulation",".","@","param","[","in","]","argv","(","uint",")",":","Index","of","the","current","oscillator",".","@","return","(","double",")","New","amplitude","of","the","oscillator","."]
code: def __calculate_amplitude(self, amplitude, t, argv):
      """!
      @brief Returns new amplitude value for particular oscillator that is defined by index that is in 'argv' argument.
      @details The method is used for differential calculation.
  
      @param[in] amplitude (double): Current amplitude of oscillator.
      @param[in] t (double): Current time of simulation.
      @param[in] argv (uint): Index of the current oscillator.
  
      @return (double) New amplitude of the oscillator.
  
      """
  
      z = amplitude.view(numpy.complex)
      dzdt = self.__landau_stuart(
          z, argv
      ) + self.__synchronization_mechanism(z, argv)
  
      return dzdt.view(numpy.float64)
  
imports: import matplotlib.pyplot
  import numpy
  import random
  import pyclustering.utils
  from scipy.integrate import odeint
  from pyclustering.nnet import network, conn_type, conn_represent
label_desc: Use image node_id 7 for calling the fsync_network obj's underlying member method code with example usage: obj.__calculate_amplitude(amplitude, t, argv) and returns: dzdt