Skip to contents

Dispersion measured using the Fréchet variance, i.e the sum of the squared geodesic distances between all vectors and a specified vector.

Usage

geodesic_var(x, ...)

# S3 method for class 'Vec3'
geodesic_var(x, y = NULL, ...)

# S3 method for class 'Line'
geodesic_var(x, y = NULL, ...)

# S3 method for class 'Plane'
geodesic_var(x, y = NULL, ...)

# S3 method for class 'Ray'
geodesic_var(x, y = NULL, ...)

# S3 method for class 'Pair'
geodesic_var(x, y = NULL, group = NULL, ...)

Source

geologyGeometry (J.R. Davis)

Arguments

x

object of class "Vec3", "Line", "Ray", "Plane", "Pair", or "Fault".

...

parameters passed to geodesic_meanvariance_ray() (if x is a Ray), geodesic_meanvariance_line() (if x is a Vec3, Line or Plane) or geodesic_mean_pair() (if x is a Pair or a Fault).

y

Only for variance. object of class "Vec3", "Line", "Ray", "Plane", "Pair", or "Fault" about which the Fréchet variance should be calculated for. If NULL (the default), Fréchet variance about the Fréchet mean.

group

character. Symmetry group of x. One of "orthorhombic" (line-in-plane symmetry, e.g. foliation-lineations, cylindrical fold orientations, triaxial ellipsoid orientations, and earthquake focal mechanisms, and olivine), "triclinic" (ray-in-plane symmetry, e.g. faults with slip directions), "trigonal" (e.g. alpha-quartz), "hexagonal" (e.g. beta-quartz), or "trivial" (rotations). If NULL, the group will be automatically picked based on the class of x.

Value

the Fréchet variance as a numeric number. Because distances in SO(3) never exceed \(\pi\), the maximum possible variance is \(\frac{\pi^2}{2} \approx 4.93\).

Details

The variance of a dataset \({x_1, \ldots, x_n}\) about a vector \(y\) is defined as $$ \Psi(x) = \frac{1}{2n} \sum_{i=1}^n d_G(y, x_i)^2$$ where \(d_G(x, y)\) is the geodesic distance between vectors \(x\) and \(y\) (see angle()).

References

Davis, J. R., & Titus, S. J. (2017). Modern methods of analysis for three-dimensional orientational data. Journal of Structural Geology, 96, 65–89. https://doi.org/10.1016/j.jsg.2017.01.002

See also

geodesic_mean() for the Fréchet mean, sph_mean() for the arithmetic mean, projected_mean() for projected mean

Examples

set.seed(20250411)
geodesic_var(example_planes, example_planes[1,])
#> [1] 0.559469
geodesic_var(example_planes)
#> [1] 0.2656372