Class InverseGaussian

Inheritance Relationships

Base Type

Class Documentation

class InverseGaussian : public otyca::TimeChangeProcess

Public Functions

inline InverseGaussian()
inline InverseGaussian(double mu, double sigma)
inline virtual InverseGaussian *clone() const override

Clone the current TimeChangeProcess instance.

Returns:

A pointer to a newly allocated copy of the TimeChangeProcess object.

virtual arma::cx_mat laplace_transform(const arma::rowvec &t, const arma::cx_colvec &u, const arma::cx_colvec &psi) const override

Compute the Laplace transform of the process.

The Laplace transform is applied to the time vector, along with Complex-valued column vector of Fourier arguments (u) and the characteristic exponent (psi), to produce the characteristic function (phi).

Parameters:
  • t – The time vector for which the Laplace transform is computed.

  • u – Complex-valued column vector of Fourier arguments.

  • psi – The characteristic exponent.

Returns:

The resulting Laplace-transformed characteristic function.

virtual arma::cx_mat d_phi_d_psi(const arma::rowvec &t, const arma::cx_colvec &u, const arma::cx_colvec &psi) const override

Compute the derivative of the Laplace transform with respect to psi.

This method calculates the derivative of the characteristic function phi with respect to the characteristic exponent psi, and stores the result in d_phi_d_psi.

Parameters:
  • t – The time vector for which the Laplace transform is computed.

  • u – Complex-valued column vector of Fourier arguments.

  • psi – The characteristic exponent.

Returns:

The matrix to store the derivative of the Laplace transform with respect to psi.

virtual std::vector<arma::cx_mat> d_phi_d_p(const arma::rowvec &t, const arma::cx_colvec &u, const arma::cx_colvec &psi) const override

Compute the derivative of the Laplace transform with respect to parameters.

This method computes the derivative of the Laplace transform with respect to its parameters and stores the result in d_phi_d_params.

Parameters:
  • t – The time vector for which the Laplace transform is computed.

  • u – Complex-valued column vector of Fourier arguments.

  • psi – The characteristic exponent.

Returns:

The vector to store the derivatives with respect to parameters.

virtual void set_transformed_calibration_parameters(const std::vector<double>&)

set the transformed parameters for calibration.

Parameters:

transformed_calibration_parameters – the transformed calibration parameters

inline virtual void set_parameters(const std::vector<double> &parameters)

Set the model’s raw parameters.

Parameters:

parameters – A vector of new parameter values.

virtual std::vector<double> transformation_derivatives() const

Get derivatives of the transformation with respect to the raw parameters.

Used for Jacobian computation during calibration.

Returns:

A vector of derivatives (default: all 1).

virtual std::vector<double> get_transformed_calibration_parameters() const

get the transformed parameters for calibration.

Returns:

the transformed parameters for calibration

inline virtual std::vector<double> get_parameters() const

Get the model’s raw parameters.

Returns:

A vector containing the model’s parameters.

virtual std::vector<double> get_transformed_calibration_parameter_variances() const
inline virtual std::string name() const

Get the model’s name.

Returns:

A string representing the name of the model.

inline virtual std::vector<std::string> get_parameter_names() const

Get the names of the model parameters.

Default implementation assigns names as “p1”, “p2”, etc.

Returns:

A vector of parameter names.

inline double get_mu() const
inline void set_mu(double mu)
inline double get_sigma() const
inline void set_sigma(double sigma)