Skip to content

Commit

Permalink
Version 1.0.3
Browse files Browse the repository at this point in the history
* Fix README Typo

* add Roadmap

* add item to roadmap

* Add Code Coverage

* Add More Tests

* Use MAP instead of a loop

* Use Sparse Matrices

* Add support for user inputed matrices

* Add check for unitary matrix in generateMatrix

* Prepare for 1.0.3
  • Loading branch information
adamisntdead authored Jan 24, 2017
1 parent 169e96c commit b146191
Show file tree
Hide file tree
Showing 17 changed files with 1,536 additions and 1,084 deletions.
4 changes: 3 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ lib-cov
*.pid
*.gz
*.swp

.nyc_output
pids
logs
results
Expand All @@ -26,3 +26,5 @@ bower_components
# OS metadata
.DS_Store
Thumbs.db

coverage
5 changes: 5 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,10 @@
# Changelog

### 24/01/17 - Version 1.0.3
- Add user inputed gates to applyGate() and generateGate()
- Switch to Sparse matrices for quicker operation
- General Bug Fixes

### 23/01/17 - Version 1.0.2
- Change to standard Math.js module
- Add Docco Documentation
Expand Down
25 changes: 22 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
# Qics - _Quantum Idealistic Computer Simulator_

[![Greenkeeper badge](https://badges.greenkeeper.io/adamisntdead/qics.svg)](https://greenkeeper.io/)

[![GitHub issues](https://img.shields.io/github/issues/adamisntdead/qics.svg)](https://github.com/adamisntdead/qics/issues)
[![GitHub license](https://img.shields.io/badge/license-Apache%202-blue.svg)](https://raw.githubusercontent.com/adamisntdead/qics/master/LICENSE)
[![Travis](https://img.shields.io/travis/adamisntdead/qics.svg)](https://travis-ci.org/adamisntdead/qics)
[![npm](https://img.shields.io/npm/v/qics.svg)](https://www.npmjs.com/package/qics)
[![Greenkeeper badge](https://badges.greenkeeper.io/adamisntdead/qics.svg)](https://greenkeeper.io/)


Qics is an Idealistic, Quantum Computer Simulation Library.
It works by holding a Quantum Register as a Matrix,
Expand Down Expand Up @@ -57,7 +57,7 @@ __Example simulation:__
const qics = require('qics');

// Create a new Quantum Register with 3 Qubits
const reg = new qicks.Register(3);
const reg = new qics.Register(3);

// Apply some gates.
// Hadamard Gate
Expand All @@ -70,6 +70,23 @@ reg.applyGate('CNOT', 1, 3) ;
console.log(reg.measure());
```

You can also use your own gates, by inputing them as an Array or Math.Matrix object
to the applyGate function.

```javascript
// Manually Add A NOT Gate

const reg = new qics.Register(2);

reg.applyGate([
[0, 1],
[1, 0]
], 1);


// Now measure the register. Should return either "10"
console.log(reg.measure());
```
***

### Documentation
Expand All @@ -84,6 +101,8 @@ To deploy the docs to the github pages, run
```shell
git subtree push --prefix docs origin gh-pages
```
To build the docs, run `npm run docs`.

***

### Build
Expand Down
11 changes: 11 additions & 0 deletions ROADMAP.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
# Roadmap / Planned Changes
***
### Features
- Output to latex
- Draw Gate Diagrams
- Qudits
- Benchmarks
- Custom Programming Language / Parser
- Extra Gates (i.e. Swap, Toffoli)
- Quantum Functions (i.e. Grover Search)
- State Dump for debugging programs
Loading

0 comments on commit b146191

Please sign in to comment.