3D orientation tensor, which characterize data distribution using eigenvalue method. See (Watson 1966, Scheidegger 1965).
Usage
is.ortensor(object)
as.ortensor(object)
# S3 method for class 'spherical'
ortensor(x, norm = TRUE, w = NULL)
ortensor(x, norm = TRUE, w = NULL)Value
ortensor() returns an object of class "ortensor"
is.ortensor returns TRUE if x is an "ortensor" object, and FALSE otherwise.
as.ortensor coerces a 3x3 matrix into an "ortensor" object.
Details
The normalized orientation tensor is given as $$D = \frac{1}{n} (x_i, y_i, z_i) (x_i, y_i, z_i)^T$$
References
Watson, G. S. (1966). The Statistics of Orientation Data. The Journal of Geology, 74(5), 786–797.
Scheidegger, A. E. (1964). The tectonic stress and tectonic motion direction in Europe and Western Asia as calculated from earthquake fault plane solutions. Bulletin of the Seismological Society of America, 54(5A), 1519–1528. doi:10.1785/BSSA05405A1519
See also
Other ortensor:
ot_eigen(),
strain_shape
Examples
set.seed(20250411)
x <- rfb(100, mu = Line(120, 50), k = 1, A = diag(c(10, 0, 0)))
ortensor(x, w = runif(nrow(x)))
#>            [,1]        [,2]        [,3]
#> [1,]  0.1751165 -0.20424156 -0.12844355
#> [2,] -0.2042416  0.78304491 -0.01023266
#> [3,] -0.1284435 -0.01023266  1.14637005
#> attr(,"class")
#> [1] "matrix"   "array"    "ortensor"
test <- as.ortensor(diag(3))
is.ortensor(test)
#> [1] TRUE