fm_basis {fmesher}R Documentation

Compute mapping matrix between mesh function space and points

Description

Computes the basis mapping matrix between a function space on a mesh, and locations.

Usage

fm_basis(x, ..., full = FALSE)

## Default S3 method:
fm_basis(x, ..., full = FALSE)

## S3 method for class 'fm_mesh_1d'
fm_basis(x, loc, weights = NULL, derivatives = NULL, ..., full = FALSE)

## S3 method for class 'fm_mesh_2d'
fm_basis(x, loc, weights = NULL, derivatives = NULL, ..., full = FALSE)

## S3 method for class 'fm_mesh_3d'
fm_basis(x, loc, weights = NULL, ..., full = FALSE)

## S3 method for class 'fm_lattice_2d'
fm_basis(x, loc, weights = NULL, ..., full = FALSE)

## S3 method for class 'fm_lattice_Nd'
fm_basis(x, loc, weights = NULL, ..., full = FALSE)

## S3 method for class 'fm_tensor'
fm_basis(x, loc, weights = NULL, ..., full = FALSE)

## S3 method for class 'fm_collect'
fm_basis(x, loc, weights = NULL, ..., full = FALSE)

## S3 method for class 'matrix'
fm_basis(x, ok = NULL, weights = NULL, ..., full = FALSE)

## S3 method for class 'Matrix'
fm_basis(x, ok = NULL, weights = NULL, ..., full = FALSE)

## S3 method for class 'list'
fm_basis(x, weights = NULL, ..., full = FALSE)

## S3 method for class 'fm_basis'
fm_basis(x, ..., full = FALSE)

## S3 method for class 'fm_evaluator'
fm_basis(x, ..., full = FALSE)

Arguments

x

An function space object, or other supported object (matrix, Matrix, list)

...

Passed on to submethods

full

logical; if TRUE, return a fm_basis object, containing at least a projection matrix A and logical vector ok indicating which evaluations are valid. If FALSE, return only the projection matrix A. Default is FALSE.

loc

A location/value information object (numeric, matrix, sf, fm_bary, etc, depending on the class of x)

weights

Optional weight vector to apply (from the left, one weight for each row of the basis matrix)

derivatives

If non-NULL and logical, include derivative matrices in the output. Forces full = TRUE.

ok

numerical of length NROW(x), indicating which rows of x are valid/successful basis evaluations. If NULL, inferred as rep(TRUE, NROW(x)).

Value

A sparseMatrix object (if full = FALSE), or a fm_basis object (if full = TRUE or isTRUE(derivatives)). The fm_basis object contains at least the projection matrix A and logical vector ok; If x_j denotes the latent basis coefficient for basis function j, the field is defined as ⁠u(loc_i)=sum_j A_ij x_j⁠ for all i where ok[i] is TRUE, and u(loc_i)=0.0 where ok[i] is FALSE.

Methods (by class)

See Also

fm_raw_basis()

Examples

# Compute basis mapping matrix
dim(fm_basis(fmexample$mesh, fmexample$loc))
print(fm_basis(fmexample$mesh, fmexample$loc, full = TRUE))

# From precomputed `fm_bary` information:
bary <- fm_bary(fmexample$mesh, fmexample$loc)
print(fm_basis(fmexample$mesh, bary, full = TRUE))

[Package fmesher version 0.5.0 Index]