Skip to content

Changes in Matrix 1.6-2 breaking irlba: function 'as_cholmod_sparse' not provided by package 'Matrix' #70

@PeteHaitch

Description

@PeteHaitch

Hi @bwlewis,

Changes in Matrix 1.6-2 seem to have broken irlba::irlba() for at least some types of sparse matrices.
I'm afraid I don't understand enough of Matrix and irlba to provide much help at this stage.

Cheers,
Pete


With Matrix 1.6-2

# Example taken from help("sparseMatrix", package = "Matrix").
i <- c(1,3:8); j <- c(2,9,6:10); x <- 7 * (1:7)
A <- Matrix::sparseMatrix(i, j, x = x)

irlba::irlba(A)
#> Warning in irlba::irlba(A): You're computing too large a percentage of total
#> singular values, use a standard svd instead.
#> Error in irlba::irlba(A): function 'as_cholmod_sparse' not provided by package 'Matrix'
Session info
sessionInfo()
#> R version 4.3.1 (2023-06-16)
#> Platform: x86_64-pc-linux-gnu (64-bit)
#> Running under: CentOS Linux 7 (Core)
#> 
#> Matrix products: default
#> BLAS:   /stornext/System/data/apps/R/R-4.3.1/lib64/R/lib/libRblas.so 
#> LAPACK: /stornext/System/data/apps/R/R-4.3.1/lib64/R/lib/libRlapack.so;  LAPACK version 3.11.0
#> 
#> locale:
#>  [1] LC_CTYPE=en_US.UTF-8       LC_NUMERIC=C              
#>  [3] LC_TIME=en_US.UTF-8        LC_COLLATE=en_US.UTF-8    
#>  [5] LC_MONETARY=en_US.UTF-8    LC_MESSAGES=en_US.UTF-8   
#>  [7] LC_PAPER=en_US.UTF-8       LC_NAME=C                 
#>  [9] LC_ADDRESS=C               LC_TELEPHONE=C            
#> [11] LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=C       
#> 
#> time zone: Australia/Melbourne
#> tzcode source: system (glibc)
#> 
#> attached base packages:
#> [1] stats     graphics  grDevices utils     datasets  methods   base     
#> 
#> loaded via a namespace (and not attached):
#>  [1] digest_0.6.33     fastmap_1.1.1     Matrix_1.6-2      xfun_0.41        
#>  [5] lattice_0.21-8    glue_1.6.2        knitr_1.45        htmltools_0.5.7  
#>  [9] rmarkdown_2.25    lifecycle_1.0.4   cli_3.6.1         grid_4.3.1       
#> [13] reprex_2.0.2      withr_2.5.2       compiler_4.3.1    rstudioapi_0.15.0
#> [17] tools_4.3.1       irlba_2.3.5.1     evaluate_0.23     yaml_2.3.7       
#> [21] rlang_1.1.2       fs_1.6.3

With Matrix 1.6-1

# Example taken from help("sparseMatrix", package = "Matrix").
i <- c(1,3:8); j <- c(2,9,6:10); x <- 7 * (1:7)
A <- Matrix::sparseMatrix(i, j, x = x)

irlba::irlba(A)
#> Warning in irlba::irlba(A): You're computing too large a percentage of total
#> singular values, use a standard svd instead.
#> $d
#> [1] 49.00000 44.27189 35.00000 28.00000 21.00000
#> 
#> $u
#>               [,1]          [,2]          [,3]          [,4]          [,5]
#> [1,]  1.179612e-16 -6.418477e-17 -1.942890e-16  6.938894e-17  1.110223e-16
#> [2,]  0.000000e+00  0.000000e+00  0.000000e+00  0.000000e+00  0.000000e+00
#> [3,]  3.105155e-16  3.162278e-01 -6.245005e-17  1.110223e-16 -3.816392e-17
#> [4,] -1.734723e-16 -2.428613e-17 -3.885781e-16  5.273559e-16  1.000000e+00
#> [5,] -1.942890e-16 -2.602085e-16  9.436896e-16  1.000000e+00 -3.608225e-16
#> [6,] -2.498002e-16 -2.012279e-16 -1.000000e+00  1.054712e-15  2.775558e-17
#> [7,]  9.419548e-16  9.486833e-01 -1.318390e-16  2.914335e-16 -1.734723e-17
#> [8,]  1.000000e+00 -1.334002e-15 -3.885781e-16 -3.053113e-16  8.326673e-17
#> 
#> $v
#>                [,1]          [,2]          [,3]          [,4]          [,5]
#>  [1,] -6.938894e-17 -1.474515e-16 -1.665335e-16 -1.387779e-16  0.000000e+00
#>  [2,] -9.714451e-17 -9.020562e-17  2.220446e-16  5.551115e-17  1.665335e-16
#>  [3,]  6.071532e-18  1.192622e-17  2.081668e-17  1.040834e-17  1.734723e-18
#>  [4,]  1.127570e-17  1.474515e-17  3.122502e-17  2.775558e-17 -1.040834e-17
#>  [5,] -1.994932e-17 -4.770490e-17 -4.857226e-17 -1.734723e-17 -1.040834e-17
#>  [6,] -7.632783e-17  5.898060e-17 -3.330669e-16  6.938894e-16  1.000000e+00
#>  [7,] -8.326673e-17 -5.898060e-17  1.249001e-15  1.000000e+00 -3.053113e-16
#>  [8,] -3.816392e-16 -1.734723e-16 -1.000000e+00  9.714451e-16  2.775558e-17
#>  [9,]  1.065120e-15  1.000000e+00 -1.474515e-16  2.029626e-16 -1.908196e-16
#> [10,]  1.000000e+00 -1.234689e-15 -5.134781e-16  2.012279e-16  2.463307e-16
#> 
#> $iter
#> [1] 1
#> 
#> $mprod
#> [1] 16
Session info
sessionInfo()
#> R version 4.3.1 (2023-06-16)
#> Platform: x86_64-pc-linux-gnu (64-bit)
#> Running under: CentOS Linux 7 (Core)
#> 
#> Matrix products: default
#> BLAS:   /stornext/System/data/apps/R/R-4.3.1/lib64/R/lib/libRblas.so 
#> LAPACK: /stornext/System/data/apps/R/R-4.3.1/lib64/R/lib/libRlapack.so;  LAPACK version 3.11.0
#> 
#> locale:
#>  [1] LC_CTYPE=en_US.UTF-8       LC_NUMERIC=C              
#>  [3] LC_TIME=en_US.UTF-8        LC_COLLATE=en_US.UTF-8    
#>  [5] LC_MONETARY=en_US.UTF-8    LC_MESSAGES=en_US.UTF-8   
#>  [7] LC_PAPER=en_US.UTF-8       LC_NAME=C                 
#>  [9] LC_ADDRESS=C               LC_TELEPHONE=C            
#> [11] LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=C       
#> 
#> time zone: Australia/Melbourne
#> tzcode source: system (glibc)
#> 
#> attached base packages:
#> [1] stats     graphics  grDevices utils     datasets  methods   base     
#> 
#> loaded via a namespace (and not attached):
#>  [1] digest_0.6.33     fastmap_1.1.1     Matrix_1.6-1      xfun_0.41        
#>  [5] lattice_0.21-8    glue_1.6.2        knitr_1.45        htmltools_0.5.7  
#>  [9] rmarkdown_2.25    lifecycle_1.0.4   cli_3.6.1         grid_4.3.1       
#> [13] reprex_2.0.2      withr_2.5.2       compiler_4.3.1    rstudioapi_0.15.0
#> [17] tools_4.3.1       irlba_2.3.5.1     evaluate_0.23     yaml_2.3.7       
#> [21] rlang_1.1.2       fs_1.6.3

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions