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
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions