Last updated on 2017-02-24 23:53:01.
Flavor | Version | Tinstall | Tcheck | Ttotal | Status | Flags |
---|---|---|---|---|---|---|
r-devel-linux-x86_64-debian-clang | 0.2-0 | 17.59 | 75.39 | 92.98 | NOTE | |
r-devel-linux-x86_64-debian-gcc | 0.2-0 | 18.22 | 64.06 | 82.28 | NOTE | |
r-devel-linux-x86_64-fedora-clang | 0.2-0 | 176.05 | NOTE | --no-stop-on-test-error | ||
r-devel-linux-x86_64-fedora-gcc | 0.2-0 | 190.27 | NOTE | --no-stop-on-test-error | ||
r-devel-macos-x86_64-clang | 0.2-0 | 131.77 | NOTE | --no-stop-on-test-error | ||
r-devel-windows-ix86+x86_64 | 0.2-0 | 90.00 | 225.00 | 315.00 | OK | |
r-patched-linux-x86_64 | 0.2-0 | 16.54 | 55.89 | 72.43 | OK | |
r-patched-solaris-sparc | 0.2-0 | 795.20 | ERROR | |||
r-patched-solaris-x86 | 0.2-0 | 176.40 | ERROR | |||
r-release-linux-x86_64 | 0.2-0 | 17.01 | 56.70 | 73.71 | OK | |
r-release-osx-x86_64-mavericks | 0.2-0 | OK | ||||
r-release-windows-ix86+x86_64 | 0.2-0 | 58.00 | 178.00 | 236.00 | OK | |
r-oldrel-windows-ix86+x86_64 | 0.2-0 | 59.00 | 195.00 | 254.00 | OK |
Version: 0.2-0
Check: compiled code
Result: NOTE
File ‘wordspace/libs/wordspace.so’:
Found no calls to: ‘R_registerRoutines’, ‘R_useDynamicSymbols’
It is good practice to register native routines and to disable symbol
search.
See ‘Writing portable packages’ in the ‘Writing R Extensions’ manual.
Flavors: r-devel-linux-x86_64-debian-clang, r-devel-linux-x86_64-debian-gcc
Version: 0.2-0
Flags: --no-stop-on-test-error
Check: compiled code
Result: NOTE
File ‘wordspace/libs/wordspace.so’:
Found no calls to: ‘R_registerRoutines’, ‘R_useDynamicSymbols’
It is good practice to register native routines and to disable symbol
search.
See ‘Writing portable packages’ in the ‘Writing R Extensions’ manual.
Flavors: r-devel-linux-x86_64-fedora-clang, r-devel-linux-x86_64-fedora-gcc, r-devel-macos-x86_64-clang
Version: 0.2-0
Check: tests
Result: ERROR
Running ‘dist_matrix.R’ [15s/15s]
Running ‘dsm_projection.R’ [15s/22s]
Running the tests in ‘tests/dsm_projection.R’ failed.
Complete output:
> ## Validate SVD and other latent subspace projections
> ## based on small "hieroglyphs" example matrix
>
> library(wordspace)
Loading required package: Matrix
> library(Matrix)
>
> matrix.equal <- function(x, y, name="matrix comparison", tol=1e-12, ignore.sign=FALSE, verbose=TRUE) {
+ if (nrow(x) == nrow(y) && ncol(x) == ncol(y)) {
+ if (ignore.sign) {
+ ## sign of columns is arbitrary in SVD projection
+ max.diff.col.1 <- apply(abs(x - y), 2, max) # max diff in each column (same sign)
+ max.diff.col.2 <- apply(abs(x + y), 2, max) # max diff in each column (opposite sign)
+ max.diff <- max(pmin(max.diff.col.1, max.diff.col.2)) # pick smaller diff for each col, then take maximum
+ } else {
+ max.diff <- max(abs(x - y))
+ }
+ if (max.diff < tol) {
+ invisible(TRUE)
+ } else {
+ if (verbose) cat(sprintf("%s: largest difference between matrices = %g exceeds tolerance limit\n", name, max.diff))
+ invisible(FALSE)
+ }
+ } else {
+ if (verbose) cat(sprintf("%s: different matrix formats %d x %d != %d x %d\n", name, nrow(x), ncol(x), nrow(y), ncol(y)))
+ invisible(FALSE)
+ }
+ }
>
> dist.compare <- function (M1, M2, label="TODO", verbose=TRUE, method="euclidean", tol=0.3) { # tol = proportion of average distance (for matrix with larger distances)
+ stopifnot(nrow(M1) == nrow(M2))
+ nr <- nrow(M1)
+ M1 <- dist.matrix(M1, method=method)
+ M2 <- dist.matrix(M2, method=method)
+ n <- nr * (nr - 1)
+ sum1 <- sum(M1) / n
+ sum2 <- sum(M2) / n
+ d <- sqrt(sum((M1 - M2)^2) / n) # root mean squared difference
+ rel.error <- d / max(sum1, sum2)
+ if (verbose) cat(sprintf("%s: average difference = %.1f, relative error = %4.1f%%\n", label, d, 100 * rel.error))
+ if (rel.error > tol) stop("relative error exceeds tolerance limit")
+ invisible(rel.error)
+ }
>
> ## test data: sparse co-occurrence matrix in sparse and dense representation
> O <- DSM_HieroglyphsMatrix
> E <- outer(rowSums(O), colSums(O)) / sum(O)
> M1 <- scale((O - E) / sqrt(E), center=TRUE, scale=FALSE) # z-score (signed), centered (so SVD projection == PCA)
> M2 <- as(M1, "dgCMatrix") # force sparse matrix representation to test sparse algorithms
>
>
> ## full-rank SVD decomposition
> svd.R <- svd(M1, nu=6, nv=6)
> proj.R <- svd.R$u %*% diag(svd.R$d) # projection into SVD space
> approx.R <- proj.R %*% t(svd.R$v) # matrix approximation
>
> proj.ws <- dsm.projection(M1, method="svd", n=6, with.basis=TRUE)
> approx.ws <- proj.ws %*% t(attr(proj.ws, "basis"))
>
> dist.compare(proj.R, M1, label="Full-rank SVD projection (R)", tol=.001)
Full-rank SVD projection (R): average difference = 0.0, relative error = 0.0%
> dist.compare(approx.R, M1, label="Full-rank SVD approximation (R)", tol=.001)
Full-rank SVD approximation (R): average difference = 0.0, relative error = 0.0%
> stopifnot(matrix.equal(approx.R, M1, tol=1e-6))
>
> dist.compare(proj.ws, M1, label="Full-rank SVD projection (R)", tol=.001)
Full-rank SVD projection (R): average difference = 0.0, relative error = 0.0%
> dist.compare(approx.ws, M1, label="Full-rank SVD approximation (R)", tol=.001)
Full-rank SVD approximation (R): average difference = 0.0, relative error = 0.0%
> stopifnot(matrix.equal(approx.ws, M2, tol=1e-6))
>
>
> ## SVD projection
> svd.R <- svd(M1, nu=3, nv=3)
> proj.R <- svd.R$u %*% diag(svd.R$d[1:3]) # projection into SVD space
> proj.ws <- dsm.projection(M1, method="svd", n=3)
> proj.ws.sparse <- dsm.projection(M2, method="svd", n=3)
*** caught segfault ***
address b, cause 'memory not mapped'
Traceback:
1: .Call(svdLAS2_, dim(M), M@i, M@p, M@x, as.integer(rank), as.double(tol * c(-1, 1)), as.double(kappa))
2: sparsesvd(M, rank = n)
3: dsm.projection(M2, method = "svd", n = 3)
An irrecoverable exception occurred. R is aborting now ...
Flavor: r-patched-solaris-sparc
Version: 0.2-0
Check: re-building of vignette outputs
Result: WARN
Error in re-building vignettes:
...
Warning in engine$weave(file, quiet = quiet, encoding = enc) :
Pandoc (>= 1.12.3) and/or pandoc-citeproc not available. Falling back to R Markdown v1.
Loading required package: Matrix
*** caught segfault ***
address 8, cause 'memory not mapped'
Traceback:
1: .Call(svdLAS2_, dim(M), M@i, M@p, M@x, as.integer(rank), as.double(tol * c(-1, 1)), as.double(kappa))
2: sparsesvd(M, rank = n)
3: dsm.projection(VObj, method = "svd", n = 300)
4: eval(expr, envir, enclos)
5: eval(expr, envir, enclos)
6: withVisible(eval(expr, envir, enclos))
7: withCallingHandlers(withVisible(eval(expr, envir, enclos)), warning = wHandler, error = eHandler, message = mHandler)
8: handle(ev <- withCallingHandlers(withVisible(eval(expr, envir, enclos)), warning = wHandler, error = eHandler, message = mHandler))
9: timing_fn(handle(ev <- withCallingHandlers(withVisible(eval(expr, envir, enclos)), warning = wHandler, error = eHandler, message = mHandler)))
10: evaluate_call(expr, parsed$src[[i]], envir = envir, enclos = enclos, debug = debug, last = i == length(out), use_try = stop_on_error != 2L, keep_warning = keep_warning, keep_message = keep_message, output_handler = output_handler, include_timing = include_timing)
11: evaluate(code, envir = env, new_device = FALSE, keep_warning = !isFALSE(options$warning), keep_message = !isFALSE(options$message), stop_on_error = if (options$error && options$include) 0L else 2L, output_handler = knit_handlers(options$render, options))
12: in_dir(input_dir(), evaluate(code, envir = env, new_device = FALSE, keep_warning = !isFALSE(options$warning), keep_message = !isFALSE(options$message), stop_on_error = if (options$error && options$include) 0L else 2L, output_handler = knit_handlers(options$render, options)))
13: block_exec(params)
14: call_block(x)
15: process_group.block(group)
16: process_group(group)
17: withCallingHandlers(if (tangle) process_tangle(group) else process_group(group), error = function(e) { setwd(wd) cat(res, sep = "\n", file = output %n% "") message("Quitting from lines ", paste(current_lines(i), collapse = "-"), " (", knit_concord$get("infile"), ") ") })
18: process_file(text, output)
19: knit(input, text = text, envir = envir, encoding = encoding, quiet = quiet)
20: knit2html(..., force_v1 = TRUE)
21: (if (grepl("\\.[Rr]md$", file)) knit2html_v1 else if (grepl("\\.[Rr]rst$", file)) knit2pdf else knit)(file, encoding = encoding, quiet = quiet, envir = globalenv())
22: vweave(...)
23: engine$weave(file, quiet = quiet, encoding = enc)
24: doTryCatch(return(expr), name, parentenv, handler)
25: tryCatchOne(expr, names, parentenv, handlers[[1L]])
26: tryCatchList(expr, classes, parentenv, handlers)
27: tryCatch({ engine$weave(file, quiet = quiet, encoding = enc) setwd(startdir) find_vignette_product(name, by = "weave", engine = engine)}, error = function(e) { stop(gettextf("processing vignette '%s' failed with diagnostics:\n%s", file, conditionMessage(e)), domain = NA, call. = FALSE)})
28: buildVignettes(dir = "/home/ripley/R/packages/tests32/wordspace.Rcheck/vign_test/wordspace")
An irrecoverable exception occurred. R is aborting now ...
Flavor: r-patched-solaris-sparc
Version: 0.2-0
Check: tests
Result: ERROR
Running ‘dist_matrix.R’
Running ‘dsm_projection.R’ [4s/14s]
Running the tests in ‘tests/dsm_projection.R’ failed.
Complete output:
> ## Validate SVD and other latent subspace projections
> ## based on small "hieroglyphs" example matrix
>
> library(wordspace)
Loading required package: Matrix
> library(Matrix)
>
> matrix.equal <- function(x, y, name="matrix comparison", tol=1e-12, ignore.sign=FALSE, verbose=TRUE) {
+ if (nrow(x) == nrow(y) && ncol(x) == ncol(y)) {
+ if (ignore.sign) {
+ ## sign of columns is arbitrary in SVD projection
+ max.diff.col.1 <- apply(abs(x - y), 2, max) # max diff in each column (same sign)
+ max.diff.col.2 <- apply(abs(x + y), 2, max) # max diff in each column (opposite sign)
+ max.diff <- max(pmin(max.diff.col.1, max.diff.col.2)) # pick smaller diff for each col, then take maximum
+ } else {
+ max.diff <- max(abs(x - y))
+ }
+ if (max.diff < tol) {
+ invisible(TRUE)
+ } else {
+ if (verbose) cat(sprintf("%s: largest difference between matrices = %g exceeds tolerance limit\n", name, max.diff))
+ invisible(FALSE)
+ }
+ } else {
+ if (verbose) cat(sprintf("%s: different matrix formats %d x %d != %d x %d\n", name, nrow(x), ncol(x), nrow(y), ncol(y)))
+ invisible(FALSE)
+ }
+ }
>
> dist.compare <- function (M1, M2, label="TODO", verbose=TRUE, method="euclidean", tol=0.3) { # tol = proportion of average distance (for matrix with larger distances)
+ stopifnot(nrow(M1) == nrow(M2))
+ nr <- nrow(M1)
+ M1 <- dist.matrix(M1, method=method)
+ M2 <- dist.matrix(M2, method=method)
+ n <- nr * (nr - 1)
+ sum1 <- sum(M1) / n
+ sum2 <- sum(M2) / n
+ d <- sqrt(sum((M1 - M2)^2) / n) # root mean squared difference
+ rel.error <- d / max(sum1, sum2)
+ if (verbose) cat(sprintf("%s: average difference = %.1f, relative error = %4.1f%%\n", label, d, 100 * rel.error))
+ if (rel.error > tol) stop("relative error exceeds tolerance limit")
+ invisible(rel.error)
+ }
>
> ## test data: sparse co-occurrence matrix in sparse and dense representation
> O <- DSM_HieroglyphsMatrix
> E <- outer(rowSums(O), colSums(O)) / sum(O)
> M1 <- scale((O - E) / sqrt(E), center=TRUE, scale=FALSE) # z-score (signed), centered (so SVD projection == PCA)
> M2 <- as(M1, "dgCMatrix") # force sparse matrix representation to test sparse algorithms
>
>
> ## full-rank SVD decomposition
> svd.R <- svd(M1, nu=6, nv=6)
> proj.R <- svd.R$u %*% diag(svd.R$d) # projection into SVD space
> approx.R <- proj.R %*% t(svd.R$v) # matrix approximation
>
> proj.ws <- dsm.projection(M1, method="svd", n=6, with.basis=TRUE)
> approx.ws <- proj.ws %*% t(attr(proj.ws, "basis"))
>
> dist.compare(proj.R, M1, label="Full-rank SVD projection (R)", tol=.001)
Full-rank SVD projection (R): average difference = 0.0, relative error = 0.0%
> dist.compare(approx.R, M1, label="Full-rank SVD approximation (R)", tol=.001)
Full-rank SVD approximation (R): average difference = 0.0, relative error = 0.0%
> stopifnot(matrix.equal(approx.R, M1, tol=1e-6))
>
> dist.compare(proj.ws, M1, label="Full-rank SVD projection (R)", tol=.001)
Full-rank SVD projection (R): average difference = 0.0, relative error = 0.0%
> dist.compare(approx.ws, M1, label="Full-rank SVD approximation (R)", tol=.001)
Full-rank SVD approximation (R): average difference = 0.0, relative error = 0.0%
> stopifnot(matrix.equal(approx.ws, M2, tol=1e-6))
>
>
> ## SVD projection
> svd.R <- svd(M1, nu=3, nv=3)
> proj.R <- svd.R$u %*% diag(svd.R$d[1:3]) # projection into SVD space
> proj.ws <- dsm.projection(M1, method="svd", n=3)
> proj.ws.sparse <- dsm.projection(M2, method="svd", n=3)
*** caught segfault ***
address 6, cause 'memory not mapped'
Traceback:
1: .Call(svdLAS2_, dim(M), M@i, M@p, M@x, as.integer(rank), as.double(tol * c(-1, 1)), as.double(kappa))
2: sparsesvd(M, rank = n)
3: dsm.projection(M2, method = "svd", n = 3)
An irrecoverable exception occurred. R is aborting now ...
Flavor: r-patched-solaris-x86
Version: 0.2-0
Check: re-building of vignette outputs
Result: WARN
Error in re-building vignettes:
...
Warning in engine$weave(file, quiet = quiet, encoding = enc) :
Pandoc (>= 1.12.3) and/or pandoc-citeproc not available. Falling back to R Markdown v1.
Loading required package: Matrix
*** caught segfault ***
address 85b, cause 'memory not mapped'
Traceback:
1: .Call(svdLAS2_, dim(M), M@i, M@p, M@x, as.integer(rank), as.double(tol * c(-1, 1)), as.double(kappa))
2: sparsesvd(M, rank = n)
3: dsm.projection(VObj, method = "svd", n = 300)
4: eval(expr, envir, enclos)
5: eval(expr, envir, enclos)
6: withVisible(eval(expr, envir, enclos))
7: withCallingHandlers(withVisible(eval(expr, envir, enclos)), warning = wHandler, error = eHandler, message = mHandler)
8: handle(ev <- withCallingHandlers(withVisible(eval(expr, envir, enclos)), warning = wHandler, error = eHandler, message = mHandler))
9: timing_fn(handle(ev <- withCallingHandlers(withVisible(eval(expr, envir, enclos)), warning = wHandler, error = eHandler, message = mHandler)))
10: evaluate_call(expr, parsed$src[[i]], envir = envir, enclos = enclos, debug = debug, last = i == length(out), use_try = stop_on_error != 2L, keep_warning = keep_warning, keep_message = keep_message, output_handler = output_handler, include_timing = include_timing)
11: evaluate(code, envir = env, new_device = FALSE, keep_warning = !isFALSE(options$warning), keep_message = !isFALSE(options$message), stop_on_error = if (options$error && options$include) 0L else 2L, output_handler = knit_handlers(options$render, options))
12: in_dir(input_dir(), evaluate(code, envir = env, new_device = FALSE, keep_warning = !isFALSE(options$warning), keep_message = !isFALSE(options$message), stop_on_error = if (options$error && options$include) 0L else 2L, output_handler = knit_handlers(options$render, options)))
13: block_exec(params)
14: call_block(x)
15: process_group.block(group)
16: process_group(group)
17: withCallingHandlers(if (tangle) process_tangle(group) else process_group(group), error = function(e) { setwd(wd) cat(res, sep = "\n", file = output %n% "") message("Quitting from lines ", paste(current_lines(i), collapse = "-"), " (", knit_concord$get("infile"), ") ") })
18: process_file(text, output)
19: knit(input, text = text, envir = envir, encoding = encoding, quiet = quiet)
20: knit2html(..., force_v1 = TRUE)
21: (if (grepl("\\.[Rr]md$", file)) knit2html_v1 else if (grepl("\\.[Rr]rst$", file)) knit2pdf else knit)(file, encoding = encoding, quiet = quiet, envir = globalenv())
22: vweave(...)
23: engine$weave(file, quiet = quiet, encoding = enc)
24: doTryCatch(return(expr), name, parentenv, handler)
25: tryCatchOne(expr, names, parentenv, handlers[[1L]])
26: tryCatchList(expr, classes, parentenv, handlers)
27: tryCatch({ engine$weave(file, quiet = quiet, encoding = enc) setwd(startdir) find_vignette_product(name, by = "weave", engine = engine)}, error = function(e) { stop(gettextf("processing vignette '%s' failed with diagnostics:\n%s", file, conditionMessage(e)), domain = NA, call. = FALSE)})
28: buildVignettes(dir = "/home/ripley/R/packages/tests32/wordspace.Rcheck/vign_test/wordspace")
An irrecoverable exception occurred. R is aborting now ...
Flavor: r-patched-solaris-x86