class_docstr: This is a simple transverse sine wave travelling in a one-dimensional space.
  Basic properties are required at the time of creation of the object,
  but they can be changed later with respective methods provided.
  
  Explanation
  ===========
  
  It is represented as :math:`A \times cos(k*x - \omega \times t + \phi )`,
  where :math:`A` is the amplitude, :math:`\omega` is the angular frequency,
  :math:`k` is the wavenumber (spatial frequency), :math:`x` is a spatial variable
  to represent the position on the dimension on which the wave propagates,
  and :math:`\phi` is the phase angle of the wave.
  
  
  Arguments
  =========
  
  amplitude : Sympifyable
      Amplitude of the wave.
  frequency : Sympifyable
      Frequency of the wave.
  phase : Sympifyable
      Phase angle of the wave.
  time_period : Sympifyable
      Time period of the wave.
  n : Sympifyable
      Refractive index of the medium.
  
  Raises
  =======
  
  ValueError : When neither frequency nor time period is provided
      or they are not consistent.
  TypeError : When anything other than TWave objects is added.
  
  
  Examples
  ========
  
  >>> from sympy import symbols
  >>> from sympy.physics.optics import TWave
  >>> A1, phi1, A2, phi2, f = symbols('A1, phi1, A2, phi2, f')
  >>> w1 = TWave(A1, f, phi1)
  >>> w2 = TWave(A2, f, phi2)
  >>> w3 = w1 + w2  # Superposition of two waves
  >>> w3
  TWave(sqrt(A1**2 + 2*A1*A2*cos(phi1 - phi2) + A2**2), f,
      atan2(A1*sin(phi1) + A2*sin(phi2), A1*cos(phi1) + A2*cos(phi2)), 1/f, n)
  >>> w3.amplitude
  sqrt(A1**2 + 2*A1*A2*cos(phi1 - phi2) + A2**2)
  >>> w3.phase
  atan2(A1*sin(phi1) + A2*sin(phi2), A1*cos(phi1) + A2*cos(phi2))
  >>> w3.speed
  299792458*meter/(second*n)
  >>> w3.angular_velocity
  2*pi*f
class_docstr_tok: ["This","is","a","simple","transverse","sine","wave","travelling","in","a","one-dimensional","space",".","Basic","properties","are","required","at","the","time","of","creation","of","the","object",",","but","they","can","be","changed","later","with","respective","methods","provided",".","Explanation","===========","It","is","represented","as",":","math",":","`","A","\\times","cos","(","k","*","x","-","\\omega","\\times","t","+","\\phi",")","`",",","where",":","math",":","`","A","`","is","the","amplitude",",",":","math",":","`","\\omega","`","is","the","angular","frequency",",",":","math",":","`","k","`","is","the","wavenumber","(","spatial","frequency",")",",",":","math",":","`","x","`","is","a","spatial","variable","to","represent","the","position","on","the","dimension","on","which","the","wave","propagates",",","and",":","math",":","`","\\phi","`","is","the","phase","angle","of","the","wave",".","Arguments","=========","amplitude",":","Sympifyable","Amplitude","of","the","wave",".","frequency",":","Sympifyable","Frequency","of","the","wave",".","phase",":","Sympifyable","Phase","angle","of","the","wave",".","time_period",":","Sympifyable","Time","period","of","the","wave",".","n",":","Sympifyable","Refractive","index","of","the","medium",".","Raises","=======","ValueError",":","When","neither","frequency","nor","time","period","is","provided","or","they","are","not","consistent",".","TypeError",":","When","anything","other","than","TWave","objects","is","added",".","Examples","========",">",">",">","from","sympy","import","symbols",">",">",">","from","sympy.physics.optics","import","TWave",">",">",">","A1",",","phi1",",","A2",",","phi2",",","f","=","symbols","(","'A1",",","phi1",",","A2",",","phi2",",","f","'",")",">",">",">","w1","=","TWave","(","A1",",","f",",","phi1",")",">",">",">","w2","=","TWave","(","A2",",","f",",","phi2",")",">",">",">","w3","=","w1","+","w2","#","Superposition","of","two","waves",">",">",">","w3","TWave","(","sqrt","(","A1","*","*","2","+","2","*","A1","*","A2","*","cos","(","phi1","-","phi2",")","+","A2","*","*","2",")",",","f",",","atan2","(","A1","*","sin","(","phi1",")","+","A2","*","sin","(","phi2",")",",","A1","*","cos","(","phi1",")","+","A2","*","cos","(","phi2",")",")",",","1\/f",",","n",")",">",">",">","w3.amplitude","sqrt","(","A1","*","*","2","+","2","*","A1","*","A2","*","cos","(","phi1","-","phi2",")","+","A2","*","*","2",")",">",">",">","w3.phase","atan2","(","A1","*","sin","(","phi1",")","+","A2","*","sin","(","phi2",")",",","A1","*","cos","(","phi1",")","+","A2","*","cos","(","phi2",")",")",">",">",">","w3.speed","299792458","*","meter\/","(","second","*","n",")",">",">",">","w3.angular_velocity","2","*","pi","*","f"]
code: def _eval_rewrite_as_exp(self, *args, **kwargs):
      return self.amplitude * exp(
          I
          * (
              self.wavenumber * Symbol("x")
              - self.angular_velocity * Symbol("t")
              + self.phase
          )
      )
  
imports: from sympy.core.basic import Basic
  from sympy.core.expr import Expr
  from sympy.core.function import Derivative, Function
  from sympy.core.numbers import Number, pi, I
  from sympy.core.singleton import S
  from sympy.core.symbol import Symbol, symbols
  from sympy.core.sympify import _sympify, sympify
  from sympy.functions.elementary.exponential import exp
  from sympy.functions.elementary.miscellaneous import sqrt
  from sympy.functions.elementary.trigonometric import atan2, cos, sin
  from sympy.physics.units import speed_of_light, meter, second
label_desc: Use image node_id 22 for calling the TWave obj's underlying member method code with example usage: obj._eval_rewrite_as_exp() and returns: unknown