tchebychev Module

Routines to subtract a least square polynomial from a surface


Uses

  • module~~tchebychev~~UsesGraph module~tchebychev tchebychev module~data_arch data_arch module~tchebychev->module~data_arch module~least_squares least_squares module~tchebychev->module~least_squares module~miscellaneous miscellaneous module~tchebychev->module~miscellaneous iso_fortran_env iso_fortran_env module~data_arch->iso_fortran_env module~least_squares->module~data_arch module~cholesky cholesky module~least_squares->module~cholesky module~miscellaneous->module~data_arch module~cholesky->module~data_arch

Used by

  • module~~tchebychev~~UsedByGraph module~tchebychev tchebychev program~test_tchebychev test_tchebychev program~test_tchebychev->module~tchebychev

Functions

public function tcheby(n, x)

Valeur en x du polynôme de Tchebichev de degré n

Read more…

Arguments

Type IntentOptional Attributes Name
integer(kind=I4), intent(in) :: n

degré du polynôme

real(kind=R8), intent(in) :: x

variable

Return Value real(kind=R8)


Subroutines

public subroutine coeff_poly_tcheby_xy_vers_poly_monome(var, coeff_m, deg_x, deg_y)

Transformation d’une CL de produits de polynômes de Tchebychev en x et y en polynôme classique

Arguments

Type IntentOptional Attributes Name
real(kind=R8), intent(in), dimension(1:(deg_x+1)*(deg_y+1)) :: var

coefficients du produits de polynômes de Tchebychev

real(kind=R8), intent(out), dimension(1:(deg_x+1)*(deg_y+1)) :: coeff_m

coefficients du polynôme classique en x et y

integer(kind=I4), intent(in) :: deg_x

degré du polynôme en x

integer(kind=I4), intent(in) :: deg_y

degré du polynôme en y

public subroutine coeff_tcheby_vers_monome(coeff_t, coeff_m, deg)

Transformation des coefficients de Tchebychev en coefficients de monômes

Read more…

Arguments

Type IntentOptional Attributes Name
real(kind=R8), intent(in), dimension(0:deg) :: coeff_t

coefficients de la CL de polynômes de Tchebychev

real(kind=R8), intent(out), dimension(0:deg) :: coeff_m

coefficients de la CL de monômes

integer(kind=I4), intent(in) :: deg

degré du polynôme

public subroutine coeff_tcheby_xy_vers_monome(tab_coeff_m, deg_x, deg_y)

Transformation du produit de Tchebychev en coefficients de monômes

Arguments

Type IntentOptional Attributes Name
real(kind=R8), intent(out), dimension(0:deg_x, 0:deg_y) :: tab_coeff_m

*coefficients de la CL de monômes

integer(kind=I4), intent(in) :: deg_x

*degré du polynôme en

integer(kind=I4), intent(in) :: deg_y

*degré du polynôme en

public subroutine least_squares_tcheby(tab_in, tab_out, long1, long2, nvarx, nvary, imask, verif, multi_thread)

Resulting polynomial surface, determined by linear least squares

Arguments

Type IntentOptional Attributes Name
real(kind=R8), intent(in), dimension(1:long1, 1:long2) :: tab_in

surface dont on a fait une approximation qui lui est soustraite

real(kind=R8), intent(out), dimension(1:long1, 1:long2) :: tab_out

tableau résultant : surface

integer(kind=I4), intent(in) :: long1

taille x

integer(kind=I4), intent(in) :: long2

taille y

integer(kind=I4), intent(in) :: nvarx

degré du polynôme en x

integer(kind=I4), intent(in) :: nvary

degré du polynôme en y

integer(kind=I4), intent(in), optional, dimension(1:long1, 1:long2) :: imask

masque

logical(kind=I4), intent(in), optional :: verif

dump

logical(kind=I4), intent(in), optional :: multi_thread

use multithread?

public subroutine tab_Jf_tcheby(nx1, nx2, nb_pts, nvarx, nvary, nb_var, tab_tche1, tab_tche2, tab_Jf, imask, multi_thread)

Tableau des dérivées par rapport aux coefficients de tab_tche

Arguments

Type IntentOptional Attributes Name
integer(kind=I4), intent(in) :: nx1

nbre de points de calcul selon x

integer(kind=I4), intent(in) :: nx2

nbre de points de calcul selon y

integer(kind=I4), intent(in) :: nb_pts

nbre de points

integer(kind=I4), intent(in) :: nvarx

degré max de Tchebychev utilisé selon x

integer(kind=I4), intent(in) :: nvary

degré max de Tchebychev utilisé selon y

integer(kind=I4), intent(in) :: nb_var

nombre de fonctions de base utilisées

real(kind=R8), intent(in), dimension(1:nx1, 1:nvarx+1) :: tab_tche1

tableau des valeurs calculées

real(kind=R8), intent(in), dimension(1:nx2, 1:nvary+1) :: tab_tche2

tableau des valeurs calculées

real(kind=R8), intent(out), allocatable, dimension(:,:) :: tab_Jf

tableau des dérivées

integer(kind=I4), intent(in), optional, dimension(1:nx1, 1:nx2) :: imask

masque

logical(kind=I4), intent(in), optional :: multi_thread

public subroutine tab_poly_tcheby(nx1, nx2, nvarx, nvary, nb_var, tab_tche1, tab_tche2, var, tab_poly_tche, multi_thread)

Surface définie par un produit de polynômes de Tchebychev en x et y

Read more…

Arguments

Type IntentOptional Attributes Name
integer(kind=I4), intent(in) :: nx1

nbre de points de calcul selon x

integer(kind=I4), intent(in) :: nx2

nbre de points de calcul selon y

integer(kind=I4), intent(in) :: nvarx

degré max de Tchebychev utilisé selon x

integer(kind=I4), intent(in) :: nvary

degré max de Tchebychev utilisé selon y

integer(kind=I4), intent(in) :: nb_var

nbre de coefficients

real(kind=R8), intent(in), dimension(1:nx1, 1:nvarx+1) :: tab_tche1

tableau des valeurs calculées

real(kind=R8), intent(in), dimension(1:nx2, 1:nvary+1) :: tab_tche2

tableau des valeurs calculées

real(kind=R8), intent(in), dimension(1:nb_var) :: var

vecteur des coefficients

real(kind=R8), intent(out), dimension(1:nx1, 1:nx2) :: tab_poly_tche

tableau résultant : surface

logical(kind=I4), intent(in), optional :: multi_thread

public subroutine tab_tcheby(deg, nx, vec_x, tab_tche)

Valeurs tabulées de polynômes de Tchebychev

Read more…

Arguments

Type IntentOptional Attributes Name
integer(kind=I4), intent(in) :: deg

degré max du polynôme

integer(kind=I4), intent(in) :: nx

nbre de points de calcul

real(kind=R8), intent(in), dimension(1:nx) :: vec_x

vecteur des points de calcul

real(kind=R8), intent(out), allocatable, dimension(:,:) :: tab_tche

tableau des valeurs calculées