Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Quantum js cli #34

Open
wants to merge 32 commits into
base: ltnln-npm-package
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
32 commits
Select commit Hold shift + click to select a range
40ae959
Create quantum-js-cli package
Aug 5, 2021
e66857c
Create tests for quantum-js-cli runner.js
Aug 5, 2021
9fa52c3
Update HTML files to reference bundled Qjs
Aug 11, 2021
788727e
Set up build script for bundling css files
Aug 11, 2021
e7de83d
Update dispatchCustomEventToGlobal method and references in other files
Aug 11, 2021
105614d
Change entry point for quantum-js-util package
Aug 11, 2021
9692c33
Create quantum-js-vis visualization package for the GUI
Aug 11, 2021
931f168
Adjust help() calls to use logger module
Aug 11, 2021
54dd31f
Create bundles
Aug 11, 2021
b3f92a8
Merge pull request #1 from Altanali/quantum-js-vis-branch
Altanali Aug 11, 2021
c36ecd9
Update gate to not create default amazonBraketSymbols for gates.
Aug 11, 2021
f6f5551
Merge pull request #2 from Altanali/quantum-js-vis-branch
Altanali Aug 11, 2021
1eb9203
Update bundle.js, no longer creates default AmazonBraketSymbols for Qjs
Aug 11, 2021
e98a7af
Merge pull request #3 from Altanali/quantum-js-vis-branch
Altanali Aug 11, 2021
19eff83
Reduce width of palette on creation in a JupyterNotebook via braket()…
Aug 11, 2021
50c6ea4
Merge pull request #4 from Altanali/quantum-js-vis-branch
Altanali Aug 11, 2021
c3c08fa
Reduce width of palette on creation in a JupyterNotebook via braket()…
Aug 11, 2021
059d221
Update eslint scripts in root and quantum-js-vis package
Aug 12, 2021
26ad302
Correct circuit.clone() variable names and add gate.name and gate.css…
Aug 13, 2021
4e46ec2
Add Gate.findByNameCss function to Gate class
Aug 13, 2021
0a4aec8
RClarify regex usage, user input prompts, and correct circuitBackup g…
Aug 13, 2021
fd302f3
Change prepareCircuit() prompt to clarify that a Number is wanted by …
Aug 13, 2021
49b52cd
Revert Q.css to original Q.css to remove unicode discrepancies. Updat…
Aug 13, 2021
1c99533
Merge pull request #5 from Altanali/quantum-js-vis-branch
Altanali Aug 13, 2021
21ef0ab
Merge pull request #6 from Altanali/quantum-js-vis-branch
Altanali Aug 13, 2021
ade84d7
Merge pull request #7 from Altanali/quantum-js-cli
Altanali Aug 13, 2021
cc37d84
Update set10754() when referred to by gate names/symbols to include p…
Aug 13, 2021
afc8355
Make prompt an argument for testability and flexible i/o.
Aug 14, 2021
2547699
Add tests for prepareCircuit(), only from scratch
Aug 14, 2021
aff2a77
Change quantum-js-util entry point to index.js
Aug 14, 2021
374e395
remove extraneous console.log
Aug 14, 2021
5608587
packages/quantum-js-cli/runner.js
Aug 19, 2021
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
13 changes: 3 additions & 10 deletions Q-Circuit.html
Original file line number Diff line number Diff line change
Expand Up @@ -40,20 +40,13 @@
<link href="assets/Q-favicon-064.png" rel="icon" type="image/png">
<link href="assets/Q-favicon-144.png" rel="apple-touch-icon">

<link rel="stylesheet" href="Q/Q.css">
<link rel="stylesheet" href="Q/Q-Circuit-Editor.css">
<link rel="stylesheet" href="packages/quantum-js-vis/Q.css">
<link rel="stylesheet" href="packages/quantum-js-vis/Q-Circuit-Editor.css">
<link rel="stylesheet" href="assets/documentation.css">

<script src="https://www.googletagmanager.com/gtag/js" async></script>
<script src="assets/ga.js"></script>
<script src="Q/Q.js"></script>
<script src="Q/Q-ComplexNumber.js"></script>
<script src="Q/Q-Matrix.js"></script>
<script src="Q/Q-Qubit.js"></script>
<script src="Q/Q-Gate.js"></script>
<script src="Q/Q-History.js"></script>
<script src="Q/Q-Circuit.js"></script>
<script src="Q/Q-Circuit-Editor.js"></script>
<script src="build/bundle.js"></script>
<script src="assets/navigation.js"></script>

</head>
Expand Down
27 changes: 10 additions & 17 deletions Q-ComplexNumber.html
Original file line number Diff line number Diff line change
Expand Up @@ -40,20 +40,13 @@
<link href="assets/Q-favicon-064.png" rel="icon" type="image/png">
<link href="assets/Q-favicon-144.png" rel="apple-touch-icon">

<link rel="stylesheet" href="Q/Q.css">
<link rel="stylesheet" href="Q/Q-Circuit-Editor.css">
<link rel="stylesheet" href="packages/quantum-js-vis/Q.css">
<link rel="stylesheet" href="packages/quantum-js-vis/Q-Circuit-Editor.css">
<link rel="stylesheet" href="assets/documentation.css">

<script src="https://www.googletagmanager.com/gtag/js" async></script>
<script src="assets/ga.js"></script>
<script src="Q/Q.js"></script>
<script src="Q/Q-ComplexNumber.js"></script>
<script src="Q/Q-Matrix.js"></script>
<script src="Q/Q-Qubit.js"></script>
<script src="Q/Q-Gate.js"></script>
<script src="Q/Q-History.js"></script>
<script src="Q/Q-Circuit.js"></script>
<script src="Q/Q-Circuit-Editor.js"></script>
<script src="build/bundle.js"></script>
<script src="assets/navigation.js"></script>

</head>
Expand Down Expand Up @@ -1096,17 +1089,17 @@ <h4>Maths (destructive)</h4>



// console.log( '\n\nQ.ComplexNumber\n\n', Q.ComplexNumber.help(), '\n\n' )
// console.log( '\n\nComplexNumber\n\n', ComplexNumber.help(), '\n\n' )

var
cat = new Q.ComplexNumber( 1, 2 ),
dog = new Q.ComplexNumber( 3, -4 ),
i = new Q.ComplexNumber( 0, 1 )
cat = new ComplexNumber( 1, 2 ),
dog = new ComplexNumber( 3, -4 ),
i = new ComplexNumber( 0, 1 )

var
ape = new Q.ComplexNumber(),
bee = new Q.ComplexNumber( 1 ),
elk = new Q.ComplexNumber( 1, 2 ),
ape = new ComplexNumber(),
bee = new ComplexNumber( 1 ),
elk = new ComplexNumber( 1, 2 ),
fox = elk.clone()// We’re avoiding a warning here: new <a href="Q.html">Q</a>.ComplexNumber( cat ),


Expand Down
19 changes: 6 additions & 13 deletions Q-Gate.html
Original file line number Diff line number Diff line change
Expand Up @@ -40,20 +40,13 @@
<link href="assets/Q-favicon-064.png" rel="icon" type="image/png">
<link href="assets/Q-favicon-144.png" rel="apple-touch-icon">

<link rel="stylesheet" href="Q/Q.css">
<link rel="stylesheet" href="Q/Q-Circuit-Editor.css">
<link rel="stylesheet" href="packages/quantum-js-vis/Q.css">
<link rel="stylesheet" href="packages/quantum-js-vis/Q-Circuit-Editor.css">
<link rel="stylesheet" href="assets/documentation.css">

<script src="https://www.googletagmanager.com/gtag/js" async></script>
<script src="assets/ga.js"></script>
<script src="Q/Q.js"></script>
<script src="Q/Q-ComplexNumber.js"></script>
<script src="Q/Q-Matrix.js"></script>
<script src="Q/Q-Qubit.js"></script>
<script src="Q/Q-Gate.js"></script>
<script src="Q/Q-History.js"></script>
<script src="Q/Q-Circuit.js"></script>
<script src="Q/Q-Circuit-Editor.js"></script>
<script src="build/bundle.js"></script>
<script src="assets/navigation.js"></script>

</head>
Expand Down Expand Up @@ -1265,18 +1258,18 @@ <h3 id="Prototype_properties">Prototype properties</h3>



var gup = new Q.Gate({
var gup = new Gate({

symbol: 'G',
name: 'Gup',
nameCss: 'gup',
matrix: Q.Gate.PAULI_X.matrix
matrix: Gate.PAULI_X.matrix
})




var fox = Q.Gate.PHASE.clone({ symbol: 'F', phi: Math.PI })
var fox = Gate.PHASE.clone({ symbol: 'F', phi: Math.PI })



Expand Down
47 changes: 20 additions & 27 deletions Q-Matrix.html
Original file line number Diff line number Diff line change
Expand Up @@ -40,20 +40,13 @@
<link href="assets/Q-favicon-064.png" rel="icon" type="image/png">
<link href="assets/Q-favicon-144.png" rel="apple-touch-icon">

<link rel="stylesheet" href="Q/Q.css">
<link rel="stylesheet" href="Q/Q-Circuit-Editor.css">
<link rel="stylesheet" href="packages/quantum-js-vis/Q.css">
<link rel="stylesheet" href="packages/quantum-js-vis/Q-Circuit-Editor.css">
<link rel="stylesheet" href="assets/documentation.css">

<script src="https://www.googletagmanager.com/gtag/js" async></script>
<script src="assets/ga.js"></script>
<script src="Q/Q.js"></script>
<script src="Q/Q-ComplexNumber.js"></script>
<script src="Q/Q-Matrix.js"></script>
<script src="Q/Q-Qubit.js"></script>
<script src="Q/Q-Gate.js"></script>
<script src="Q/Q-History.js"></script>
<script src="Q/Q-Circuit.js"></script>
<script src="Q/Q-Circuit-Editor.js"></script>
<script src="build/bundle.js"></script>
<script src="assets/navigation.js"></script>

</head>
Expand Down Expand Up @@ -1250,15 +1243,15 @@ <h4>Maths operations (destructive)</h4>

// First, what do the docs have to say?

// console.log( '\n\nQ.Matrix\n\n', Q.Matrix.help(), '\n\n' )
// console.log( '\n\nMatrix\n\n', Matrix.help(), '\n\n' )


// We’re going to use `var` here instead of `let` or `const`
// because it’s more flexible for your console-hacking needs.



var a = new Q.Matrix(
var a = new Matrix(

[ 1, 2, 3 ],
[ 4, 5, 6 ]
Expand All @@ -1283,22 +1276,22 @@ <h4>Maths operations (destructive)</h4>


/*
console.log( '\n\nQ.Matrix\n', Q.extractDocumentation( Q.Matrix ), '\n\n' )
console.log( '\n\nQ.Matrix.prototype.multiply\n', Q.extractDocumentation( Q.Matrix.prototype.multiply ), '\n\n' )
console.log( '\n\nMatrix\n', Q.extractDocumentation( Matrix ), '\n\n' )
console.log( '\n\nMatrix.prototype.multiply\n', Q.extractDocumentation( Matrix.prototype.multiply ), '\n\n' )


console.log( 'Q.Matrix.IDENTITY_2X2', Q.Matrix.IDENTITY_2X2 )
console.log( 'Q.Matrix.IDENTITY_3X3', Q.Matrix.IDENTITY_3X3 )
console.log( 'Q.Matrix.IDENTITY_4X4', Q.Matrix.IDENTITY_4X4 )
console.log( 'Matrix.IDENTITY_2X2', Matrix.IDENTITY_2X2 )
console.log( 'Matrix.IDENTITY_3X3', Matrix.IDENTITY_3X3 )
console.log( 'Matrix.IDENTITY_4X4', Matrix.IDENTITY_4X4 )


console.log( 'Q.Matrix.CNOT', Q.Matrix.CNOT )
console.log( '\nQ.Matrix.CNOT.toHtml()', Q.Matrix.CNOT.toHTML(), '\n\n' )
console.log( '\nQ.Matrix.TEST_MAP_9X9.toCSV()', Q.Matrix.TEST_MAP_9X9.toCSV(), '\n\n' )
console.log( '\nQ.Matrix.TEST_MAP_9X9.toTsv()', Q.Matrix.TEST_MAP_9X9.toTsv(), '\n\n' )
console.log( 'Matrix.CNOT', Matrix.CNOT )
console.log( '\nMatrix.CNOT.toHtml()', Matrix.CNOT.toHTML(), '\n\n' )
console.log( '\nMatrix.TEST_MAP_9X9.toCSV()', Matrix.TEST_MAP_9X9.toCSV(), '\n\n' )
console.log( '\nMatrix.TEST_MAP_9X9.toTsv()', Matrix.TEST_MAP_9X9.toTsv(), '\n\n' )


console.log( 'How many matrices have we created?', Q.Matrix.index )
console.log( 'How many matrices have we created?', Matrix.index )
*/


Expand Down Expand Up @@ -1357,8 +1350,8 @@ <h4>Maths operations (destructive)</h4>
[ 3, 3, 3 ])


console.log( 'Q.Matrix.IDENTITY_2X2.multiply( e ).toTsv()', Q.Matrix.IDENTITY_2X2.multiply( e ))
console.log( 'Q.Matrix.IDENTITY_3X3.multiply( c ).toTsv()', Q.Matrix.IDENTITY_3X3.multiply( c ))
console.log( 'Matrix.IDENTITY_2X2.multiply( e ).toTsv()', Matrix.IDENTITY_2X2.multiply( e ))
console.log( 'Matrix.IDENTITY_3X3.multiply( c ).toTsv()', Matrix.IDENTITY_3X3.multiply( c ))
*/


Expand All @@ -1383,14 +1376,14 @@ <h4>Maths operations (destructive)</h4>

// Import and export formats.

var csv = Q.Matrix.fromCsv(`
var csv = Matrix.fromCsv(`
1, 2, 3
4, 5, 6
7, 8, 9`)
// console.log( 'Matrix from CSV', csv.toTsv(), '\n\n' )


var tsv = Q.Matrix.fromTsv(`1 2 3
var tsv = Matrix.fromTsv(`1 2 3
4 5 6
7 8 9`)
// console.log( 'Matrix from TSV', tsv.toTsv(), '\n\n' )
Expand All @@ -1415,7 +1408,7 @@ <h4>Maths operations (destructive)</h4>
</tr>
</table> `

// console.log( 'Matrix from HTML', Q.Matrix.fromHtml( html ).toTsv(), '\n\n' )
// console.log( 'Matrix from HTML', Matrix.fromHtml( html ).toTsv(), '\n\n' )



Expand Down
22 changes: 7 additions & 15 deletions Q-Qubit.html
Original file line number Diff line number Diff line change
Expand Up @@ -40,28 +40,20 @@
<link href="assets/Q-favicon-064.png" rel="icon" type="image/png">
<link href="assets/Q-favicon-144.png" rel="apple-touch-icon">

<link rel="stylesheet" href="Q/Q.css">
<link rel="stylesheet" href="Q/Q-Circuit-Editor.css">
<link rel="stylesheet" href="packages/quantum-js-vis/Q.css">
<link rel="stylesheet" href="packages/quantum-js-vis/Q-Circuit-Editor.css">
<link rel="stylesheet" href="assets/documentation.css">

<script src="https://www.googletagmanager.com/gtag/js" async></script>
<script src="assets/ga.js"></script>
<script src="Q/Q.js"></script>
<script src="Q/Q-ComplexNumber.js"></script>
<script src="Q/Q-Matrix.js"></script>
<script src="Q/Q-Qubit.js"></script>
<script src="Q/Q-Gate.js"></script>
<script src="Q/Q-History.js"></script>
<script src="Q/Q-Circuit.js"></script>
<script src="Q/Q-Circuit-Editor.js"></script>
<script src="build/bundle.js"></script>
<script src="assets/navigation.js"></script>

<script src="assets/Three/three.117.min.js"></script>
<script src="assets/Three/OrbitControls.js"></script>
<script src="assets/MeshLine/MeshLine.js"></script>
<script src="assets/Tween/tween.min.js"></script>
<script src="assets/SurfaceText.js"></script>
<script src="Q/Q-BlochSphere.js"></script>

</head>
<body>
Expand Down Expand Up @@ -1885,7 +1877,7 @@ <h4>Destructive methods</h4>

// Examples created in the docs:

var fox = new Q.Qubit( 1, 0 )
var fox = new Qubit( 1, 0 )



Expand Down Expand Up @@ -1958,7 +1950,7 @@ <h4>Destructive methods</h4>
camera.add( light )
scene.add( new THREE.AmbientLight( 0xFFFFFF, 0.7 ))

const blochSphere = new Q.BlochSphere( function(){
const blochSphere = new BlochSphere( function(){

document
.getElementById( 'bloch-theta' )
Expand Down Expand Up @@ -2033,7 +2025,7 @@ <h4>Destructive methods</h4>
'HDLARV'.split( '' ).forEach( function( symbol ){

const
qubit = Q.Qubit.findBySymbol( symbol ),
qubit = Qubit.findBySymbol( symbol ),
qubitElement = document.createElement( 'div' ),
qubitGutsElement = document.createElement( 'div' )

Expand Down Expand Up @@ -2069,7 +2061,7 @@ <h4>Destructive methods</h4>

blochSphere.group.rotation.x = Math.PI * 0.3
blochSphere.group.rotation.y = Math.PI / -4
selectBlochQubit( Q.Qubit.HORIZONTAL )
selectBlochQubit( Qubit.HORIZONTAL )
render()


Expand Down
13 changes: 3 additions & 10 deletions Q.html
Original file line number Diff line number Diff line change
Expand Up @@ -40,20 +40,13 @@
<link href="assets/Q-favicon-064.png" rel="icon" type="image/png">
<link href="assets/Q-favicon-144.png" rel="apple-touch-icon">

<link rel="stylesheet" href="Q/Q.css">
<link rel="stylesheet" href="Q/Q-Circuit-Editor.css">
<link rel="stylesheet" href="packages/quantum-js-vis/Q.css">
<link rel="stylesheet" href="packages/quantum-js-vis/Q-Circuit-Editor.css">
<link rel="stylesheet" href="assets/documentation.css">

<script src="https://www.googletagmanager.com/gtag/js" async></script>
<script src="assets/ga.js"></script>
<script src="Q/Q.js"></script>
<script src="Q/Q-ComplexNumber.js"></script>
<script src="Q/Q-Matrix.js"></script>
<script src="Q/Q-Qubit.js"></script>
<script src="Q/Q-Gate.js"></script>
<script src="Q/Q-History.js"></script>
<script src="Q/Q-Circuit.js"></script>
<script src="Q/Q-Circuit-Editor.js"></script>
<script src="build/bundle.js"></script>
<script src="assets/navigation.js"></script>

</head>
Expand Down