• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

Qiskit / qiskit-terra / 29426
87%

Build:
DEFAULT BRANCH: main
Ran 05 May 2021 08:46PM UTC
Jobs 1
Files 851
Run time 2min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

pending completion
29426

push

travis-ci-com

web-flow
Use symengine for parameter and parameter expressions (#6270)

* Use symengine for parameter and parameter expressions

This commit uses symengine by default everywhere sympy was previously
used. Symengine is a symbolic engine written in C++ that offers
significantly improved performance over sympy. However, because there
isn't 32 bit wheels available on pypi we can't have it as a hard
requirement in all environments. This adds it as a requirement on
supported platforms 64bit intel, arm64/aarch64, and ppc64le so by
default we have the better performance where available and in the code
there is a fallback to use sympy if it's not available.

* Add pickle support

* Pickle fixes

* Convert to sympy expression for eq and str

* Fix lint

* Fix vector pickle

* Avoid runtime import for symengine

Local benchmarking shows that importing symengine is not nearly as slow
as importing sympy. So to avoid the runtime overhead and reduce the
complexity this commit switches to use module level imports for
symengine.

* Fix test failures due to precision differences

* More fixes from subtle behavior differences

* Fix some of the gradient failures

* Fix failure in sympy fallback path

* Fix gradient tests

* Adjust complex check logic

* Fix lint

* Workaround pulse failure

* Adjust failing test to use np allclose

* Add release note

* Add is_real method to parameterexpression

* Run black post-rebase

* Remove symengine/sympy usage from gradients tests

* Remove unused import

* Fix Delay instruction's new validate is_real check

The definition of the Delay's validate_parameter method was changed in
PR #6225, this just updates it to use the new
ParameterExpression.is_real() so it works in a world with symengine.

43088 of 52866 relevant lines covered (81.5%)

0.82 hits per line

Jobs
ID Job ID Ran Files Coverage
1 29426.1 (PYTHON="coverage run --source qiskit --parallel-mode" QISKIT_TEST_CAPTURE_STREAMS=1) 05 May 2021 08:46PM UTC 0
81.5
Travis Job 29426.1
Source Files on build 29426
Detailed source file information is not available for this build.
  • Back to Repo
  • Build #29426
  • 514caef5 on github
  • Prev Build on main (#29414)
  • Next Build on main (#29437)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc