-
Notifications
You must be signed in to change notification settings - Fork 31
/
ReleaseNotes.txt
98 lines (75 loc) · 4.21 KB
/
ReleaseNotes.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
## 0.5.1 ##
- General:
- Unify `TimeType.from_float` between fractions and gmpy2 backend behaviour (fixes issue 529).
## 0.5 ##
- General:
- Improve `TimeType` consistency by leveraging str(float) for rounding by default.
- Add support for sympy==1.5
- Add volatile parameters. Repetition counts can now be changed at runtime in some cases (useful for DNP). See
`volatile` kwarg of `create_program`
- Hardware:
- Add a `measure_program` method to the DAC interface. This method is used by the QCoDeS integration.
- Add a `set_measurement_mask` to DAC interface. This method is used by the QCoDeS integration.
- Add a `get_sample_times` util method to share code for exact and fast sample time calculation
- Add a driver for Tektronix AWG5000/7000
- Add a driver for Zurich Instruments HDAWG
- Warn the user if waveforms need to be concatenated to be compatible with hardware requirements.
- Pulse Templates:
- Add `__repr__` and `__format__` for easier inspection
- `MappingPulseTemplate`:
- `allow_partial_parameter_mapping` is now True as a default. The default can be changed with the class variable `MappingPulseTemplate.ALLOW_PARTIAL_PARAMETER_MAPPING`.
- Add specializations for `map_parameters` because the auto-inference of the return type did not work for empty input.
- Channels mapped to None are now dropped
- Add simple arithmetic operations for pulse templates
- offset and scaling with scalars
- addition with atomic pulse templates
- Expressions:
- Expressions can now be formatted as floats if they do not have free variables
- Parameters:
- Replace Parameter class with Scope
- Parameter class is now deprecated
- Backward incompatible changes:
- Removed deprecated classes:
- Sequencer: Replaced by PulseTemplate.create_program method
- Condition: Never used
- InstructionBlock: Old representation of programs. Replaced by Loop
- MultiChannelProgram: Was required in the instruction block framework
## 0.4 ##
- General:
- Add utility function `qupulse.utils.types.has_type_interface` and use it to circumvent autoreload triggered isinstance fails
- Add utility function `qupulse.utils.time_from_fraction` to make creation from numerator and denominator obvious.
- Pulse Templates:
- `MappingPulseTemplate`:
- Raise a ValueError if more than one inner channel is mapped to the same outer channel
- Plotting:
- Make `plotting.render` behaviour and return value consistent between calls with `InstructionBlock` and `Loop`. Render now always returns 3 arguments.
## 0.3 ##
- 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)
## 0.2 ##
- General:
- officially removed support for Python 3.3 (qupulse and dependencies are not compatible anymore)
- Serialization / Storage:
- Added functionality to easily access available content/identifiers in `PulseStorage` and `StorageBackend`.
- DEPRECATED `list_contents()` of `StorageBackend` (use `contents property` instead).
- DEPRECATED: `CachingBackend` because its functionality is a subset of `PulseStorage`.
- Expressions:
- Fixed bug in `Expression.evaluate_numeric` if result is array of numeric sympy objects
## 0.1.2 ##