fdaPDE-deprecated: Deprecated Functions

fdaPDE-deprecatedR Documentation

Deprecated Functions

Description

Only executed when smooth.FEM.basis is run with the option CPP_CODE = FALSE. It computes the mass matrix. The element (i,j) of this matrix contains the integral over the domain of the product between the ith and kth element of the Finite Element basis. As common practise in Finite Element Analysis, this quantities are computed iterating over all the mesh triangles.

Only executed when smooth.FEM.basis is run with the option CPP_CODE = FALSE. It computes the stifness matrix. The element (i,j) of this matrix contains the integral over the domain of the scalar product between the gradient of the ith and kth element of the Finite Element basis. As common practise in Finite Element Analysis, this quantities are computed iterating over all the mesh triangles.

Only executed when the function smooth.FEM.basis is run with the option CPP_CODE = FALSE. It evaluates the Finite Element basis functions and their derivatives up to order 2 at the specified set of locations. This version of the function is implemented using only R code. It is called by R_smooth.FEM.basis.

Only executed when the function smooth.FEM.basis is run with the option CPP_CODE = FALSE. It evaluates a FEM object at the specified set of locations.

This function implements a spatial regression model with differential regularization; isotropic and stationary case. In particular, the regularizing term involves the Laplacian of the spatial field. Space-varying covariates can be included in the model. The technique accurately handle data distributed over irregularly shaped domains. Moreover, various conditions can be imposed at the domain boundaries.

This function implements a spatial regression model with differential regularization; anysotropic case. In particular, the regularizing term involves a second order elliptic PDE, that models the space-variation of the phenomenon. Space-varying covariates can be included in the model. The technique accurately handle data distributed over irregularly shaped domains. Moreover, various conditions can be imposed at the domain boundaries.

This function implements a spatial regression model with differential regularization; anysotropic and non-stationary case. In particular, the regularizing term involves a second order elliptic PDE with space-varying coefficients, that models the space-variation of the phenomenon. Space-varying covariates can be included in the model. The technique accurately handle data distributed over irregularly shaped domains. Moreover, various conditions can be imposed at the domain boundaries.

This function is a wrapper of the Triangle library (http://www.cs.cmu.edu/~quake/triangle.html). It can be used to create a triangulation of the domain of interest starting from a list of points, to be used as triangles' vertices, and a list of segments, that define the domain boundary. The resulting mesh is a Constrained Delaunay triangulation. This is constructed in a way to preserve segments provided in the input segments without splitting them. This imput can be used to define the boundaries of the domain. If this imput is NULL, it generates a triangulation over the convex hull of the points.

This function refines a Constrained Delaunay triangulation into a Conforming Delaunay triangulation. This is a wrapper of the Triangle library (http://www.cs.cmu.edu/~quake/triangle.html). It can be used to refine a mesh created previously with create.MESH.2D. The algorithm can add Steiner points (points through which the segments are splitted) in order to meet the imposed refinement conditions.

Plot a mesh MESH2D object, generated by create.MESH.2D or refine.MESH.2D. Circles indicate the mesh nodes.

Usage

R_mass(FEMbasis)

R_stiff(FEMbasis)

R_smooth.FEM.basis(
  locations,
  observations,
  FEMbasis,
  lambda,
  covariates = NULL,
  GCV
)

R_eval.FEM.basis(FEMbasis, locations, nderivs = matrix(0, 1, 2))

R_eval.FEM(FEM, locations)

smooth.FEM.basis(
  locations = NULL,
  observations,
  FEMbasis,
  lambda,
  covariates = NULL,
  BC = NULL,
  GCV = FALSE,
  CPP_CODE = TRUE
)

smooth.FEM.PDE.basis(
  locations = NULL,
  observations,
  FEMbasis,
  lambda,
  PDE_parameters,
  covariates = NULL,
  BC = NULL,
  GCV = FALSE,
  CPP_CODE = TRUE
)

smooth.FEM.PDE.sv.basis(
  locations = NULL,
  observations,
  FEMbasis,
  lambda,
  PDE_parameters,
  covariates = NULL,
  BC = NULL,
  GCV = FALSE,
  CPP_CODE = TRUE
)

create.MESH.2D(nodes, nodesattributes = NA, segments = NA, holes = NA, 
                     triangles = NA, order = 1, verbosity = 0)

refine.MESH.2D(mesh, minimum_angle, maximum_area, delaunay, verbosity)

## S3 method for class 'MESH2D'
plot(x, ...)

Arguments

FEMbasis

A FEMbasis object describing the Finite Element basis, as created by create.FEM.basis.

locations

A #observations-by-2 matrix where each row specifies the spatial coordinates x and y of the corresponding observations in the vector observations. This parameter can be NULL. In this case the spatial coordinates of the corresponding observations are assigned as specified in observations.

observations

A vector of length #observations with the observed data values over the domain. The locations of the observations can be specified with the locations argument. Otherwise if only the vector of observations is given, these are consider to be located in the corresponding node in the table nodes of the mesh. In this last case, an NA value in the observations vector indicates that there is no observation associated to the corresponding node.

lambda

A scalar or vector of smoothing parameters.

covariates

A #observations-by-#covariates matrix where each row represents the covariates associated with the corresponding observed data value in observations.

GCV

Boolean. If TRUE the following quantities are computed: the trace of the smoothing matrix, the estimated error standard deviation, and the Generalized Cross Validation criterion, for each value of the smoothing parameter specified in lambda.

nderivs

A vector of lenght 2 specifying the order of the partial derivatives of the bases to be evaluated. The vectors' entries can be 0,1 or 2, where 0 indicates that only the basis functions, and not their derivatives, should be evaluated.

FEM

A FEM object to be evaluated

BC

A list with two vectors: BC_indices, a vector with the indices in nodes of boundary nodes where a Dirichlet Boundary Condition should be applied; BC_values, a vector with the values that the spatial field must take at the nodes indicated in BC_indices.

CPP_CODE

Boolean. If TRUE the computation relies on the C++ implementation of the algorithm. This usually ensures a much faster computation.

PDE_parameters

A list specifying the space-varying parameters of the elliptic PDE in the regularizing term: K, a function that for each spatial location in the spatial domain (indicated by the vector of the 2 spatial coordinates) returns a 2-by-2 matrix of diffusion coefficients. This induces an anisotropic smoothing with a local preferential direction that corresponds to the first eigenvector of the diffusion matrix K.The function must support recycling for efficiency reasons, thus if the input parameter is a #point-by-2 matrix, the output should be an array with dimensions 2-by-2-by-#points.b, a function that for each spatial location in the spatial domain returns a vector of length 2 of transport coefficients. This induces a local smoothing only in the direction specified by the vector b. The function must support recycling for efficiency reasons, thus if the input parameter is a #point-by-2 matrix, the output should be a matrix with dimensions 2-by-#points; c, a function that for each spatial location in the spatial domain returns a scalar reaction coefficient. c induces a shrinkage of the surface to zero. The function must support recycling for efficiency reasons, thus if the input parameter is a #point-by-2 matrix, the output should be a vector with length #points; u, a function that for each spatial location in the spatial domain returns a scalar reaction coefficient. u induces a reaction effect. The function must support recycling for efficiency reasons, thus if the input parameter is a #point-by-2 matrix, the output should be a vector with length #points.

nodes

A #nodes-by-2 matrix containing the x and y coordinates of the mesh nodes.

nodesattributes

A matrix with #nodes rows containing nodes' attributes. These are passed unchanged to the output. If a node is added during the triangulation process or mesh refinement, its attributes are computed by linear interpolation using the attributes of neighboring nodes. This functionality is for instance used to compute the value of a Dirichlet boundary condition at boundary nodes added during the triangulation process.

segments

A #segments-by-2 matrix. Each row contains the row's indices in nodes of the vertices where the segment starts from and ends to. Segments are edges that are not splitted during the triangulation process. These are for instance used to define the boundaries of the domain. If this is input is NULL, it generates a triangulation over the convex hull of the points specified in nodes.

holes

A #holes-by-2 matrix containing the x and y coordinates of a point internal to each hole of the mesh. These points are used to carve holes in the triangulation, when the domain has holes.

triangles

A #triangles-by-3 (when order = 1) or #triangles-by-6 (when order = 2) matrix. This option is used when a triangulation is already available. It specifies the triangles giving the row's indices in nodes of the triangles' vertices and (when nodes = 2) also if the triangles' edges midpoints. The triangles' vertices and midpoints are ordered as described at
https://www.cs.cmu.edu/~quake/triangle.highorder.html. In this case the function create.MESH.2D is used to produce a complete MESH2D object.

order

Either '1' or '2'. It specifies wether each mesh triangle should be represented by 3 nodes (the triangle' vertices) or by 6 nodes (the triangle's vertices and midpoints). These are respectively used for linear (order = 1) and quadratic (order = 2) Finite Elements. Default is order = 1.

verbosity

This can be '0', '1' or '2'. It indicates the level of verbosity in the triangulation process.

mesh

A MESH2D object representing the triangular mesh, created by create.MESH.2D.

minimum_angle

A scalar specifying a minimun value for the triangles angles.

maximum_area

A scalar specifying a maximum value for the triangles areas.

delaunay

A boolean parameter indicating whether or not the output mesh should satisfy the Delaunay condition.

x

A MESH2D object defining the triangular mesh, as generated by create.Mesh.2D or refine.Mesh.2D.

...

Arguments representing graphical options to be passed to par.

Details

These functions are Deprecated in this release of fdaPDE, they will be marked as Defunct and removed in a future version.

Value

A square matrix with the integrals of all the basis' functions pairwise products. The dimension of the matrix is equal to the number of the nodes of the mesh.

A square matrix with the integrals of all the basis functions' gradients pairwise dot products. The dimension of the matrix is equal to the number of the nodes of the mesh.

A list with the following quantities:

fit.FEM

A FEM object that represents the fitted spatial field.

PDEmisfit.FEM

A FEM object that represents the Laplacian of the estimated spatial field.

beta

If covariates is not NULL, a vector of length #covariates with the regression coefficients associated with each covariate.

edf

If GCV is TRUE, a scalar or vector with the trace of the smoothing matrix for each value of the smoothing parameter specified in lambda.

stderr

If GCV is TRUE, a scalar or vector with the estimate of the standard deviation of the error for each value of the smoothing parameter specified in lambda.

GCV

If GCV is TRUE, a scalar or vector with the value of the GCV criterion for each value of the smoothing parameter specified in lambda.

A matrix of basis function values. Each row indicates the location where the evaluation has been taken, the column indicates the basis function evaluated

A matrix of numeric evaluations of the FEM object. Each row indicates the location where the evaluation has been taken, the column indicates the function evaluated.

A list with the following variables:

  • fit.FEMA FEM object that represents the fitted spatial field.

  • PDEmisfit.FEMA FEM object that represents the Laplacian of the estimated spatial field.

  • solutionA list, note that all terms are matrices or row vectors: the jth column represents the vector of related to lambda[j] if lambda.selection.criterion="grid" and lambda.selection.lossfunction="unused". In all the other cases is returned just the column related to the best penalization parameter

    fMatrix, estimate of function f, first half of solution vector

    gMatrix, second half of solution vector

    z_hatMatrix, prediction of the output in the locations

    betaIf covariates is not NULL, a matrix with number of rows equal to the number of covariates and number of columns equal to length of lambda. It is the regression coefficients estimate

    rmseEstimate of the root mean square error in the locations

    estimated_sdEstiimate of the standard deviation of the error

  • optimizationA detailed list of optimization related data:

    lambda_solutionnumerical value of best lambda acording to lambda.selection.lossfunction, -1 if lambda.selection.lossfunction="unused"

    lambda_positioninteger, postion in lambda_vector of best lambda acording to lambda.selection.lossfunction, -1 if lambda.selection.lossfunction="unused"

    GCVnumeric value of GCV in correspondence of the optimum

    optimization_detailslist containing further information about the optimization method used and the nature of its termination, eventual number of iterations

    dofnumeric vector, value of dof for all the penalizations it has been computed, empty if not computed

    lambda_vectornumeric value of the penalization factors passed by the user or found in the iterations of the optimization method

    GCV_vectornumeric vector, value of GCV for all the penalizations it has been computed

  • timeDuration of the entire optimization computation

  • bary.locationsA barycenter information of the given locations if the locations are not mesh nodes.

A list with the following variables:

  • fit.FEMA FEM object that represents the fitted spatial field.

  • PDEmisfit.FEMA FEM object that represents the Laplacian of the estimated spatial field.

  • solutionA list, note that all terms are matrices or row vectors: the jth column represents the vector of related to lambda[j] if lambda.selection.criterion="grid" and lambda.selection.lossfunction="unused". In all the other cases is returned just the column related to the best penalization parameter

    fMatrix, estimate of function f, first half of solution vector

    gMatrix, second half of solution vector

    z_hatMatrix, prediction of the output in the locations

    betaIf covariates is not NULL, a matrix with number of rows equal to the number of covariates and number of columns equal to length of lambda. It is the regression coefficients estimate

    rmseEstimate of the root mean square error in the locations

    estimated_sdEstiimate of the standard deviation of the error

  • optimizationA detailed list of optimization related data:

    lambda_solutionnumerical value of best lambda acording to lambda.selection.lossfunction, -1 if lambda.selection.lossfunction="unused"

    lambda_positioninteger, postion in lambda_vector of best lambda acording to lambda.selection.lossfunction, -1 if lambda.selection.lossfunction="unused"

    GCVnumeric value of GCV in correspondence of the optimum

    optimization_detailslist containing further information about the optimization method used and the nature of its termination, eventual number of iterations

    dofnumeric vector, value of dof for all the penalizations it has been computed, empty if not computed

    lambda_vectornumeric value of the penalization factors passed by the user or found in the iterations of the optimization method

    GCV_vectornumeric vector, value of GCV for all the penalizations it has been computed

  • timeDuration of the entire optimization computation

  • bary.locationsA barycenter information of the given locations if the locations are not mesh nodes.

A list with the following variables:

  • fit.FEMA FEM object that represents the fitted spatial field.

  • PDEmisfit.FEMA FEM object that represents the Laplacian of the estimated spatial field.

  • solutionA list, note that all terms are matrices or row vectors: the jth column represents the vector of related to lambda[j] if lambda.selection.criterion="grid" and lambda.selection.lossfunction="unused". In all the other cases is returned just the column related to the best penalization parameter

    fMatrix, estimate of function f, first half of solution vector

    gMatrix, second half of solution vector

    z_hatMatrix, prediction of the output in the locations

    betaIf covariates is not NULL, a matrix with number of rows equal to the number of covariates and number of columns equal to length of lambda. It is the regression coefficients estimate

    rmseEstimate of the root mean square error in the locations

    estimated_sdEstiimate of the standard deviation of the error

  • optimizationA detailed list of optimization related data:

    lambda_solutionnumerical value of best lambda acording to lambda.selection.lossfunction, -1 if lambda.selection.lossfunction="unused"

    lambda_positioninteger, postion in lambda_vector of best lambda acording to lambda.selection.lossfunction, -1 if lambda.selection.lossfunction="unused"

    GCVnumeric value of GCV in correspondence of the optimum

    optimization_detailslist containing further information about the optimization method used and the nature of its termination, eventual number of iterations

    dofnumeric vector, value of dof for all the penalizations it has been computed, empty if not computed

    lambda_vectornumeric value of the penalization factors passed by the user or found in the iterations of the optimization method

    GCV_vectornumeric vector, value of GCV for all the penalizations it has been computed

  • timeDuration of the entire optimization computation

  • bary.locationsA barycenter information of the given locations if the locations are not mesh nodes.

An object of the class MESH2D with the following output:

nodes

A #nodes-by-2 matrix containing the x and y coordinates of the mesh nodes.

nodesmarkers

A vector of length #nodes, with entries either '1' or '0'. An entry '1' indicates that the corresponding node is a boundary node; an entry '0' indicates that the corresponding node is not a boundary node.

nodesattributes

nodesattributes A matrix with #nodes rows containing nodes' attributes. These are passed unchanged to the output. If a node is added during the triangulation process or mesh refinement, its attributes are computed by linear interpolation using the attributes of neighboring nodes. This functionality is for instance used to compute the value of a Dirichlet boundary condition at boundary nodes added during the triangulation process.

triangles

A #triangles-by-3 (when order = 1) or #triangles-by-6 (when order = 2) matrix. This option is used when a triangulation is already available. It specifies the triangles giving the indices in nodes of the triangles' vertices and (when nodes = 2) also if the triangles' edges midpoints. The triangles' vertices and midpoints are ordered as described at
https://www.cs.cmu.edu/~quake/triangle.highorder.html.

segmentsmarker

A vector of length #segments with entries either '1' or '0'. An entry '1' indicates that the corresponding element in segments is a boundary segment; an entry '0' indicates that the corresponding segment is not a boundary segment.

edges

A #edges-by-2 matrix containing all the edges of the triangles in the output triangulation. Each row contains the row's indices in nodes, indicating the nodes where the edge starts from and ends to.

edgesmarkers

A vector of lenght #edges with entries either '1' or '0'. An entry '1' indicates that the corresponding element in edge is a boundary edge; an entry '0' indicates that the corresponding edge is not a boundary edge.

neighbors

A #triangles-by-3 matrix. Each row contains the indices of the three neighbouring triangles. An entry '-1' indicates that one edge of the triangle is a boundary edge.

holes

A #holes-by-2 matrix containing the x and y coordinates of a point internal to each hole of the mesh. These points are used to carve holes in the triangulation, when the domain has holes.

order

Either '1' or '2'. It specifies wether each mesh triangle should be represented by 3 nodes (the triangle' vertices) or by 6 nodes (the triangle's vertices and midpoints). These are respectively used for linear (order = 1) and quadratic (order = 2) Finite Elements. Default is order = 1.

A MESH2D object representing the refined triangular mesh, with the following output:

nodes

A #nodes-by-2 matrix containing the x and y coordinates of the mesh nodes.

nodesmarkers

A vector of length #nodes, with entries either '1' or '0'. An entry '1' indicates that the corresponding node is a boundary node; an entry '0' indicates that the corresponding node is not a boundary node.

nodesattributes

nodesattributes A matrix with #nodes rows containing nodes' attributes. These are passed unchanged to the output. If a node is added during the triangulation process or mesh refinement, its attributes are computed by linear interpolation using the attributes of neighboring nodes. This functionality is for instance used to compute the value of a Dirichlet boundary condition at boundary nodes added during the triangulation process.

triangles

A #triangles-by-3 (when order = 1) or #triangles-by-6 (when order = 2) matrix. This option is used when a triangulation is already available. It specifies the triangles giving the row's indices in nodes of the triangles' vertices and (when nodes = 2) also if the triangles' edges midpoints. The triangles' vertices and midpoints are ordered as described at
https://www.cs.cmu.edu/~quake/triangle.highorder.html.

edges

A #edges-by-2 matrix. Each row contains the row's indices of the nodes where the edge starts from and ends to.

edgesmarkers

A vector of lenght #edges with entries either '1' or '0'. An entry '1' indicates that the corresponding element in edge is a boundary edge; an entry '0' indicates that the corresponding edge is not a boundary edge.

neighbors

A #triangles-by-3 matrix. Each row contains the indices of the three neighbouring triangles. An entry '-1' indicates that one edge of the triangle is a boundary edge.

holes

A #holes-by-2 matrix containing the x and y coordinates of a point internal to each hole of the mesh. These points are used to carve holes in the triangulation, when the domain has holes.

order

Either '1' or '2'. It specifies wether each mesh triangle should be represented by 3 nodes (the triangle' vertices) or by 6 nodes (the triangle's vertices and midpoints). These are respectively used for linear (order = 1) and quadratic (order = 2) Finite Elements. Default is order = 1.

See Also

refine.MESH.2D, create.FEM.basis

create.MESH.2D, create.FEM.basis


fdaPDE documentation built on Nov. 10, 2022, 5:06 p.m.