Skip to contents

Each column is checked by all.equal

Usage

Cdiff(a, b, tolerance = sqrt(.Machine$double.eps))

Arguments

a

numerical matrix

b

numerical matrix

tolerance

parameter to all.equal

Value

(a-b) where equal columns are set to zero

Examples

a <- matrix(rnorm(6), 3, 2)
b <- matrix(rnorm(6), 3, 2)
a - b
#>              [,1]      [,2]
#> [1,]  0.009288562  1.453554
#> [2,] -0.796758883  0.293173
#> [3,]  0.625323610 -1.260001
Cdiff(a, b)
#>              [,1]      [,2]
#> [1,]  0.009288562  1.453554
#> [2,] -0.796758883  0.293173
#> [3,]  0.625323610 -1.260001
b[, 1] <- a[, 1] + (.Machine$double.eps)^(2/3) * b[, 1]
a - b
#>               [,1]      [,2]
#> [1,] -3.905409e-11  1.453554
#> [2,] -4.828138e-12  0.293173
#> [3,] -1.791722e-11 -1.260001
Cdiff(a, b)
#>      [,1]      [,2]
#> [1,]    0  1.453554
#> [2,]    0  0.293173
#> [3,]    0 -1.260001
a[, 2] <- b[, 2]
a - b
#>               [,1] [,2]
#> [1,] -3.905409e-11    0
#> [2,] -4.828138e-12    0
#> [3,] -1.791722e-11    0
Cdiff(a, b)
#>      [,1] [,2]
#> [1,]    0    0
#> [2,]    0    0
#> [3,]    0    0