Skip to main content
`Ctrl`+`K`

# ArcSine1D

class astropy.modeling.functional_models.ArcSine1D(*args, meta=None, name=None, **kwargs)

  Bases: `_InverseTrigonometric1D`

  One dimensional ArcSine model returning values between -pi/2 and pi/2 only.

  Parameters:
    amplitude `python:float`

      Oscillation amplitude for corresponding Sine

    frequency `python:float`

      Oscillation frequency for corresponding Sine

    phase `python:float`

      Oscillation phase for corresponding Sine

  Other Parameters:
    fixed `python:dict`, optional

      A dictionary `{parameter_name: boolean}` of parameters to not be varied during fitting. True means the parameter is held fixed. Alternatively the `fixed` property of a parameter may be used.

    tied `python:dict`, optional

      A dictionary `{parameter_name: callable}` of parameters which are linked to some other parameter. The dictionary values are callables providing the linking relationship. Alternatively the `tied` property of a parameter may be used.

    bounds `python:dict`, optional

      A dictionary `{parameter_name: value}` of lower and upper bounds of parameters. Keys are parameter names. Values are a list or a tuple of length 2 giving the desired range for the parameter. Alternatively, the `min` and `max` properties of a parameter may be used.

    eqcons `python:list`, optional

      A list of functions of length `n` such that `eqcons[j](x0,*args) == 0.0` in a successfully optimized problem.

    ineqcons `python:list`, optional

      A list of functions of length `n` such that `ieqcons[j](x0,*args) >= 0.0` is a successfully optimized problem.

  See also

  `Sine1D`, `ArcCosine1D`, `ArcTangent1D`

  Notes

  Model formula:

  > \[f(x) = ((arcsin(x / A) / 2pi) - p) / f\]

  The arcsin function being used for this model will only accept inputs in [-A, A]; otherwise, a runtime warning will be thrown and the result will be NaN. To avoid this, the bounding_box has been properly set to accommodate this; therefore, it is recommended that this model always be evaluated with the `with_bounding_box=True` option.

  Examples

      import numpy as np
      import matplotlib.pyplot as plt

      from astropy.modeling.models import ArcSine1D

      plt.figure()
      s1 = ArcSine1D(amplitude=1, frequency=.25)
      r=np.arange(-1, 1, .01)

      for amplitude in range(1,4):
           s1.amplitude = amplitude
           plt.plot(r, s1(r), color=str(0.25 * amplitude), lw=2)

      plt.axis([-1, 1, -np.pi/2, np.pi/2])
      plt.show()

  (`png`, `svg`, `pdf`)

  Methods Summary

  `evaluate`(x, amplitude, frequency, phase) | One dimensional ArcSine model function.
  `fit_deriv`(x, amplitude, frequency, phase) | One dimensional ArcSine model derivative.

  Methods Documentation

  static evaluate(x, amplitude, frequency, phase)

    One dimensional ArcSine model function.

  static fit_deriv(x, amplitude, frequency, phase)

    One dimensional ArcSine model derivative.