all.equal method tailored to dotprops objects

# S3 method for dotprops
all.equal(target, current, check.attributes = FALSE,
absoluteVectors = TRUE, ...)

Arguments

target, current dotprops objects to compare Whether to check attributes (false by default) Whether to check only the absolute value of eigenvectors for equality (default TRUE, see details) Additional arguments passed to base all.equal.

Details

This method is required because the direction vectors are computed using an eigenvector decomposition where the sign of the eigenvector is essentially random and subject to small numerical instabilities. Therefore it does not usually make sense to check the value of vect exactly.

Examples

# equal using default
kc1=kcs20[[1]]
kc1.recalc=dotprops(kc1)
# not equal due to differences in attributes and vectors
all.equal.default(kc1.recalc, kc1)#> [1] "Component “vect”: Mean relative difference: 0.5218482"# still not equal because of tangent vector flipping
all.equal.default(kc1.recalc, kc1, check.attributes=FALSE)#> [1] "Component “vect”: Mean relative difference: 0.5218482"# equal using appropriate method
stopifnot(isTRUE(all.equal(kc1.recalc, kc1)))
# NB identical when recalculated on same setup from same data
stopifnot(isTRUE(all.equal.default(kc1.recalc, dotprops(kc1))))