WKB Perturbation Object

WKB Perturbation Object — WKB Perturbation object

Properties

gpointer V Write / Construct Only
gpointer dmnuA-nuA Write / Construct Only
gpointer eom Write / Construct Only
GType * impl-type Write / Construct Only
gpointer nuA2 Write / Construct Only

Types and Values

Object Hierarchy

    GEnum
    ╰── NcHIPertWKBVars
    GObject
    ╰── NcHIPert
        ╰── NcHIPertWKB

Description

Generic implementation of WKB analysis.

Functions

NcHIPertWKBFunc ()

gdouble
(*NcHIPertWKBFunc) (GObject *obj,
                    gdouble alpha,
                    gdouble k);

NcHIPertWKBEom ()

void
(*NcHIPertWKBEom) (GObject *obj,
                   gdouble alpha,
                   gdouble k,
                   gdouble *nu2,
                   gdouble *m,
                   gdouble *dlnm);

nc_hipert_wkb_new ()

NcHIPertWKB *
nc_hipert_wkb_new (GType impl_type,
                   NcHIPertWKBFunc nuA2,
                   NcHIPertWKBFunc V,
                   NcHIPertWKBFunc dmnuA_nuA,
                   NcHIPertWKBEom eom);

Creates a new NcHIPertWKB object.

Parameters

impl_type

FIXME

 

nuA2

FIXME.

[scope notified]

V

FIXME.

[scope notified]

dmnuA_nuA

FIXME.

[scope notified]

eom

FIXME.

[scope notified]

Returns

a new NcHIPertWKB.

[transfer full]


nc_hipert_wkb_ref ()

NcHIPertWKB *
nc_hipert_wkb_ref (NcHIPertWKB *wkb);

Increases the reference count of wkb .

Parameters

wkb

a NcHIPertWKB.

 

Returns

wkb .

[transfer full]


nc_hipert_wkb_free ()

void
nc_hipert_wkb_free (NcHIPertWKB *wkb);

Decreases the reference count of wkb .

Parameters

wkb

a NcHIPertWKB.

 

nc_hipert_wkb_clear ()

void
nc_hipert_wkb_clear (NcHIPertWKB **wkb);

Decreases the reference count of *wkb and sets *wkb to NULL.

Parameters

wkb

a NcHIPertWKB.

 

nc_hipert_wkb_prepare ()

void
nc_hipert_wkb_prepare (NcHIPertWKB *wkb,
                       GObject *obj,
                       gdouble alpha_i,
                       gdouble alpha_f);

Prepare the object for WKB calculations using the implementation obj .

Parameters

wkb

a NcHIPertWKB.

 

obj

the WKB implementation.

 

alpha_i

initial log-redshift time.

 

alpha_f

final log-redshift time.

 

nc_hipert_wkb_prepare_exact ()

void
nc_hipert_wkb_prepare_exact (NcHIPertWKB *wkb,
                             GObject *obj,
                             gdouble alpha_i,
                             gdouble alpha_f);

Prepare the object for exact WKB calculations using the implementation obj . Instead of using the wkb approximation as in nc_hipert_wkb_prepare_wkb it solves the non-linear equation of motion for $\nu_A$.

Parameters

wkb

a NcHIPertWKB.

 

obj

the WKB implementation.

 

alpha_i

initial log-redshift time.

 

alpha_f

final log-redshift time.

 

nc_hipert_wkb_prepare_patched ()

void
nc_hipert_wkb_prepare_patched (NcHIPertWKB *wkb,
                               GObject *obj,
                               gdouble prec,
                               gdouble alpha_i,
                               gdouble alpha_f);

Prepare the object for exact WKB calculations using the implementation obj . Instead of using the wkb approximation as in nc_hipert_wkb_prepare_wkb it solves the non-linear equation of motion for $\nu_A$.

Parameters

wkb

a NcHIPertWKB.

 

obj

the WKB implementation.

 

prec

Required precision.

 

alpha_i

initial log-redshift time.

 

alpha_f

final log-redshift time.

 

nc_hipert_wkb_q ()

void
nc_hipert_wkb_q (NcHIPertWKB *wkb,
                 GObject *obj,
                 gdouble alpha,
                 gdouble *Re_q,
                 gdouble *Im_q);

Computes the WKB solution $q_\text{WKB}$ for the mode $k$ at the time $\alpha$.

Parameters

wkb

a NcHIPertWKB.

 

obj

the WKB implementation.

 

alpha

the log-redshift time.

 

Re_q

Real part of the wkb solution.

[out caller-allocates]

Im_q

Imaginary part of the wkb solution.

[out caller-allocates]

nc_hipert_wkb_q_p ()

void
nc_hipert_wkb_q_p (NcHIPertWKB *wkb,
                   GObject *obj,
                   gdouble alpha,
                   gdouble *Re_q,
                   gdouble *Im_q,
                   gdouble *Re_p,
                   gdouble *Im_p);

Computes the WKB solution $q_\text{WKB}$ and its momentum for the mode $k$ at the time $\alpha$.

Parameters

wkb

a NcHIPertWKB.

 

obj

the WKB implementation.

 

alpha

the log-redshift time.

 

Re_q

Real part of the wkb solution.

[out caller-allocates]

Im_q

Imaginary part of the wkb solution.

[out caller-allocates]

Re_p

Real part of the wkb solution momentum.

[out caller-allocates]

Im_p

Imaginary part of the wkb solution momentum.

[out caller-allocates]

nc_hipert_wkb_exact_q ()

void
nc_hipert_wkb_exact_q (NcHIPertWKB *wkb,
                       GObject *obj,
                       gdouble alpha,
                       gdouble *Re_q,
                       gdouble *Im_q);

Computes the solution $\q_\text{exact}$ for the mode $k$ at the time $\alpha$.

Parameters

wkb

a NcHIPertWKB.

 

obj

the WKB implementation.

 

alpha

the log-redshift time.

 

Re_q

Real part of the exact WKB solution.

[out caller-allocates]

Im_q

Imaginary part of the exact WKB solution.

[out caller-allocates]

nc_hipert_wkb_exact_q_p ()

void
nc_hipert_wkb_exact_q_p (NcHIPertWKB *wkb,
                         GObject *obj,
                         gdouble alpha,
                         gdouble *Re_q,
                         gdouble *Im_q,
                         gdouble *Re_p,
                         gdouble *Im_p);

Computes the exact WKB solution $\q_\text{exact}$ and its momentum for the mode $k$ at the time $\alpha$.

Parameters

wkb

a NcHIPertWKB.

 

obj

the WKB implementation.

 

alpha

the log-redshift time.

 

Re_q

Real part of the exact WKB solution.

[out caller-allocates]

Im_q

Imaginary part of the exact WKB solution.

[out caller-allocates]

Re_p

Real part of the exact WKB solution momentum.

[out caller-allocates]

Im_p

Imaginary part of the exact WKB solution momentum.

[out caller-allocates]

nc_hipert_wkb_patched_q ()

void
nc_hipert_wkb_patched_q (NcHIPertWKB *wkb,
                         GObject *obj,
                         gdouble alpha,
                         gdouble *Re_q,
                         gdouble *Im_q);

Computes the solution $\q_\text{exact}$ for the mode $k$ at the time $\alpha$.

Parameters

wkb

a NcHIPertWKB.

 

obj

the WKB implementation.

 

alpha

the log-redshift time.

 

Re_q

Real part of the patched solution.

[out caller-allocates]

Im_q

Imaginary part of the patched solution.

[out caller-allocates]

nc_hipert_wkb_patched_q_p ()

void
nc_hipert_wkb_patched_q_p (NcHIPertWKB *wkb,
                           GObject *obj,
                           gdouble alpha,
                           gdouble *Re_q,
                           gdouble *Im_q,
                           gdouble *Re_p,
                           gdouble *Im_p);

Computes the patched solution $\q_\text{exact}$ and its momentum for the mode $k$ at the time $\alpha$.

Parameters

wkb

a NcHIPertWKB.

 

obj

the WKB implementation.

 

alpha

the log-redshift time.

 

Re_q

Real part of the patched solution.

[out caller-allocates]

Im_q

Imaginary part of the patched solution.

[out caller-allocates]

Re_p

Real part of the patched solution momentum.

[out caller-allocates]

Im_p

Imaginary part of the patched solution momentum.

[out caller-allocates]

nc_hipert_wkb_nuA ()

gdouble
nc_hipert_wkb_nuA (NcHIPertWKB *wkb,
                   GObject *obj,
                   gdouble alpha);

FIXME

Parameters

wkb

a NcHIPertWKB.

 

obj

the WKB implementation.

 

alpha

the log-redshift time.

 

Returns

FIXME


nc_hipert_wkb_maxtime ()

gdouble
nc_hipert_wkb_maxtime (NcHIPertWKB *wkb,
                       GObject *obj,
                       gdouble alpha0,
                       gdouble alpha1);

Search for the root of $\nu_A^2$ between $\alpha_0$ and $\alpha_1$.

Parameters

wkb

a NcHIPertWKB.

 

obj

the WKB implementation.

 

alpha0

the initial log-redshift time.

 

alpha1

the final log-redshift time.

 

Returns

the root of $\nu_A^2$ between $\alpha_0$ and $\alpha_1$ or NaN if not found.


nc_hipert_wkb_maxtime_prec ()

gdouble
nc_hipert_wkb_maxtime_prec (NcHIPertWKB *wkb,
                            GObject *obj,
                            gdouble prec,
                            gdouble alpha0,
                            gdouble alpha1);

Search for the instant at which the WKB approximation starts to fails within the asked precision.

Parameters

wkb

a NcHIPertWKB.

 

obj

the WKB implementation.

 

prec

Required precision.

 

alpha0

the initial log-redshift time.

 

alpha1

the final log-redshift time.

 

Returns

the instant $\alpha$ between $\alpha_0$ and $\alpha_1$ or NaN if not found.

Types and Values

enum NcHIPertWKBVars

Perturbation variables enumerator.

Members

NC_HIPERT_WKB_RE_Q

$\text{Re}(q)$

 

NC_HIPERT_WKB_IM_Q

$\text{Im}(q)$

 

NC_HIPERT_WKB_RE_P

$\text{Re}(p)$

 

NC_HIPERT_WKB_IM_P

$\text{Im}(p)$

 

Property Details

The “V” property

  “V”                        gpointer

Potential.

Flags: Write / Construct Only


The “dmnuA-nuA” property

  “dmnuA-nuA”                gpointer

Flags: Write / Construct Only


The “eom” property

  “eom”                      gpointer

Equation of motion.

Flags: Write / Construct Only


The “impl-type” property

  “impl-type”                GType *

Implementation GType.

Flags: Write / Construct Only

Allowed values: void


The “nuA2” property

  “nuA2”                     gpointer

nu_A^2.

Flags: Write / Construct Only