Skip to content

Vectorisation API changed (broken?) for adaptive line integrals? #316

@burnpanck

Description

@burnpanck

This is either a follow-up to #188 or a bug report: I have been using quadpy for some time now to compute line integrals of vectorised functions adaptively using quadpy.line_segment.integrate_adaptive. Previously working code seems now to be broken due to either a bug or an API change. If it was the latter, it would be helpful to document what the API is.

The wiki states that the function should expect point arrays of the shape (d, n, p) and should return values of shape (a, n, p) to compute a vectorised result of shape (a,). For line-integrals d would be equal to 1, and it seems that in this case, the input would actually be (n, p) (this is undocumented in the wiki) - at least that is what my code seems to expect. However, with quadpy 0.14.11 it actually seems receive inputs of shape (n*p,) (or at least, a one-dimensional array of inputs). Therefore, my code currently outputs (a, 1, n*p) shaped function values, and quadpy returns an output of shape (a,1) instead of the expected (a,).

Because the details of the vectorisation shape for line integrals are currently not documented, I can't tell if this was an unintended change (i.e. bug?) or an intended API change.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions