The hardware and bandwidth for this mirror is donated by dogado GmbH, the Webhosting and Full Service-Cloud Provider. Check out our Wordpress Tutorial.
If you wish to report a bug, or if you are interested in having us mirror your free-software or open-source project, please feel free to contact us at mirror[@]dogado.de.

Type: Package
Title: Computation of Approximate Potentials for Weakly Non-Gradient Fields
Version: 1.1.0
Author: Pablo Rodríguez-Sánchez
Maintainer: Pablo Rodríguez-Sánchez <pablo.rodriguez.sanchez@gmail.com>
Description: Computation of approximate potentials for both gradient and non gradient fields. It is known from physics that only gradient fields, also known as conservative, have a well defined potential function. Here we present an algorithm, based on the classical Helmholtz decomposition, to obtain an approximate potential function for non gradient fields. More information in Rodríguez-Sánchez (2020) <doi:10.1371/journal.pcbi.1007788>.
License: MIT + file LICENSE
Encoding: UTF-8
LazyData: true
RoxygenNote: 7.1.1
VignetteBuilder: knitr
Suggests: testthat, knitr, rmarkdown, deSolve, dplyr, colorRamps, ggplot2, gridExtra, latticeExtra, bindrcpp
Imports: numDeriv, Matrix
NeedsCompilation: no
Packaged: 2021-03-14 10:41:51 UTC; pablo
Repository: CRAN
Date/Publication: 2021-03-17 13:50:02 UTC

Approximate potential in one dimension

Description

Approximate potential in one dimension

Usage

approxPot1D(f, xs, V0 = "auto")

Arguments

f

One-dimensional representing the flow (right hand side of differential equation)

xs

Vector of positions to evaluate

V0

(Optional) Value of V at first element of xs. When default, the global minimum is assigned 0

Value

The potential estimated at each point in xs

Author(s)

Pablo Rodríguez-Sánchez (https://pabrod.github.io)

References

https://arxiv.org/abs/1903.05615

See Also

approxPot2D, deltaV

Examples

# Flow
f = function(x) { sin(x) }

# Sampling points
xs <- seq(0, 2*pi, length.out = 1e3)

# Approximated potential
Vs <- approxPot1D(f, xs)

Approximate potential in two dimensions

Description

Approximate potential in two dimensions

Usage

approxPot2D(f, xs, ys, V0 = "auto", mode = "mixed")

Arguments

f

Two-dimensional representing the flow (right hand side of differential equation)

xs

Vector xs positions to evaluate

ys

Vector of ys positions to evaluate

V0

(Optional) Value of V at first element of (xs,ys). When default, the global minimum is assigned 0

mode

(Optional) Integration mode. Options are horizontal (default), vertical and mixed

Value

The potential estimated at each point (xs, ys)

Author(s)

Pablo Rodríguez-Sánchez (https://pabrod.github.io)

References

https://arxiv.org/abs/1903.05615

See Also

approxPot1D, deltaV

Examples

# Flow
f = function(x) {c(-x[1]*(x[1]^2 - 1.1), -x[2]*(x[2]^2 - 1))}

# Sampling points
xs <- seq(-1.5, 1.5, length.out = 10)
ys <- seq(-1.5, 1.5, length.out = 15)

# Approximated potential
Vs <- approxPot2D(f, xs, ys, mode = 'horizontal')

Approximate potential difference between two points

Description

Approximate potential difference between two points

Usage

deltaV(f, x, x0, normType = "f")

Arguments

f

Flow equations (right hand side of differential equation)

x

Position where we want to know the approximate potential

x0

Reference position (center of the Taylor expansion)

normType

(default: 'f') Matrix norm used to compute the error

Value

A list containing the approximate potential difference between x and x0 and the estimated error

Author(s)

Pablo Rodríguez-Sánchez (https://pabrod.github.io)

References

https://arxiv.org/abs/1903.05615

See Also

approxPot1D, approxPot2D, norm

Examples

# One dimensional flow
f <- function(x) { cos(x) }

# Evaluation points
x0 <- 1
x1 <- 1.02

dV <- deltaV(f, x1, x0)

 # Two dimensional flow
f <- function(x) { c(
 -2*x[1]*x[2],
 -x[1]^2 - 1
)}

# Evaluation points
x0 <- matrix(c(1,2), ncol = 1)
x1 <- matrix(c(0.98,2.01), ncol = 1)

dV <- deltaV(f, x1, x0)

These binaries (installable software) and packages are in development.
They may not be fully stable and should be used with caution. We make no claims about them.
Health stats visible at Monitor.