Skip to content

Understanding storage in spectrum() #2201

@maelle

Description

@maelle

From #2058 the failure is

Error in `eigen_adjacency_impl(graph, algorithm = algorithm, which = which, 
    options = options)`: argument "storage" is missing, with no default
Backtrace:1. └─igraph::spectrum(g, which = list(howmany = 4, pos = "LA")) at [test-centrality.R:690:3](vscode-file://vscode-app/usr/share/positron/resources/app/out/vs/code/electron-browser/workbench/workbench.html#)
 2.   └─igraph:::eigen_adjacency_impl(...) at [rigraph/R/centrality.R:1247:3](vscode-file://vscode-app/usr/share/positron/resources/app/out/vs/code/electron-browser/workbench/workbench.html#)

eigen_adjacency_impl() has a storage argument. However, R_igraph_eigen_adjacency doesn't!

The YAML config from src has

igraph_eigen_adjacency:
    PARAMS: |-
        GRAPH graph, EIGENALGO algorithm=ARPACK,
        EIGENWHICH which=Default,
        INOUT ARPACK_OPTIONS options=ARPACK_DEFAULTS,
        INOUT ARPACK_STORAGE storage, OUT VECTOR values, OUT MATRIX vectors,
        OUT VECTOR_COMPLEX cmplxvalues, OUT MATRIX_COMPLEX cmplxvectors

I have two questions @szhorvat

  • What is the storage argument of eigen adjacency? From the changelog, related to storage I only see "igraph_matrix_copy_to() gained an igraph_matrix_storage_t storage parameter that specifies whether the data should be written in column-major or row-major format."
  • What could have gone wrong in the autogeneration for R_igraph_eigen_adjacency to not have the storage argument?

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions