Skip to content

Commit 754d5be

Browse files
committed
revise waveforms paraemter sequence.
1 parent 63adf95 commit 754d5be

File tree

1 file changed

+21
-18
lines changed

1 file changed

+21
-18
lines changed

tensorcircuit/waveforms.py

Lines changed: 21 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -16,82 +16,85 @@
1616

1717
@dataclass
1818
class Gaussian:
19-
amp: ParamType
2019
duration: int
20+
amp: ParamType
2121
sigma: ParamType
22+
angle: ParamType
2223
def qasm_name(self) -> str:
2324
return "gaussian"
2425
def to_args(self) -> List[ParamType]:
25-
return [self.amp, self.duration, self.sigma]
26+
return [self.duration, self.amp, self.sigma, self.angle]
2627

2728
@dataclass
2829
class GaussianSquare:
29-
amp: ParamType
3030
duration: int
31+
amp: ParamType
3132
sigma: ParamType
3233
width: ParamType
3334
def qasm_name(self) -> str:
3435
return "gaussian_square"
3536
def to_args(self) -> List[ParamType]:
36-
return [self.amp, self.duration, self.sigma, self.width]
37+
return [self.duration, self.amp, self.sigma, self.width]
3738

3839
@dataclass
3940
class Drag:
40-
amp: ParamType
4141
duration: int
42+
amp: ParamType
4243
sigma: ParamType
4344
beta: ParamType
4445
def qasm_name(self) -> str:
4546
return "drag"
4647
def to_args(self) -> List[ParamType]:
47-
return [self.amp, self.duration, self.sigma, self.beta]
48+
return [self.duration, self.amp, self.sigma, self.beta]
4849

4950
@dataclass
5051
class Constant:
51-
amp: ParamType
5252
duration: int
53+
amp: ParamType
5354
def qasm_name(self) -> str:
5455
return "constant"
5556
def to_args(self) -> List[ParamType]:
56-
return [self.amp, self.duration]
57+
return [self.duration, self.amp]
5758

5859
@dataclass
5960
class Sine:
61+
duration: int
6062
amp: ParamType
63+
phase: ParamType
6164
frequency: ParamType
62-
duration: int
65+
angle: ParamType
6366
def qasm_name(self) -> str:
64-
return "sine"
67+
return "sin"
6568
def to_args(self) -> List[ParamType]:
66-
return [self.amp, self.frequency, self.duration]
67-
69+
return [self.duration, self.amp, self.phase, self.frequency, self.angle]
70+
6871
@dataclass
6972
class Cosine:
73+
duration: int
7074
amp: ParamType
7175
frequency: ParamType
72-
duration: int
7376
def qasm_name(self) -> str:
7477
return "cosine"
7578
def to_args(self) -> List[ParamType]:
76-
return [self.amp, self.frequency, self.duration]
79+
return [self.duration, self.amp, self.frequency]
7780

7881
@dataclass
7982
class CosineDrag:
80-
amp: ParamType
8183
duration: int
84+
amp: ParamType
8285
phase: ParamType
8386
alpha: ParamType
8487
def qasm_name(self) -> str:
8588
return "cosine_drag"
8689
def to_args(self) -> List[ParamType]:
87-
return [self.amp, self.duration, self.phase, self.alpha]
90+
return [self.duration, self.amp, self.phase, self.alpha]
8891

8992
@dataclass
9093
class Flattop:
94+
duration: int
9195
amp: ParamType
9296
width: ParamType
93-
duration: int
9497
def qasm_name(self) -> str:
9598
return "flattop"
9699
def to_args(self) -> List[ParamType]:
97-
return [self.amp, self.width, self.duration]
100+
return [self.duration, self.amp, self.width]

0 commit comments

Comments
 (0)