{"id":16694384,"url":"https://github.com/artiomn/qsdk","last_synced_at":"2025-03-13T23:23:08.923Z","repository":{"id":106861820,"uuid":"303550650","full_name":"artiomn/qsdk","owner":"artiomn","description":"Quantum SDK Prototype","archived":false,"fork":false,"pushed_at":"2020-10-14T00:05:55.000Z","size":114,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-01-20T18:42:24.153Z","etag":null,"topics":["dwave","ising","quantum-computing","qubo","sdk"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/artiomn.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-10-13T01:01:09.000Z","updated_at":"2020-10-14T00:05:57.000Z","dependencies_parsed_at":null,"dependency_job_id":"16db0a0c-bbb6-4e45-a862-ca23c8c13b36","html_url":"https://github.com/artiomn/qsdk","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/artiomn%2Fqsdk","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/artiomn%2Fqsdk/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/artiomn%2Fqsdk/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/artiomn%2Fqsdk/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/artiomn","download_url":"https://codeload.github.com/artiomn/qsdk/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243495689,"owners_count":20299973,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["dwave","ising","quantum-computing","qubo","sdk"],"created_at":"2024-10-12T16:45:24.207Z","updated_at":"2025-03-13T23:23:08.899Z","avatar_url":"https://github.com/artiomn.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"Прототип квантового SDK\n=======================\n\n## Требования\n\n### Предложить метод трансляции входных задач в базис QUBO\n\n[Примеры от D-Wave](https://docs.dwavesys.com/docs/latest/c_handbook_1.html).\n\n\n### Предоставить возможность решения квадратичной оптимизационной задачи\n\n- В базисе [QUBO](https://en.wikipedia.org/wiki/Quadratic_unconstrained_binary_optimization): `argmin_s(s^T * Q * s)`. `s_i = {0, 1}`\n- В базисе [Ising](https://en.wikipedia.org/wiki/Ising_model): `argmin_s(s^T * J * s + s^T * h)`. `s_i = {-1; 1}`\n- Для базиса QUBO:\n  * Трансляция входных задач в базис QUBO.\n  * Учёт ограничений для QUBO: `sA \u003c= b`.\n- Для базиса Ising:\n  * Конвертация между в базис QUBO.\n\n\n### Реализовать поддержку бэк-эндов\n\n- Адиабатический КК. Доступ через удалённое API. [Dwave-leap SDK](https://www.dwavesys.com/take-leap).\n- Квантовый симулятор. Локальный, либо удалённый. [Квантовый симулятор РКЦ](https://qml.rqc.ru/products/simulator).\n- Оптимизационный пакет. Локальный.\n\n\n## Компоновка\n\nquantum-sdk:\n\n- solvers - солверы для различных типов базисов.\n  * **QSolver** - интерфейс солвера.\n- basis - работа с базисами:\n  * **convert** - процедуры для конвертации между базисами. Переделаны из того, что есть в D-Wave.dimod.\n- backends - вычислительные бэк-энды. Каждый - наследник класса `Backend`.\n  * **dwave** - квантовый бэкэнд. Удалённый доступ по сети.\n  * **qsim** - квантовый симулятор РКЦ. Локальный или удалённый доступ по сети.\n  * **optim** -  локальный оптимизационный пакет. Локальный запуск на классическом железе, доступ через импорт.\n- examples - каталог с примерами.\n\n\n### Диаграмма классов\n\n![Classes diagram](diagram/classes.png)\n\n\n## Пример использования\n\n```python\nfrom quantum_sdk import QSolver\n\nqsolver = QSolver(backend=”quantum”)\nQ = np.random.rand(5, 5)\ns = qsolver.solve_qubo(Q)\n\n\u003e\u003e s = [1,0,0,1,1]\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fartiomn%2Fqsdk","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fartiomn%2Fqsdk","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fartiomn%2Fqsdk/lists"}