index

A

abstractions 118

algebra. See linear algebra

algorithms 910

ancilla qubits 131

B

balanced functions 162165

basis states 51

BB84 151154

begin status 165, 167

Bell state 83, 8586

bits

classic bit vs. qubit 3233

issues with sending over network 138139

modifying messages 139

reading messages 138139

Boolean object 97

Boolean source 96

boolean type 56

breaking encryption 6

C

classical computers, evolutions in 12

classic bit vs. qubit 3233

Classic class 2627, 29

Classic.randomBit() method 2629, 121

classicsearch application 188

Classic.search method 193, 196

CloudQuantumExcecutionEnvironment constructor 135

cloud services 133135

CNot gate 8083

communication. See secure communication

constant functions 162165

control qubit 80

D

Deutsch-Jozsa algorithm

defining an oracle 167170

from functions to oracles 170173

balanced functions 172173

constant functions 171172

properties of functions 161165

reversible quantum gates 165167

experimental evidence 165166

mathematical proof 166167

when solution is not the problem 159161

disruptive parts of quantum computing 1113

evolutions in classical computers 12

quantum physics 1213

revolution in quantum computers 12

doGrover method 197, 205

E

entanglement

creating bell state 8386

gate representation for 7983

CNot gate 8083

converting to probability vectors 7980

independent probabilities

classic way 6972

quantum way 7375

physical concept of 7579

predicting heads or tails 69

evolutions in classical computers 12

expectation management 411

algorithms 910

hardware 45

reasons for learning quantum computing 1011

software 69

exponential problems 55

exponential time 6

F

f(x) balanced function 180

f(x) constant function 180

f1 constant function 171, 175

f2 balanced function 172, 175

f4 constant function 172

factorization, classic vs. quantum 209211

factor method 213

findPersonByAgeAndCountry method 188189

functions

from functions to oracles 170173

balanced functions 172173

constant functions 171172

periodic functions 214215

properties of 161165

G

gates 3739

creating periodic function using 224226

flow and circuit 224225

steps 225226

gate representation for quantum entanglement 7983

CNot gate 8083

converting to probability vectors 7980

Pauli-X gate 39

reversible quantum gates 165167

experimental evidence 165166

mathematical proof 166167

git commands 230

GPU (graphics processing unit) 13

Gradle

building “Hello World” program using 2425

running HelloStrange program using 232233

Grover's search 184

algorithm behind 196205

diffusion operator 204205

quantum oracle 200204

running example code 197199

superposition 199200

amplitudes 195196

classical search problems 185191

general preparations 186187

searching the list 187188

searching using a function 189191

overview 184

probabilities 193194

using 191193

H

Hadamard gates

applying two 146147

general discussion 6364

Java code using 6567

H class 42

hellostrange demo application 232

HelloStrange program

running using Gradle 232233

running using Maven 231232

“Hello World” program

inspecting code for 2328

build procedures 2325

Java APIs vs. implementations 2728

obtaining and installing Strange code 2829

downloading code 2829

library overview 29

running first demo with Strange 2023

high-level Java API 19

high-level languages 116117

hostname 95

I

IDE (integrated development environment) 229

IllegalArgumentException 42

independent probabilities

classic way 6972

quantum way 7375

installing Strange demo code 230

inverse quantum Fourier transform 226

inverter 37

J

Java

classical networking in 9296

QKD application in 155158

code 155157

running application 157158

using Hadamard gate 6567

java command 229

JavaFX controls module 44

java.net.Socket class 93

L

languages

for quantum computing simulators 119

approaches 119

resources for other languages 119

high-level 116117

linear algebra

matrix-matrix multiplication 235

matrix-vector multiplication 234

tensor product 236

linear time 6

List object 187

M

Main class 204205

main method 71, 188, 212213

makeCopy method 9697

manyExecution function 66

Math.random() function 71

matrix gate operations 5863

matrix that works for all gates 6263

Pauli-X gate

applying to qubit in superposition 6062

as matrix 5960

matrix-matrix multiplication 235

matrix-vector multiplication 234

Maven

building Hello World program using 2324

running HelloStrange program using 231232

mavenLocal() method 29

measurement operation 101

mvn command 232

N

n/2 function evaluations 188, 191, 203

networking. See quantum networking

no-cloning theorem 9698

nonpolynomial (exponential) scaling 16

nonpolynomial time 6

O

oracles 161

defining 167170

from functions to 170173

balanced functions 172173

constant functions 171172

org.redfx.javaqc.ch02.hellostrange package 26

org.redfx.strange.algorithm.Classic class 120

org.redfx.strangefx.render.Renderer class 44

org.redfx.strange.gate.Measurement class 101

org.redfx.strange.gate package 42

org.redfx.strange.local package 41

org.redfx.strange package 41

P

params parameter 135

Pauli-X gate 39

applying to qubit in superposition 6062

as matrix 5960

Pauli-Z gate 100101

periodic functions 214215

creating using quantum gates 224226

flow and circuit 224225

steps 225226

example 162

periodicity 214

Person class 187

Person instance 187

polynomial in quantum 8

polynomial time 6

portnumber 95

prepareStep 155

probabilities

independent probabilities

classic way 6972

quantum way 7375

probability vectors 5458, 7980

probability vector 70, 193

Program class 41

Program.initializeQubit (int index, double alpha) method 107

Program instance 6566, 122

Q

Q# language 119

QKD (quantum key distribution) 137

QKD application in Java 155158

code 155157

executing application 156

filling steps 155156

initializing variables 155

preparing steps 155

processing results 156157

running 157158

-q option 232

-q parameter 233

QPU (quantum processing unit) 13

quantum black box 167

quantum circuits, visualizing 4345

quantum computing

abstracting software for quantum computers 1416

disruptive parts of 1113

evolutions in classical computers 12

quantum physics 1213

revolution in quantum computers 12

expectation management 411

algorithms 910

hardware 45

reasons for learning quantum computing 1011

software 69

from quantum to computing or from computing to quantum 1718

hybrid computing 1314

revolution in quantum computers 12

quantum entanglement 75

QuantumExecutionEnvironment 4142, 6566, 135

quantum Fourier transform, inverse 226

quantum networking

measurements 101

obstacles to 9299

classical networking in Java 9296

no-cloning theorem 9698

physical limitations on transferring qubits 99

Pauli-Z gate 100101

quantum repeater 109112

quantum teleportation 102109

goal of 102

quantum and classical communication 108109

running application 105108

topology of quantum network 9092

quantum NOT gate 100

quantum physics 1213

Qubit class 97

qubits 5, 12

in Strange 4043

Program class 41

QuantumExecutionEnvironment interface 41

results 4243

steps and gates 4142

manipulating and measuring 3739

notation 3337

multiple qubits 3437

one qubit 34

physical limitations on transferring 99

vs. classic bits 3233

R

randomBit() function 25, 27, 29, 71, 122

repeaters 99

Result class 4243

reversible quantum gates 165167

experimental evidence 165166

mathematical proof 166167

revolution in quantum computers 12

runProgram() method 42, 66

S

search algorithm. See Grover’s search

search architecture, traditional 183184

secure communication

BB84 151154

bootstrap problem 137142

issues with sending bits over network 138139

one-time pad 140141

sharing secret key 141142

naive approach 142145

QKD in Java 155158

code 155157

running application 157158

quantum key distribution 142

using superposition 145150

applying two Hadamard gates 146147

sending qubits in superposition 147150

Shor’s algorithm

calculating the periodicity 226227

classic factorization vs. quantum factorization 209211

creating periodic function using quantum gates 224226

flow and circuit 224225

steps 225226

implementation challenges 227228

marketing hype 208209

multidisciplinary problem 211

problem description 212213

quantum arithmetic as introduction to 128

quantum-based implementation 222224

quick example 207208

rationale behind 214222

classic period finding 218219

periodic functions 214215

post-processing step 219222

solving different problem 215218

summary 228

SimpleQuantumExecutionEnvironment 41, 89, 135

simulators 133135

singleExecution function 66

software 69

solution argument 197

someFunction function 5657

source instance 97

spin property 12, 51, 76

state vector 193

Step instance 65

Strange 119123

creating own circuits with 128133

adding two qubits 128130

next steps 133

quantum arithmetic as introduction to Shor’s algorithm 128

quantum arithmetic with carry bit 131133

HelloStrange program

running using Gradle 232233

running using Maven 231232

low-level APIs 121122

obtaining and installing code for Strange library 2829

downloading code 2829

library overview 29

obtaining and installing demo code 230

qubits in 4043

Program class 41

QuantumExecutionEnvironment interface 41

results 4243

steps and gates 4142

requirements 229230

running first demo with 2023

top-level API 120121

when to use what 122123

StrangeBridge class 87

StrangeFX tool 123128

debugging Strange code 124128

visualization of circuits 123124

superposition

Hadamard gate

general discussion 6364

Java code using 6567

matrix gate operations 5863

matrix that works for all gates 6263

Pauli-X gate 5962

overview 5054

secure communication using 145150

applying two Hadamard gates 146147

sending qubits in superposition 147150

state of quantum system as probability vector 5458

superPositionStep 156

superPositionStep2 156

T

target qubit 80

teleportation, quantum 102109

goal of 102

quantum and classical communication 108109

running application 105108

tensor product 236

ToIntFunction function 189

U

user interface (presentation layer) 183

V

version key 29

-version parameter 229

X

X class 42

 

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
52.15.59.163