Skip to content

Commit a5a995e

Browse files
Rectified XEB R^2
1 parent aba6ad0 commit a5a995e

File tree

2 files changed

+24
-0
lines changed

2 files changed

+24
-0
lines changed

scripts/tfim_validation_qiskit.py

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -302,6 +302,11 @@ def main():
302302

303303
# Add up the square residuals:
304304
r_squared = result["l2_difference"] ** 2
305+
xeb = result["xeb"]
306+
if xeb > 1.0:
307+
# Rectify, to penalize values greater than 1.0
308+
xeb -= xeb - 1.0
309+
r_squared_xeb = (1.0 - xeb) ** 2
305310

306311
magnetization_0, sqr_magnetization_0 = 0, 0
307312
for hamming_weight, value in enumerate(bias_0):
@@ -358,6 +363,11 @@ def main():
358363

359364
# Add up the square residuals:
360365
r_squared += result["l2_difference"] ** 2
366+
xeb = result["xeb"]
367+
if xeb > 1.0:
368+
# Rectify, to penalize values greater than 1.0
369+
xeb -= xeb - 1.0
370+
r_squared_xeb += (1.0 - xeb) ** 2
361371

362372
magnetization, sqr_magnetization = 0, 0
363373
for hamming_weight, value in enumerate(bias):
@@ -384,10 +394,12 @@ def main():
384394
# R^2 and RMSE are elementary and standard measures of goodness-of-fit with simple definitions.
385395
# Ideal marginal probability would be 1.0, each depth step. Squared and summed, that's depth.
386396
r_squared = 1.0 - r_squared / (depth + 1)
397+
r_squared_xeb = 1.0 - r_squared_xeb / (depth + 1)
387398
rmse = (ssr / depth) ** (1 / 2)
388399
sm_r_squared = 1.0 - (ssr / ss)
389400

390401
print("L2 norm similarity R^2: " + str(r_squared))
402+
print("Rectified XEB R^2: " + str(r_squared_xeb))
391403
print("Square magnetization RMSE: " + str(rmse))
392404
print("Square magnetization R^2: " + str(sm_r_squared))
393405

scripts/tfim_validation_qrack.py

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -295,6 +295,11 @@ def main():
295295

296296
# Add up the square residuals:
297297
r_squared = result["l2_difference"] ** 2
298+
xeb = result["xeb"]
299+
if xeb > 1.0:
300+
# Rectify, to penalize values greater than 1.0
301+
xeb -= xeb - 1.0
302+
r_squared_xeb = (1.0 - xeb) ** 2
298303

299304
magnetization_0, sqr_magnetization_0 = 0, 0
300305
for hamming_weight, value in enumerate(bias_0):
@@ -339,6 +344,11 @@ def main():
339344

340345
# Add up the square residuals:
341346
r_squared += result["l2_difference"] ** 2
347+
xeb = result["xeb"]
348+
if xeb > 1.0:
349+
# Rectify, to penalize values greater than 1.0
350+
xeb -= xeb - 1.0
351+
r_squared_xeb += (1.0 - xeb) ** 2
342352

343353
magnetization, sqr_magnetization = 0, 0
344354
for hamming_weight, value in enumerate(bias):
@@ -365,10 +375,12 @@ def main():
365375
# R^2 and RMSE are elementary and standard measures of goodness-of-fit with simple definitions.
366376
# Ideal marginal probability would be 1.0, each depth step. Squared and summed, that's depth.
367377
r_squared = 1.0 - r_squared / (depth + 1)
378+
r_squared_xeb = 1.0 - r_squared_xeb / (depth + 1)
368379
rmse = (ssr / depth) ** (1 / 2)
369380
sm_r_squared = 1.0 - (ssr / ss)
370381

371382
print("L2 norm similarity R^2: " + str(r_squared))
383+
print("Rectified XEB R^2: " + str(r_squared_xeb))
372384
print("Square magnetization RMSE: " + str(rmse))
373385
print("Square magnetization R^2: " + str(sm_r_squared))
374386

0 commit comments

Comments
 (0)