
R version 3.6.2 Patched (2020-02-12 r77795) -- "Dark and Stormy Night"
Copyright (C) 2020 The R Foundation for Statistical Computing
Platform: x86_64-pc-linux-gnu (64-bit)

R is free software and comes with ABSOLUTELY NO WARRANTY.
You are welcome to redistribute it under certain conditions.
Type 'license()' or 'licence()' for distribution details.

R is a collaborative project with many contributors.
Type 'contributors()' for more information and
'citation()' on how to cite R or R packages in publications.

Type 'demo()' for some demos, 'help()' for on-line help, or
'help.start()' for an HTML browser interface to help.
Type 'q()' to quit R.

> ## tests of R functions based on the lapack module
> 
> ## NB: the signs of singular and eigenvectors are arbitrary,
> ## so there may be differences from the reference ouptut,
> ## especially when alternative BLAS are used.
> 
> options(digits = 4L)
> 
> ##    -------  examples from ?svd ---------
> 
> hilbert <- function(n) { i <- 1:n; 1 / outer(i - 1, i, "+") }
> Eps <- 100 * .Machine$double.eps
> 
> ## The signs of the vectors are not determined here, so don't print
> X <- hilbert(9L)[, 1:6]
> s <- svd(X); D <- diag(s$d)
> stopifnot(abs(X - s$u %*% D %*% t(s$v)) < Eps)#  X = U D V'
> stopifnot(abs(D - t(s$u) %*% X %*% s$v) < Eps)#  D = U' X V
> 
> ## ditto
> X <- cbind(1, 1:7)
> s <- svd(X); D <- diag(s$d)
> stopifnot(abs(X - s$u %*% D %*% t(s$v)) < Eps)#  X = U D V'
> stopifnot(abs(D - t(s$u) %*% X %*% s$v) < Eps)#  D = U' X V
> 
> # test nu and nv
> s <- svd(X, nu = 0L)
> s <- svd(X, nu = 7L) # the last 5 columns are not determined here
> stopifnot(dim(s$u) == c(7L,7L))
> s <- svd(X, nv = 0L)
> 
> # test of complex case
> 
> X <- cbind(1, 1:7+(-3:3)*1i)
> s <- svd(X); D <- diag(s$d)
> stopifnot(abs(X - s$u %*% D %*% Conj(t(s$v))) < Eps)
> stopifnot(abs(D - Conj(t(s$u)) %*% X %*% s$v) < Eps)
> 
> 
> 
> ##  -------  tests of random real and complex matrices ------
> fixsign <- function(A) {
+     A[] <- apply(A, 2L, function(x) x*sign(Re(x[1L])))
+     A
+ }
> ##			       100  may cause failures here.
> eigenok <- function(A, E, Eps=1000*.Machine$double.eps)
+ {
+     print(fixsign(E$vectors))
+     print(zapsmall(E$values))
+     V <- E$vectors; lam <- E$values
+     stopifnot(abs(A %*% V - V %*% diag(lam)) < Eps,
+               abs(lam[length(lam)]/lam[1]) < Eps | # this one not for singular A :
+               abs(A - V %*% diag(lam) %*% t(V)) < Eps)
+ }
> 
> Ceigenok <- function(A, E, Eps=1000*.Machine$double.eps)
+ {
+     print(fixsign(E$vectors))
+     print(signif(E$values, 5))
+     V <- E$vectors; lam <- E$values
+     stopifnot(Mod(A %*% V - V %*% diag(lam)) < Eps,
+               Mod(A - V %*% diag(lam) %*% Conj(t(V))) < Eps)
+ }
> 
> ## failed for some 64bit-Lapack-gcc combinations:
> sm <- cbind(1, 3:1, 1:3)
> eigenok(sm, eigen(sm))
       [,1]    [,2]    [,3]
[1,] 0.5774  0.8452  0.9428
[2,] 0.5774  0.1690 -0.2357
[3,] 0.5774 -0.5071 -0.2357
[1] 5 1 0
> eigenok(sm, eigen(sm, sym=FALSE))
       [,1]    [,2]    [,3]
[1,] 0.5774  0.8452  0.9428
[2,] 0.5774  0.1690 -0.2357
[3,] 0.5774 -0.5071 -0.2357
[1] 5 1 0
> 
> set.seed(123)
> sm <- matrix(rnorm(25), 5, 5)
> sm <- 0.5 * (sm + t(sm))
> eigenok(sm, eigen(sm))
        [,1]    [,2]     [,3]      [,4]    [,5]
[1,]  0.5899  0.1683  0.02315  0.471808  0.6329
[2,]  0.1936  0.2931  0.89217 -0.009784 -0.2838
[3,]  0.6627 -0.4812 -0.15825  0.082550 -0.5454
[4,]  0.1404  0.7985 -0.41848  0.094314 -0.3983
[5,] -0.3946 -0.1285  0.05768  0.872692 -0.2507
[1]  1.7814  1.5184  0.5833 -1.0148 -2.4908
> eigenok(sm, eigen(sm, sym=FALSE))
        [,1]    [,2]    [,3]      [,4]     [,5]
[1,]  0.6329  0.5899  0.1683  0.471808  0.02315
[2,] -0.2838  0.1936  0.2931 -0.009784  0.89217
[3,] -0.5454  0.6627 -0.4812  0.082550 -0.15825
[4,] -0.3983  0.1404  0.7985  0.094314 -0.41848
[5,] -0.2507 -0.3946 -0.1285  0.872692  0.05768
[1] -2.4908  1.7814  1.5184 -1.0148  0.5833
> 
> sm[] <- as.complex(sm)
> Ceigenok(sm, eigen(sm))
           [,1]       [,2]        [,3]         [,4]       [,5]
[1,]  0.5899+0i  0.1683+0i  0.02315+0i  0.471808+0i  0.6329+0i
[2,]  0.1936+0i  0.2931+0i  0.89217+0i -0.009784+0i -0.2838+0i
[3,]  0.6627+0i -0.4812+0i -0.15825+0i  0.082550+0i -0.5454+0i
[4,]  0.1404+0i  0.7985+0i -0.41848+0i  0.094314+0i -0.3983+0i
[5,] -0.3946+0i -0.1285+0i  0.05768+0i  0.872692+0i -0.2507+0i
[1]  1.7814  1.5184  0.5833 -1.0148 -2.4908
> Ceigenok(sm, eigen(sm, sym=FALSE))
           [,1]       [,2]       [,3]         [,4]        [,5]
[1,]  0.6329+0i  0.5899+0i  0.1683+0i  0.471808+0i  0.02315+0i
[2,] -0.2838+0i  0.1936+0i  0.2931+0i -0.009784+0i  0.89217+0i
[3,] -0.5454+0i  0.6627+0i -0.4812+0i  0.082550+0i -0.15825+0i
[4,] -0.3983+0i  0.1404+0i  0.7985+0i  0.094314+0i -0.41848+0i
[5,] -0.2507+0i -0.3946+0i -0.1285+0i  0.872692+0i  0.05768+0i
[1] -2.4908+0i  1.7814+0i  1.5184+0i -1.0148+0i  0.5833+0i
> 
> sm[] <- sm + rnorm(25) * 1i
> sm <- 0.5 * (sm + Conj(t(sm)))
> Ceigenok(sm, eigen(sm))
                [,1]            [,2]             [,3]            [,4]
[1,]  0.5373+0.0000i  0.3338+0.0000i  0.02834+0.0000i  0.4378+0.0000i
[2,]  0.3051+0.0410i -0.0264-0.1175i -0.43963+0.7256i -0.0474+0.2975i
[3,]  0.3201-0.3756i  0.3379+0.4760i -0.09325-0.3281i  0.0536+0.2447i
[4,]  0.3394+0.2330i -0.1044-0.6839i  0.09966-0.3629i  0.1894+0.1979i
[5,] -0.2869+0.3483i -0.0766+0.2210i -0.14602+0.0132i  0.7449-0.1576i
                [,5]
[1,]  0.6383+0.0000i
[2,] -0.1909-0.2093i
[3,] -0.4788-0.0861i
[4,] -0.3654+0.0418i
[5,] -0.2229-0.3012i
[1]  2.4043  1.3934  0.7854 -1.4050 -2.8006
> Ceigenok(sm, eigen(sm, sym=FALSE))
                [,1]            [,2]            [,3]            [,4]
[1,]  0.6383+0.0000i  0.5373+0.0000i  0.4283+0.0907i  0.0504-0.3300i
[2,] -0.1909-0.2093i  0.3051+0.0410i -0.1080+0.2813i -0.1201+0.0084i
[3,] -0.4788-0.0861i  0.3201-0.3756i  0.0018+0.2505i  0.5216-0.2622i
[4,] -0.3654+0.0418i  0.3394+0.2330i  0.1443+0.2329i -0.6918+0.0000i
[5,] -0.2229-0.3012i -0.2869+0.3483i  0.7614+0.0000i  0.2069+0.1091i
                  [,5]
[1,]  0.01468+0.02424i
[2,] -0.84836+0.00000i
[3,]  0.23232-0.24980i
[4,]  0.36200-0.10282i
[5,] -0.08698-0.11804i
[1] -2.8006+0i  2.4043+0i -1.4050+0i  1.3934+0i  0.7854+0i
> 
> 
> ##  -------  tests of integer matrices -----------------
> 
> set.seed(123)
> A <- matrix(rpois(25, 5), 5, 5)
> 
> A %*% A
     [,1] [,2] [,3] [,4] [,5]
[1,]  202  170  156  160  234
[2,]  161  124  145  147  185
[3,]  166  136  134  130  174
[4,]  218  156  169  204  234
[5,]  205  134  175  181  249
> crossprod(A)
     [,1] [,2] [,3] [,4] [,5]
[1,]  226  160  153  174  240
[2,]  160  143  126  112  179
[3,]  153  126  171  137  205
[4,]  174  112  137  174  192
[5,]  240  179  205  192  293
> tcrossprod(A)
     [,1] [,2] [,3] [,4] [,5]
[1,]  229  155  150  207  184
[2,]  155  144  140  184  161
[3,]  150  140  156  176  142
[4,]  207  184  176  251  209
[5,]  184  161  142  209  227
> 
> solve(A)
          [,1]    [,2]     [,3]     [,4]     [,5]
[1,] -0.048676  0.3390 -0.15756 -0.05892 -0.00854
[2,] -0.058711 -0.1262  0.19812 -0.03160  0.06426
[3,]  0.092656  0.2319 -0.02904 -0.12468 -0.09778
[4,]  0.062553 -0.1637  0.03800 -0.04270  0.12062
[5,] -0.002775 -0.2351  0.02391  0.22032 -0.02242
> qr(A)
$qr
         [,1]      [,2]     [,3]     [,4]    [,5]
[1,] -15.0333 -10.64304 -10.1774 -11.5743 -15.965
[2,]   0.4656  -5.45212  -3.2430   2.0516  -1.667
[3,]   0.2661   0.97998  -7.5434  -3.4278  -4.920
[4,]   0.5322  -0.05761  -0.3972   4.9068  -1.269
[5,]   0.5987  -0.17944  -0.9104  -0.9086   3.088

$rank
[1] 5

$qraux
[1] 1.266 1.064 1.116 1.418 3.088

$pivot
[1] 1 2 3 4 5

attr(,"class")
[1] "qr"
> determinant(A, log = FALSE)
$modulus
[1] 9368
attr(,"logarithm")
[1] FALSE

$sign
[1] -1

attr(,"class")
[1] "det"
> 
> rcond(A)
[1] 0.02466
> rcond(A, "I")
[1] 0.06007
> rcond(A, "1")
[1] 0.02466
> 
> eigen(A)
eigen() decomposition
$values
[1] 29.660+0.000i -4.631+0.000i  4.556+0.000i -2.292+3.117i -2.292-3.117i

$vectors
          [,1]        [,2]        [,3]            [,4]            [,5]
[1,] 0.4698+0i  0.34581+0i  0.07933+0i  0.7246+0.0000i  0.7246+0.0000i
[2,] 0.3885+0i -0.30397+0i  0.31927+0i -0.2481-0.2591i -0.2481+0.2591i
[3,] 0.3760+0i -0.03566+0i  0.70330+0i  0.0496+0.3697i  0.0496-0.3697i
[4,] 0.5029+0i -0.74239+0i -0.32651+0i -0.2262+0.1063i -0.2262-0.1063i
[5,] 0.4839+0i  0.48539+0i -0.53901+0i -0.3375-0.1752i -0.3375+0.1752i

> svd(A)
$d
[1] 29.929  6.943  6.668  3.960  1.707

$u
        [,1]     [,2]    [,3]       [,4]     [,5]
[1,] -0.4659 -0.04141 -0.8795  8.440e-02  0.02379
[2,] -0.3931  0.15031  0.2249  1.824e-05  0.87881
[3,] -0.3811  0.62205  0.2170  5.570e-01 -0.33239
[4,] -0.5166  0.14296  0.1852 -7.659e-01 -0.30290
[5,] -0.4652 -0.75386  0.3073  3.097e-01 -0.15780

$v
        [,1]    [,2]     [,3]    [,4]    [,5]
[1,] -0.4831 -0.3264  0.47567 -0.1955  0.6289
[2,] -0.3627  0.3731  0.53450  0.5920 -0.3051
[3,] -0.3995  0.4779 -0.59210  0.2252  0.4590
[4,] -0.3983 -0.6985 -0.36298  0.3821 -0.2752
[5,] -0.5628  0.1948 -0.07549 -0.6439 -0.4743

> La.svd(A)
$d
[1] 29.929  6.943  6.668  3.960  1.707

$u
        [,1]     [,2]    [,3]       [,4]     [,5]
[1,] -0.4659 -0.04141 -0.8795  8.440e-02  0.02379
[2,] -0.3931  0.15031  0.2249  1.824e-05  0.87881
[3,] -0.3811  0.62205  0.2170  5.570e-01 -0.33239
[4,] -0.5166  0.14296  0.1852 -7.659e-01 -0.30290
[5,] -0.4652 -0.75386  0.3073  3.097e-01 -0.15780

$vt
        [,1]    [,2]    [,3]    [,4]     [,5]
[1,] -0.4831 -0.3627 -0.3995 -0.3983 -0.56284
[2,] -0.3264  0.3731  0.4779 -0.6985  0.19477
[3,]  0.4757  0.5345 -0.5921 -0.3630 -0.07549
[4,] -0.1955  0.5920  0.2252  0.3821 -0.64390
[5,]  0.6289 -0.3051  0.4590 -0.2752 -0.47430

> 
> As <- crossprod(A)
> E <- eigen(As)
> E$values
[1] 895.737  48.201  44.468  15.678   2.915
> abs(E$vectors) # signs vary
       [,1]   [,2]    [,3]   [,4]   [,5]
[1,] 0.4831 0.3264 0.47567 0.1955 0.6289
[2,] 0.3627 0.3731 0.53450 0.5920 0.3051
[3,] 0.3995 0.4779 0.59210 0.2252 0.4590
[4,] 0.3983 0.6985 0.36298 0.3821 0.2752
[5,] 0.5628 0.1948 0.07549 0.6439 0.4743
> chol(As)
      [,1]   [,2]   [,3]   [,4]   [,5]
[1,] 15.03 10.643 10.177 11.574 15.965
[2,]  0.00  5.452  3.243 -2.052  1.667
[3,]  0.00  0.000  7.543  3.428  4.920
[4,]  0.00  0.000  0.000  4.907 -1.269
[5,]  0.00  0.000  0.000  0.000  3.088
> backsolve(As, 1:5)
[1] -0.009040 -0.005129 -0.006246  0.004158  0.017065
> 
> ##  -------  tests of logical matrices -----------------
> 
> set.seed(123)
> A <- matrix(runif(25) > 0.5, 5, 5)
> 
> A %*% A
     [,1] [,2] [,3] [,4] [,5]
[1,]    2    2    2    1    3
[2,]    2    1    1    2    3
[3,]    2    2    1    1    3
[4,]    2    2    2    2    4
[5,]    2    1    2    2    3
> crossprod(A)
     [,1] [,2] [,3] [,4] [,5]
[1,]    3    2    1    1    3
[2,]    2    3    2    0    3
[3,]    1    2    3    1    3
[4,]    1    0    1    2    2
[5,]    3    3    3    2    5
> tcrossprod(A)
     [,1] [,2] [,3] [,4] [,5]
[1,]    3    1    2    2    2
[2,]    1    3    2    3    2
[3,]    2    2    3    3    1
[4,]    2    3    3    4    2
[5,]    2    2    1    2    3
> 
> Q <- qr(A)
> zapsmall(Q$qr)
        [,1]    [,2]    [,3]    [,4]    [,5]
[1,] -1.7321 -1.1547 -0.5774 -0.5774 -1.7321
[2,]  0.5774 -1.2910 -1.0328  0.5164 -0.7746
[3,]  0.0000  0.7746 -1.2649 -0.9487 -0.9487
[4,]  0.5774  0.2582  0.0508  0.7071  0.7071
[5,]  0.5774 -0.5164 -0.6803 -0.3136  0.0000
> zapsmall(Q$qraux)
[1] 1.000 1.258 1.731 1.950 0.000
> determinant(A, log = FALSE) # 0
$modulus
[1] 0
attr(,"logarithm")
[1] FALSE

$sign
[1] 1

attr(,"class")
[1] "det"
> 
> rcond(A)
[1] 0
> rcond(A, "I")
[1] 0
> rcond(A, "1")
[1] 0
> 
> E <- eigen(A)
> zapsmall(E$values)
[1]  3.163+0.000i  0.271+0.908i  0.271-0.908i -0.705+0.000i  0.000+0.000i
> zapsmall(Mod(E$vectors))
       [,1]   [,2]   [,3]   [,4]   [,5]
[1,] 0.4358 0.3604 0.3604 0.6113 0.0000
[2,] 0.4087 0.4495 0.4495 0.3771 0.5774
[3,] 0.3962 0.5870 0.5870 0.2028 0.0000
[4,] 0.5340 0.2792 0.2792 0.6649 0.5774
[5,] 0.4483 0.4955 0.4955 0.0314 0.5774
> S <- svd(A)
> zapsmall(S$d)
[1] 3.379 1.536 1.414 0.472 0.000
> S <- La.svd(A)
> zapsmall(S$d)
[1] 3.379 1.536 1.414 0.472 0.000
> 
> As <- A
> As[upper.tri(A)] <- t(A)[upper.tri(A)]
> det(As)
[1] 2
> E <- eigen(As)
> E$values
[1]  3.465  1.510  0.300 -1.000 -1.275
> zapsmall(E$vectors)
        [,1]    [,2]    [,3] [,4]    [,5]
[1,] -0.4023  0.2877  0.3638  0.5  0.6108
[2,] -0.5338 -0.3474  0.5742 -0.5 -0.1207
[3,] -0.4177 -0.5380 -0.6384  0.0  0.3585
[4,] -0.4959  0.0733 -0.1273  0.5 -0.6946
[5,] -0.3644  0.7084 -0.3378 -0.5  0.0369
> solve(As)
     [,1] [,2] [,3] [,4] [,5]
[1,]    0    1 -1.0  0.0  0.0
[2,]    1    1 -1.0  0.0 -1.0
[3,]   -1   -1  1.5  0.5  0.5
[4,]    0    0  0.5 -0.5  0.5
[5,]    0   -1  0.5  0.5  0.5
> 
> ## quite hard to come up with an example where this might make sense.
> Ac <- A; Ac[] <- as.logical(diag(5))
> chol(Ac)
     [,1] [,2] [,3] [,4] [,5]
[1,]    1    0    0    0    0
[2,]    0    1    0    0    0
[3,]    0    0    1    0    0
[4,]    0    0    0    1    0
[5,]    0    0    0    0    1
> 
> 
> 
