- General:
- Introduce qupulse.utils.isclose (an alias for math.isclose if available)
- Dropped support for Python 3.4 in setup.py due to incompatible syntax in qupulse.
- Official support for Python 3.7 has begun.
- Pulse Templates:
- `AtomicMultichannelPulseTemplate`:
- Add duration keyword argument & example (see MultiChannelTemplates notebook)
- Make duration equality check approximate (numeric tolerance)
- Plotting:
- Add `time_slice` keyword argument to render() and plot()
- Add `AbstractPulseTemplate` class
- `PointPulseTemplate`:
- Fixed bug in integral evaluation
- Add `ParallelConstantChannelPulseTemplate` which allows adding a constant valued channel to an arbitrary pulse template
- Expressions:
- Make ExpressionScalar hashable
- Fix bug that prevented evaluation of expressions containing some special functions (`erfc`, `factorial`, etc.)
- Parameters:
- `ConstantParameter` now accepts a `Expression` without free variables as value (given as `Expression` or string)
Also available on [PyPi](https://pypi.org/project/qupulse/0.3/)