Class

NumCosmoMathSpline2d

Description [src]

abstract class NumCosmoMath.Spline2d : GObject.Object
{
  /* No available fields */
}

Base class for implementing bidimensional splines.

This class comprises all functions to provide a NcmSpline2d, get its properties and evaluate it given an interpolation method.

Ancestors

Functions

ncm_spline2d_clear

Atomically decrements the reference count of s2d by one. If the reference count drops to 0, all memory allocated by s2d is released. Set pointer to NULL.

Instance methods

ncm_spline2d_copy

This function copies the two NcmVector and the NcmMatrix of the bidimensional spline s2d into those two NcmVector and NcmMatrix of a new NcmSpline2d.

ncm_spline2d_copy_empty

This function copies the bidimensional spline s2d into an initialized empty NcmSpline2d of a specific type.

ncm_spline2d_deriv_d2zdx2
No description available.

ncm_spline2d_deriv_d2zdxy
No description available.

ncm_spline2d_deriv_d2zdy2
No description available.

ncm_spline2d_deriv_dzdx
No description available.

ncm_spline2d_deriv_dzdy
No description available.

ncm_spline2d_eval
No description available.

ncm_spline2d_eval_vec_y

Computes the interpolated values of a function computed at the point (x, y) for each element of y. The order of the indices of y is given by order.

ncm_spline2d_free

Atomically decrements the reference count of s2d by one. If the reference count drops to 0, all memory allocated by s2d is released.

ncm_spline2d_has_no_stride

Whether the NcmSpline2d has stride 1 in both knots vectors.

ncm_spline2d_integ_dx

This function computes the integration in x over the interval [xl, xu] and at y.

ncm_spline2d_integ_dx_spline

This function computes the integral in x of the bidimensional interpolated function over the range [xl, xu] resulting in a one dimensional function.

ncm_spline2d_integ_dx_spline_val

This function calls #ncm_spline2d_integ_dx_spline and evaluates the resulting NcmSpline at y.

ncm_spline2d_integ_dxdy

This function computes the integration in both x and y directions over the intervals [xl, xu] and [yl, yu].

ncm_spline2d_integ_dxdy_spline_x

This function calls #ncm_spline2d_integ_dx_spline and integrates the resulting NcmSpline over the interval [yl, yu].

ncm_spline2d_integ_dxdy_spline_y

This function calls #ncm_spline2d_integ_dy_spline and integrates the resulting NcmSpline over the interval [xl, xu].

ncm_spline2d_integ_dy

This function computes the integration in y over the interval [yl, yu] and at x.

ncm_spline2d_integ_dy_spline

This function computes the integral in y of the bidimensional interpolated function over the range [yl, yu] resulting in a one dimensional function.

ncm_spline2d_integ_dy_spline_val

This function calls #ncm_spline2d_integ_dy_spline and evaluates the resulting NcmSpline at x.

ncm_spline2d_is_init

Whether the NcmSpline2d is initialized.

ncm_spline2dim_integ_total
No description available.

ncm_spline2d_min_size
No description available.

ncm_spline2d_new

This function returns a new NcmSpline2d, where the knots of this new spline are given in the NcmVector xv and yv. The values of the function, at those knots, to be interpolated are given in the NcmMatrix zm.

ncm_spline2d_peek_acc_x

Get the #gsl_interp_accel of the NcmSpline2d in the x-direction. This method is intended for internal use only.

ncm_spline2d_peek_acc_y

Get the #gsl_interp_accel of the NcmSpline2d in the y-direction. This method is intended for internal use only.

ncm_spline2d_peek_spline

Get the NcmSpline of the NcmSpline2d. This method is intended for internal use only.

ncm_spline2d_peek_xv

Get the NcmVector of knots in the x-direction. This method is intended for internal use only.

ncm_spline2d_peek_yv

Get the NcmVector of knots in the y-direction. This method is intended for internal use only.

ncm_spline2d_peek_zm

Get the NcmMatrix of the values of the function, to be interpolated, computed at the knots. This method is intended for internal use only.

ncm_spline2d_prepare

This function prepares the bi-dimensional spline s2d such that one can evaluate it (#ncm_spline2d_eval), as well as to compute its integration in x, y or both directions.

ncm_spline2d_ref

Atomically increases the reference count of s2d by one.

ncm_spline2d_set

This funtion sets xv and yv vectors and zm matrix to s2d.

ncm_spline2d_set_function

This function automatically determines the knots of s2d in the intervals [xl, xu] and [yl, yu] given a ftype and rel_error.

ncm_spline2d_set_init

Whether to mark the NcmSpline2d as initialized. This method is intended for internal use only.

ncm_spline2d_use_acc

Whether to use accelerated bsearch to find the right knots. When enabled evaluation functions are not reentrant.

ncm_spline2d_using_acc

Whether the NcmSpline2d is using accelerated bsearch to find the right knots.

Methods inherited from GObject (43)

Please see GObject for a full list of methods.

Properties

NumCosmoMath.Spline2d:init

Boolean whether to prepare the NcmSpline2d.

NumCosmoMath.Spline2d:spline

NcmSpline object used internally.

NumCosmoMath.Spline2d:use-acc
No description available.

NumCosmoMath.Spline2d:x-vector
No description available.

NumCosmoMath.Spline2d:y-vector
No description available.

NumCosmoMath.Spline2d:z-matrix
No description available.

Signals

Signals inherited from GObject (1)
GObject::notify

The notify signal is emitted on an object when one of its properties has its value set through g_object_set_property(), g_object_set(), et al.

Class structure

struct NumCosmoMathSpline2dClass {
  NcmSpline2d* (* copy_empty) (
    const NcmSpline2d* s2d
  );
  void (* reset) (
    NcmSpline2d* s2d
  );
  void (* prepare) (
    NcmSpline2d* s2d
  );
  gdouble (* eval) (
    NcmSpline2d* s2d,
    gdouble x,
    gdouble y
  );
  gdouble (* dzdx) (
    NcmSpline2d* s2d,
    gdouble x,
    gdouble y
  );
  gdouble (* dzdy) (
    NcmSpline2d* s2d,
    gdouble x,
    gdouble y
  );
  gdouble (* d2zdxy) (
    NcmSpline2d* s2d,
    gdouble x,
    gdouble y
  );
  gdouble (* d2zdx2) (
    NcmSpline2d* s2d,
    gdouble x,
    gdouble y
  );
  gdouble (* d2zdy2) (
    NcmSpline2d* s2d,
    gdouble x,
    gdouble y
  );
  gdouble (* int_dx) (
    NcmSpline2d* s2d,
    gdouble xl,
    gdouble xu,
    gdouble y
  );
  gdouble (* int_dy) (
    NcmSpline2d* s2d,
    gdouble x,
    gdouble yl,
    gdouble yu
  );
  gdouble (* int_dxdy) (
    NcmSpline2d* s2d,
    gdouble xl,
    gdouble xu,
    gdouble yl,
    gdouble yu
  );
  NcmSpline* (* int_dx_spline) (
    NcmSpline2d* s2d,
    gdouble xl,
    gdouble xu
  );
  NcmSpline* (* int_dy_spline) (
    NcmSpline2d* s2d,
    gdouble yl,
    gdouble yu
  );
  void (* eval_vec_y) (
    NcmSpline2d* s2d,
    gdouble x,
    const NcmVector* y,
    GArray* order,
    GArray* res
  );
  
}

No description available.

Class members
copy_empty: NcmSpline2d* (* copy_empty) ( const NcmSpline2d* s2d )

No description available.

reset: void (* reset) ( NcmSpline2d* s2d )

No description available.

prepare: void (* prepare) ( NcmSpline2d* s2d )

No description available.

eval: gdouble (* eval) ( NcmSpline2d* s2d, gdouble x, gdouble y )

No description available.

dzdx: gdouble (* dzdx) ( NcmSpline2d* s2d, gdouble x, gdouble y )

No description available.

dzdy: gdouble (* dzdy) ( NcmSpline2d* s2d, gdouble x, gdouble y )

No description available.

d2zdxy: gdouble (* d2zdxy) ( NcmSpline2d* s2d, gdouble x, gdouble y )

No description available.

d2zdx2: gdouble (* d2zdx2) ( NcmSpline2d* s2d, gdouble x, gdouble y )

No description available.

d2zdy2: gdouble (* d2zdy2) ( NcmSpline2d* s2d, gdouble x, gdouble y )

No description available.

int_dx: gdouble (* int_dx) ( NcmSpline2d* s2d, gdouble xl, gdouble xu, gdouble y )

No description available.

int_dy: gdouble (* int_dy) ( NcmSpline2d* s2d, gdouble x, gdouble yl, gdouble yu )

No description available.

int_dxdy: gdouble (* int_dxdy) ( NcmSpline2d* s2d, gdouble xl, gdouble xu, gdouble yl, gdouble yu )

No description available.

int_dx_spline: NcmSpline* (* int_dx_spline) ( NcmSpline2d* s2d, gdouble xl, gdouble xu )

No description available.

int_dy_spline: NcmSpline* (* int_dy_spline) ( NcmSpline2d* s2d, gdouble yl, gdouble yu )

No description available.

eval_vec_y: void (* eval_vec_y) ( NcmSpline2d* s2d, gdouble x, const NcmVector* y, GArray* order, GArray* res )

No description available.

Virtual methods

NumCosmoMath.Spline2dClass.copy_empty

This function copies the bidimensional spline s2d into an initialized empty NcmSpline2d of a specific type.

NumCosmoMath.Spline2dClass.d2zdx2
No description available.

NumCosmoMath.Spline2dClass.d2zdxy
No description available.

NumCosmoMath.Spline2dClass.d2zdy2
No description available.

NumCosmoMath.Spline2dClass.dzdx
No description available.

NumCosmoMath.Spline2dClass.dzdy
No description available.

NumCosmoMath.Spline2dClass.eval
No description available.

NumCosmoMath.Spline2dClass.eval_vec_y

Computes the interpolated values of a function computed at the point (x, y) for each element of y. The order of the indices of y is given by order.

NumCosmoMath.Spline2dClass.int_dx

This function computes the integration in x over the interval [xl, xu] and at y.

NumCosmoMath.Spline2dClass.int_dx_spline
No description available.

NumCosmoMath.Spline2dClass.int_dxdy

This function computes the integration in both x and y directions over the intervals [xl, xu] and [yl, yu].

NumCosmoMath.Spline2dClass.int_dy

This function computes the integration in y over the interval [yl, yu] and at x.

NumCosmoMath.Spline2dClass.int_dy_spline
No description available.

NumCosmoMath.Spline2dClass.prepare

This function prepares the bi-dimensional spline s2d such that one can evaluate it (#ncm_spline2d_eval), as well as to compute its integration in x, y or both directions.

NumCosmoMath.Spline2dClass.reset
No description available.