In the updated version, the additivity and homogeneity checks are
combined into distinct variables, allowing for clearer organization and
readability. By leveraging the all.equal() function for
comparing floating-point numbers, the newer code ensures precise
comparisons, addressing potential inaccuracies inherent in direct
equality checks.
# Define the function T
T <- function(u) c(2 * u[1] - u[2], u[2] + u[3])
# Check additivity property
u <- c(1, 2, 3)
v <- c(4, 5, 6)
additivity_check <- all.equal(T(u + v), T(u) + T(v))
# Check homogeneity property
c_scalar <- 3
homogeneity_check <- all.equal(T(c_scalar * u), c_scalar * T(u))
# Printing results
if (additivity_check == TRUE) {
cat("Additivity property holds.\n")
} else {
cat("Additivity property does not hold.\n")
}
## Additivity property holds.
if (homogeneity_check == TRUE) {
cat("Homogeneity property holds.\n")
} else {
cat("Homogeneity property does not hold.\n")
}
## Homogeneity property holds.