OpenFermion icon indicating copy to clipboard operation
OpenFermion copied to clipboard

Add numbers.Number to COEFFICIENT_TYPES in SymbolicOperator

Open kottmanj opened this issue 2 months ago • 1 comments

numpy.int64 and other numeric types are currently not accepted as coefficients (assuming this is not on purpose). Instead of adding them manually, numbers. Number evaluates to true for all of them.

In principle int, float, complex could be removed (left them for clarity)

This prevents errors like

    def __init__(self, term=None, coefficient=1.0):
        if not isinstance(coefficient, COEFFICIENT_TYPES):
>           raise ValueError('Coefficient must be a numeric type. Got {}'.format(type(coefficient)))
E           ValueError: Coefficient must be a numeric type. Got <class 'numpy.int64'>

kottmanj avatar Nov 14 '25 08:11 kottmanj

Thanks for your pull request! It looks like this may be your first contribution to a Google open source project. Before we can look at your pull request, you'll need to sign a Contributor License Agreement (CLA).

View this failed invocation of the CLA check for more information.

For the most up to date status, view the checks section at the bottom of the pull request.

google-cla[bot] avatar Nov 14 '25 08:11 google-cla[bot]