Skip to content

Commit

Permalink
Update Qmod files
Browse files Browse the repository at this point in the history
  • Loading branch information
OriRothClassiq committed Mar 6, 2025
1 parent 69489fb commit 4c5c096
Show file tree
Hide file tree
Showing 2 changed files with 17 additions and 69 deletions.
34 changes: 7 additions & 27 deletions algorithms/qml/qsvm_pauli_feature_map/qsvm_pauli_feature_map.qmod
Original file line number Diff line number Diff line change
@@ -1,47 +1,27 @@
qfunc pauli_kernel_expanded___0(qba: qbit[2]) {
qfunc pauli_kernel_expanded___0(data: real[2], qba: qbit[2]) {
power (2) {
hadamard_transform(qba);
suzuki_trotter([
PauliTerm {
pauli=[3, 0],
coefficient=data1_param_0
coefficient=data[0]
},
PauliTerm {
pauli=[0, 3],
coefficient=data1_param_1
coefficient=data[1]
},
PauliTerm {
pauli=[3, 3],
coefficient=(data1_param_0 - 3.1416) * (data1_param_1 - 3.1416)
coefficient=(data[0] - 3.1416) * (data[1] - 3.1416)
}
], -1, 1, 1, qba);
}
}

qfunc pauli_kernel_expanded___1(qba: qbit[2]) {
power (2) {
hadamard_transform(qba);
suzuki_trotter([
PauliTerm {
pauli=[3, 0],
coefficient=data2_param_0
},
PauliTerm {
pauli=[0, 3],
coefficient=data2_param_1
},
PauliTerm {
pauli=[3, 3],
coefficient=(data2_param_0 - 3.1416) * (data2_param_1 - 3.1416)
}
], -1, 1, 1, qba);
}
}

qfunc main(output qba: qnum<2, False, 0>) {
qfunc main(data1: real[2], data2: real[2], output qba: qnum<2, False, 0>) {
allocate(2, qba);
pauli_kernel_expanded___0(qba);
pauli_kernel_expanded___0(data1, qba);
invert {
pauli_kernel_expanded___1(qba);
pauli_kernel_expanded___0(data2, qba);
}
}
52 changes: 10 additions & 42 deletions applications/finance/credit_card_fraud/credit_card_fraud.qmod
Original file line number Diff line number Diff line change
@@ -1,71 +1,39 @@
qfunc pauli_kernel_expanded___0(qba: qbit[3]) {
qfunc pauli_kernel_expanded___0(data: real[3], qba: qbit[3]) {
power (2) {
hadamard_transform(qba);
suzuki_trotter([
PauliTerm {
pauli=[3, 0, 0],
coefficient=data1_param_0
coefficient=data[0]
},
PauliTerm {
pauli=[0, 3, 0],
coefficient=data1_param_1
coefficient=data[1]
},
PauliTerm {
pauli=[0, 0, 3],
coefficient=data1_param_2
coefficient=data[2]
},
PauliTerm {
pauli=[3, 3, 0],
coefficient=(data1_param_0 - 3.1416) * (data1_param_1 - 3.1416)
coefficient=(data[0] - 3.1416) * (data[1] - 3.1416)
},
PauliTerm {
pauli=[3, 0, 3],
coefficient=(data1_param_0 - 3.1416) * (data1_param_2 - 3.1416)
coefficient=(data[0] - 3.1416) * (data[2] - 3.1416)
},
PauliTerm {
pauli=[0, 3, 3],
coefficient=(data1_param_1 - 3.1416) * (data1_param_2 - 3.1416)
coefficient=(data[1] - 3.1416) * (data[2] - 3.1416)
}
], -1, 1, 1, qba);
}
}

qfunc pauli_kernel_expanded___1(qba: qbit[3]) {
power (2) {
hadamard_transform(qba);
suzuki_trotter([
PauliTerm {
pauli=[3, 0, 0],
coefficient=data2_param_0
},
PauliTerm {
pauli=[0, 3, 0],
coefficient=data2_param_1
},
PauliTerm {
pauli=[0, 0, 3],
coefficient=data2_param_2
},
PauliTerm {
pauli=[3, 3, 0],
coefficient=(data2_param_0 - 3.1416) * (data2_param_1 - 3.1416)
},
PauliTerm {
pauli=[3, 0, 3],
coefficient=(data2_param_0 - 3.1416) * (data2_param_2 - 3.1416)
},
PauliTerm {
pauli=[0, 3, 3],
coefficient=(data2_param_1 - 3.1416) * (data2_param_2 - 3.1416)
}
], -1, 1, 1, qba);
}
}

qfunc main(output qba: qnum<3, False, 0>) {
qfunc main(data1: real[3], data2: real[3], output qba: qnum<3, False, 0>) {
allocate(3, qba);
pauli_kernel_expanded___0(qba);
pauli_kernel_expanded___0(data1, qba);
invert {
pauli_kernel_expanded___1(qba);
pauli_kernel_expanded___0(data2, qba);
}
}

0 comments on commit 4c5c096

Please sign in to comment.