Sonin Kernel module#

Created on Mon Sep 2 13:56:04 2024

@author: ppranjiv

class sonin_kernel.sonin#

Bases: object

Sonine Kernels of power series type

k := h_{alpha} SUM a_n x^n and, kappa := h_{1-alpha} SUM b_n x^n, where, h_alpha = x^{alpha -1} / Gamma (alpha), Gamma is the Euler Gamma function

Reference#

Luchko, Y. (2021) General Fractional Integrals and Derivatives with the Sonine Kernels. Mathematics

get_kappa_coeff(alpha)#

Computes the coeffcient for the sonin kernel, kappa given, the coeffcients of kernel, k

Parameters#

aarray, float

coefficients of kernel, k

alphafloat

fractional order, 0 < alpha < 1

Returns#

barray, float

coefficients of kernel, kappa. same shape as k

Note#

It uses the relationship between a and b as,

a[0] b[0] = 1, for n = 1

SUM_k^n Gamma(k+1-alpha) Gamma(alpha + n -k) a[n-k] b[k] = 0, for n > 1

Reference#

Luchko, Y. (2021) General Fractional Integrals and Derivatives with the Sonine Kernels. Mathematics

verify_sonin(b1, k1, k2, alpha, degree)#
Verifies the sonin contdion, for a kernel

k = a1 x^{k1+alpha-1} / Gamma (alpha), kappa = b1 x^{k2-alpha} / Gamma (1-alpha)

Parameters#

a1float

coefficients of kernel, k

b1float

coefficients of kernel, kappa

k1int

parameter for power for kernel, k, which appears as x^{k1+alpha-1}

k2int

parameter for power for kernel, kappa, which appears as x^{k2-alpha}

alphafloat

fractional order, 0 < alpha < 1

degreeint

Gauss Jacobi Quadrature degree

Returns#

xarray, float

x in [0, 1], the points where sonin condition is verified

sonine: array, float

the values of convolution of (k * kappa)(x), at x

verify_condition(b, alpha, degree)#
Verifies the sonin contion, for a kernel

k = SUM_k^n a_k x^{k+alpha-1} / Gamma (alpha), kappa = SUM_n^n b_k x^{k2-alpha} / Gamma (1-alpha)

Parameters#

aarray, float

coefficients of kernel, k

barray, float

coefficients of kernel, kappa

alphafloat

fractional order, 0 < alpha < 1

degreeint

Gauss Jacobi Quadrature degree

Returns#

xarray, float

x in [0, 1], the points where sonin condition is verified

sonine: array, float

the values of convolution of (k * kappa)(x), at x

Note#

uses sonin.verify_sonin for computations

k_kernel(a, alpha)#
Constrctut the kernel a kernel, k

k = SUM _k1 a_k1 x^{k1+alpha-1} / Gamma (alpha),

Parameters#

xarray, float

x in [0, 1]

aarray, float

coefficients of kernel, k

alphafloat

fractional order, 0 < alpha < 1

Returns#

Px: array, float

Px is the sonin kernel, k

kappa_kernel(b, alpha)#
Constrctut the kernel a kernel, kappa

kappa = SUM_k2 b1_k2 x^{k2-alpha} / Gamma (1-alpha)

Parameters#

xarray, float

x in [0, 1]

barray, float

coefficients of kernel, kappa

alphafloat

fractional order, 0 < alpha < 1

Returns#

Px: array, float

Px is the sonin kernel, kappa

class sonin_kernel.test#

Bases: object

test_sonin(degree)#
plot_kernel()#