|
|
(6 medziľahlých úprav od rovnakého používateľa nie je zobrazených.) |
Riadok 1: |
Riadok 1: |
− | <nowiki>
| + | https://arxiv.org/pdf/1803.05316.pdf |
− | https://aarextiaokhiao.github.io/Factor-Num-Up/ | + | An Invitation to Applied Category Theory |
| | | |
− | eyJsYXN0VGljayI6MTU4MDQ4ODIzMTU4NSwibWlsZXN0b25lcyI6NSwibnVtYmVyIjoxMTQwNC42NjA3NDIxODc1MDEsImZhY3RvcnMiOlsxMyw1LDIsMSwxLDEsMV0sInByaW1lIjp7InByaW1lcyI6MSwiZmVhdHVyZXMiOjEsInVwZ3JhZGVzIjpbMV0sImJ1eVF1YW50aXR5IjoxLCJwcmltZUdhaW5SYXRlUGVhayI6MCwiYm9vc3RzIjp7ImZ1ZWwiOjAsIndlaWdodHMiOlswLDAsMCwwLDAsMCwwLDBdLCJmdWVsRWZmaWNpZW50IjoxLCJmdWVsUGFjayI6MSwiZHVtcGVkIjowLCJ2aXJ0dWFsIjp7IndlaWdodHMiOlswLDAsMCwwLDAsMCwwLDBdLCJmdWVsRWZmaWNpZW50IjowLCJjdXJyZW50Q2hhbGxlbmdlIjowLCJudW1iZXIiOjAsImZhY3RvcnMiOlsxLDEsMSwxLDEsMSwxLDFdLCJwcmltZUdhaW5SYXRlUGVhayI6MCwiYXV0b21hdGVkQnV5aW5nIjp7InByaW9yaXRpZXMiOlsxLDIsMyw0LDUsNiw3XSwiZW5hYmxlZCI6W3RydWUsdHJ1ZSx0cnVlLHRydWUsdHJ1ZSx0cnVlLHRydWVdLCJhdXRvbWF0ZWRFbWJyYWNlIjpmYWxzZSwid2FpdEZvck5leHRFbWJyYWNlIjoxfX19LCJidXlNb2RlIjoxLCJhZHZhbmNlZEJ1eWluZyI6eyJlbmFibGVkIjpbdHJ1ZSx0cnVlLHRydWUsdHJ1ZSx0cnVlLHRydWUsdHJ1ZV0sInByaW9yaXRpZXMiOlsxLDIsMyw0LDUsNiw3XX0sImF1dG9tYXRlZEJ1eWluZyI6eyJhdXRvQnV5RW5hYmxlZCI6ZmFsc2UsImludGVydmFsIjoxLCJsYXN0VGljayI6MCwiZW5hYmxlZCI6W3RydWUsdHJ1ZSx0cnVlLHRydWUsdHJ1ZSx0cnVlLHRydWVdLCJwcmlvcml0aWVzIjpbMSwyLDMsNCw1LDYsN10sInByaW1lIjp7ImVuYWJsZWQiOmZhbHNlLCJ3YWl0Rm9yTmV4dCI6MX19LCJjaGFsbGVuZ2VzIjp7ImN1cnJlbnQiOjAsImNvbXBsZXRlZCI6W10sImhpZ2hTY29yZSI6WzEwLDEwLDEsMSwxMDAsMTAsMTAwLDEwMDBdfSwiZ2FtZUJyZWFrIjp7ImJ1Z3MiOjAsImhhbGZDbGlja3MiOjAsImhhbGZDbGlja0dhaW4iOmZhbHNlLCJ1cGdyYWRlcyI6W10sInBhcmFsbGVsVW5pdmVyc2UiOjAsInBhcmFsbGVsRHVzdCI6MH19LCJzdGF0aXN0aWNzIjp7InBsYXl0aW1lIjoxNDEzNC4xMjUwMDAwMDQ1NywidG90YWxOdW1iZXIiOjUxODc1ODc1MDg0OS4wMjI5LCJwcmltZWQiOjIsInRoaXNQcmltZSI6NTguNDE4OTk5OTk5OTk5OTI2LCJsYXN0MTBFbWJyYWNlcyI6W1sxLDAsMCwyMjYzODA3Mjg3MDkuMjM0NDcsZmFsc2VdLFsxLDAsMCwxMDkwNTU3NTk2MzUuNjQxNTksZmFsc2VdXSwiZmFzdGVzdENoYWxsZW5nZVRpbWVzIjp7fSwiZmFzdGVzdEhhbGZDbGlja1J1biI6MS43OTc2OTMxMzQ4NjIzMTU3ZSszMDgsImhpZ2hlc3RQYXJhbGxlbFVuaXZlcnNlIjowLCJ0aGlzVmlydHVhbFByaW1lIjowLCJ2aXJ0dWFsUHJpbWVkIjowfSwib3B0aW9ucyI6eyJub3RhdGlvbiI6MCwidXBkYXRlUmF0ZSI6MTAsInRoZW1lIjoiTm9ybWFsIiwiZGV0YWlsZWQiOmZhbHNlfSwidmVyc2lvbiI6MC4yMDEsImJldGEiOjB9
| |
| | | |
− | https://pmotschmann.github.io/Evolve/ | + | https://quantum.country/ |
| + | https://michaelnielsen.org/blog/quantum-computing-for-the-determined/ |
| | | |
− | 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
| + | Slovo "superpozícia" znamená lineárna kombinácia stavov. |
| | | |
− | https://fuzzything44.github.io/Incremental/Technomancy/#
| |
| | | |
− | eyJhZHZlbnR1cmUiOiJ7XCJzaGlwXCI6e1wiZW5naW5lXCI6e1wibmFtZVwiOlwiYmFzaWNfZW5naW5lXCJ9LFwic2hpZWxkXCI6e1wibmFtZVwiOlwiYmFzaWNfc2hpZWxkXCJ9LFwid2VhcG9uXzFcIjp7XCJuYW1lXCI6XCJiYXNpY193ZWFwb25cIn0sXCJ3ZWFwb25fMlwiOm51bGwsXCJ3ZWFwb25fM1wiOm51bGx9LFwiaW52ZW50b3J5X3NpemVcIjoyMCxcImludmVudG9yeV9mdWVsXCI6MCxcImludmVudG9yeVwiOltdLFwid2FyZWhvdXNlXCI6W10sXCJjdXJyZW50X2xvY2F0aW9uXCI6XCJob21lXCIsXCJtYXhfbWFuYVwiOjEwMDAwMCxcIm1heF9yZWZpbmVcIjoxMDAwMH0iLCJyZXMtc2x1ZGdlIjoiMCIsImdyb3VwaW5ncyI6IntcIkFsbFwiOltcImNoYWxsZW5nZV9iYXNpY1wiLFwiY2hhbGxlbmdlX21lZGl1bVwiLFwiY2hhbGxlbmdlX2FkdmFuY2VkXCIsXCJiYW5rXCIsXCJvaWxfd2VsbFwiLFwibGlicmFyeVwiLFwid2F0ZXJfcHVyaWZpZXJcIixcInNreXNjcmFwZXJcIixcIm9pbF9lbmdpbmVcIixcInNvbGFyX3BhbmVsXCIsXCJoeWRyb2dlbl9idXJuZXJcIixcInJlYWN0b3JcIixcIm1pbmVcIixcImxvZ2dpbmdcIixcImZ1cm5hY2VcIixcImdvbGRfZmluZGVyXCIsXCJjb21wcmVzc29yXCIsXCJqZXdlbGVyXCIsXCJnbGFzc19qZXdlbGVyXCIsXCJqZXdlbHJ5X3N0b3JlXCIsXCJwYXBlcl9taWxsXCIsXCJpbmtfcmVmaW5lcnlcIixcIm1vbmV5X3ByaW50ZXJcIixcImJvb2tfcHJpbnRlclwiLFwiaHlkcm9nZW5fZ2VuXCIsXCJmdWVsX21ha2VyXCIsXCJtYWduZXRcIixcImJvb2tfYm9vc3RcIixcInN0ZWVsX3NtZWx0ZXJcIixcIm1pdGhyaWxfc21lbHRlclwiLFwiZHJpbGxcIixcImJpZ19iYW5rXCIsXCJiaWdfbWluZVwiLFwiaHlkcm9nZW5fbWluZVwiLFwibWFuYV9wdXJpZmllclwiLFwib21lZ2FfbWFjaGluZVwiXSxcIlNwZWxsc1wiOltcInNfZ29sZGJvb3N0XCIsXCJzX2VuZXJneWJvb3N0XCIsXCJzX3RyYWRlXCIsXCJzX3N0YXJ0Ym9vc3RcIixcInNfdGltZV9tYWdpY1wiLFwic193b3Jrc2hvcFwiLFwic190aW1lX21ha2VyXCIsXCJzX3dvcmtzaG9wXzJcIixcInNfZW5jaGFudG1lbnRcIixcInNfYWlcIixcInNfYXV0b2Vzc2VuY2VcIixcInNfY2hhbGxlbmdlXCJdfSIsInJlcy1yZXNlYXJjaCI6IjAiLCJidWlsZC1kcmlsbCI6IntcIm9uXCI6ZmFsc2UsXCJhbW91bnRcIjowLFwiYmFzZV9jb3N0XCI6e1wibWl0aHJpbFwiOjUwLFwiZGlhbW9uZFwiOjEwLFwic3RlZWxfYmVhbVwiOjEwMH0sXCJwcmljZV9yYXRpb1wiOntcIm1pdGhyaWxcIjoxLjExLFwiZGlhbW9uZFwiOjEuMTMsXCJzdGVlbF9iZWFtXCI6MS4wNX0sXCJnZW5lcmF0aW9uXCI6e1wid2F0ZXJcIjotNSxcImVuZXJneVwiOi01LFwic3RvbmVcIjoyMCxcImRpYW1vbmRcIjowLjEsXCJpcm9uX29yZVwiOjF9LFwibXVsdGlwbGllcnNcIjp7XCJpcm9uX29yZVwiOjAuMDV9LFwiZnJlZVwiOjAsXCJmbGF2b3JcIjpcIkEgbWFzc2l2ZSwgd2F0ZXItY29vbGVkIGRyaWxsIHRvIHJlY292ZXIgbWF0ZXJpYWxzIGZyb20gdGhlIGNlbnRlciBvZiB0aGUgZWFydGguIEl0J3MgcHJldHR5IGJvcmUtaW5nLlwifSIsInJlcy1tb25leSI6IjMzNDAzLjA0MzQ3NjMyNDM1IiwiYnVpbGQtY29tcHJlc3NvciI6IntcIm9uXCI6ZmFsc2UsXCJhbW91bnRcIjoxLFwiYmFzZV9jb3N0XCI6e1wibW9uZXlcIjoxMDAsXCJzdG9uZVwiOjMwMCxcImlyb25cIjo1MH0sXCJwcmljZV9yYXRpb1wiOntcIm1vbmV5XCI6MS4zLFwic3RvbmVcIjoxLjMsXCJpcm9uXCI6MS4zfSxcImdlbmVyYXRpb25cIjp7XCJjb2FsXCI6LTYuMyxcImRpYW1vbmRcIjowLjF9LFwibXVsdGlwbGllcnNcIjp7fSxcImZyZWVcIjowLFwiZmxhdm9yXCI6XCJSdW5uaW5nIHRoaXMgbWFjaGluZSBpcyBhIGhpZ2gtcHJlc3N1cmUgam9iLlwifSIsInJlcy1zdG9uZSI6IjE4MTAyLjk2MTEzMjc5MjU5MiIsInRoZW1lIjoibGlnaHQiLCJidWlsZC1zX2VuZXJneWJvb3N0Ijoie1wib25cIjpmYWxzZSxcImFtb3VudFwiOjEsXCJiYXNlX2Nvc3RcIjp7XCJtYW5hXCI6MH0sXCJwcmljZV9yYXRpb1wiOntcIm1hbmFcIjowfSxcImdlbmVyYXRpb25cIjp7XCJtYW5hXCI6LTMsXCJlbmVyZ3lcIjoxfSxcIm11bHRpcGxpZXJzXCI6e30sXCJ1cGRhdGVcIjpcIm5vcFwiLFwiZnJlZVwiOjAsXCJmbGF2b3JcIjpcIlwifSIsImJ1aWxkLWpld2Vscnlfc3RvcmUiOiJ7XCJvblwiOmZhbHNlLFwiYW1vdW50XCI6MSxcImJhc2VfY29zdFwiOntcIm1vbmV5XCI6NTAwMCxcInN0b25lXCI6NTAwLFwid29vZFwiOjc1MH0sXCJwcmljZV9yYXRpb1wiOntcIm1vbmV5XCI6MS41LFwic3RvbmVcIjoxLjQsXCJ3b29kXCI6MS40fSxcImdlbmVyYXRpb25cIjp7XCJqZXdlbHJ5XCI6LTEsXCJtb25leVwiOjQwMH0sXCJtdWx0aXBsaWVyc1wiOnt9LFwiZnJlZVwiOjAsXCJmbGF2b3JcIjpcIjEwMCUgZnJlZS1yYW5nZSwgbm9uLUdNTywgb3JnYW5pYyBqZXdlbHJ5IVwifSIsImJ1aWxkLXBhcGVyX21pbGwiOiJ7XCJvblwiOnRydWUsXCJhbW91bnRcIjoxLFwiYmFzZV9jb3N0XCI6e1wibW9uZXlcIjoyMDAsXCJpcm9uXCI6MTAwLFwib2lsXCI6NTB9LFwicHJpY2VfcmF0aW9cIjp7XCJtb25leVwiOjEuMSxcImlyb25cIjoxLjEsXCJvaWxcIjoxLjF9LFwiZ2VuZXJhdGlvblwiOntcImVuZXJneVwiOi0xLFwid29vZFwiOi0zLFwicGFwZXJcIjoxfSxcIm11bHRpcGxpZXJzXCI6e30sXCJmcmVlXCI6MCxcImZsYXZvclwiOlwiXCJ9IiwicmVzLWlyb24iOiIyMjA2LjM4OTgzOTE3Mjk5MiIsImJ1aWxkLWZ1ZWxfbWFrZXIiOiJ7XCJvblwiOmZhbHNlLFwiYW1vdW50XCI6MCxcImJhc2VfY29zdFwiOntcIm1vbmV5XCI6MTUwMDAwMCxcInN0ZWVsX2JlYW1cIjoyNTAsXCJpcm9uXCI6NTAwMDAsXCJnb2xkXCI6MzAwMCxcInJlc2VhcmNoXCI6MjB9LFwicHJpY2VfcmF0aW9cIjp7XCJtb25leVwiOjEuMSxcInN0ZWVsX2JlYW1cIjoxLjA3LFwiaXJvblwiOjEuMixcImdvbGRcIjoxLjEsXCJyZXNlYXJjaFwiOjEuMn0sXCJnZW5lcmF0aW9uXCI6e1wiZW5lcmd5XCI6LTc1LFwidXJhbml1bVwiOi0wLjEsXCJoeWRyb2dlblwiOi0xNTAsXCJyZWZpbmVkX21hbmFcIjotMSxcImZ1ZWxcIjowLjAxfSxcIm11bHRpcGxpZXJzXCI6e30sXCJmcmVlXCI6MCxcImZsYXZvclwiOlwiVGhpcyBmdWVsIGlzLi4uIG5vdCBoZWFsdGh5LlwifSIsImJ1aWxkLXNvbGFyX3BhbmVsIjoie1wib25cIjpmYWxzZSxcImFtb3VudFwiOjAsXCJiYXNlX2Nvc3RcIjp7XCJtb25leVwiOjUwMDAwLFwiZ2xhc3NcIjoxMDAsXCJjb2FsXCI6MTAwLFwiZGlhbW9uZFwiOjEwMH0sXCJwcmljZV9yYXRpb1wiOntcIm1vbmV5XCI6MC44LFwiZ2xhc3NcIjoyLFwiY29hbFwiOjEuNSxcImRpYW1vbmRcIjoxLjV9LFwiZ2VuZXJhdGlvblwiOntcImVuZXJneVwiOjF9LFwibXVsdGlwbGllcnNcIjp7fSxcImZyZWVcIjowLFwiZmxhdm9yXCI6XCJQcmFpc2UgdGhlIHN1biFcIn0iLCJidWlsZC1jaGFsbGVuZ2VfYWR2YW5jZWQiOiJ7XCJvblwiOmZhbHNlLFwiYW1vdW50XCI6MCxcImJhc2VfY29zdFwiOnt9LFwicHJpY2VfcmF0aW9cIjp7fSxcImdlbmVyYXRpb25cIjp7XCJzdGVlbF9iZWFtXCI6MyxcInVyYW5pdW1cIjozLFwibWFuYWdlclwiOjMsXCJyZXNlYXJjaFwiOjUsXCJlbmVyZ3lcIjoxMH0sXCJtdWx0aXBsaWVyc1wiOntcInN0ZWVsX2JlYW1cIjowLjUsXCJmdWVsXCI6MC41LFwiaHlkcm9nZW5cIjowLjV9LFwiZnJlZVwiOjAsXCJmbGF2b3JcIjpcIldvYWgsIHRoYXQncyBhIGxvdCBvZiBtYW5hLlwifSIsInJlcy13b29kIjoiMTMzMTYuMjE3Mzk5OTk5MTg4IiwiYnVpbGQtbG9nZ2luZyI6IntcIm9uXCI6dHJ1ZSxcImFtb3VudFwiOjQxLFwiYmFzZV9jb3N0XCI6e1wibW9uZXlcIjoxNX0sXCJwcmljZV9yYXRpb1wiOntcIm1vbmV5XCI6MS4xNX0sXCJnZW5lcmF0aW9uXCI6e1wibW9uZXlcIjotMSxcIndvb2RcIjoxLFwiY29hbFwiOjAuMX0sXCJtdWx0aXBsaWVyc1wiOnt9LFwiZnJlZVwiOjAsXCJmbGF2b3JcIjpcImNvbnNvbGUubG9nKCdQbGF5ZXIgcmVhZCB0b29sdGlwLicpXCJ9IiwiYnVpbGQtc193b3Jrc2hvcCI6IntcIm9uXCI6ZmFsc2UsXCJhbW91bnRcIjo1MCxcImJhc2VfY29zdFwiOnt9LFwicHJpY2VfcmF0aW9cIjp7fSxcImdlbmVyYXRpb25cIjp7XCJzdG9uZVwiOi0xLFwiaXJvblwiOjAuMixcIm1hbmFcIjotMX0sXCJtdWx0aXBsaWVyc1wiOnt9LFwidXBkYXRlXCI6XCJub3BcIixcIm1vZGVcIjpcImlyb25cIixcImZyZWVcIjowLFwiZmxhdm9yXCI6XCJcIn0iLCJidWlsZC1zX2dvbGRib29zdCI6IntcIm9uXCI6dHJ1ZSxcImFtb3VudFwiOjIsXCJiYXNlX2Nvc3RcIjp7fSxcInByaWNlX3JhdGlvXCI6e30sXCJnZW5lcmF0aW9uXCI6e1wibWFuYVwiOi0xfSxcIm11bHRpcGxpZXJzXCI6e1wibW9uZXlcIjowLjUsXCJnb2xkXCI6MC41fSxcInVwZGF0ZVwiOlwibm9wXCIsXCJmcmVlXCI6MCxcImZsYXZvclwiOlwiXCJ9IiwiYnVpbGQtc19lc3NlbmNlIjoie1wib25cIjp0cnVlLFwiYW1vdW50XCI6MCxcImJhc2VfY29zdFwiOnt9LFwicHJpY2VfcmF0aW9cIjp7fSxcImdlbmVyYXRpb25cIjp7XCJlc3NlbmNlXCI6MX0sXCJtdWx0aXBsaWVyc1wiOntcImVuZXJneVwiOjAuMSxcInJlc2VhcmNoXCI6MC4xLFwibWFuYWdlclwiOjAuMSxcIm1vbmV5XCI6MC4xLFwic3RvbmVcIjowLjEsXCJ3b29kXCI6MC4xLFwiaXJvbl9vcmVcIjowLjEsXCJjb2FsXCI6MC4xLFwiaXJvblwiOjAuMSxcImdvbGRcIjowLjEsXCJkaWFtb25kXCI6MC4xLFwiamV3ZWxyeVwiOjAuMSxcIm9pbFwiOjAuMSxcInBhcGVyXCI6MC4xLFwiaW5rXCI6MC4xLFwiYm9va1wiOjAuMSxcInNhbmRcIjowLjEsXCJnbGFzc1wiOjAuMSxcIndhdGVyXCI6MC4xLFwiaHlkcm9nZW5cIjowLjEsXCJzdGVlbF9iZWFtXCI6MC4xLFwidXJhbml1bVwiOjAuMSxcInNhbmRjYXN0bGVcIjowLjEsXCJnbGFzc19ib3R0bGVcIjowLjEsXCJtaXRocmlsXCI6MC4xLFwidm9pZFwiOjAuMX0sXCJ1cGRhdGVcIjpcIm5vcFwiLFwiZnJlZVwiOjAsXCJmbGF2b3JcIjpcIlwifSIsImJ1aWxkLWlua19yZWZpbmVyeSI6IntcIm9uXCI6dHJ1ZSxcImFtb3VudFwiOjEsXCJiYXNlX2Nvc3RcIjp7XCJtb25leVwiOjIwMCxcImlyb25cIjoxMDAsXCJvaWxcIjo1MH0sXCJwcmljZV9yYXRpb1wiOntcIm1vbmV5XCI6MS4xLFwiaXJvblwiOjEuMSxcIm9pbFwiOjEuMX0sXCJnZW5lcmF0aW9uXCI6e1wiZW5lcmd5XCI6LTEsXCJvaWxcIjotMyxcImlua1wiOjF9LFwibXVsdGlwbGllcnNcIjp7fSxcImZyZWVcIjowLFwiZmxhdm9yXCI6XCJcIn0iLCJidWlsZC1tYW5hX3B1cmlmaWVyIjoie1wib25cIjpmYWxzZSxcImFtb3VudFwiOjAsXCJiYXNlX2Nvc3RcIjp7fSxcInByaWNlX3JhdGlvXCI6e30sXCJnZW5lcmF0aW9uXCI6e1wicmVmaW5lZF9tYW5hXCI6LTEsXCJlbmVyZ3lcIjotMjUsXCJtYW5hXCI6LTUwLFwicHVyaWZpZWRfbWFuYVwiOjAuMDAxfSxcIm11bHRpcGxpZXJzXCI6e30sXCJmcmVlXCI6MCxcImZsYXZvclwiOlwiTWFrZXMgcHVyaWZpZWQgbWFuYS5cIn0iLCJidWlsZC1zX3RyYWRlIjoie1wib25cIjpmYWxzZSxcImFtb3VudFwiOjYsXCJiYXNlX2Nvc3RcIjp7fSxcInByaWNlX3JhdGlvXCI6e30sXCJnZW5lcmF0aW9uXCI6e1wibWFuYVwiOi0xfSxcIm11bHRpcGxpZXJzXCI6e30sXCJ1cGRhdGVcIjpcInRyYWRlXCIsXCJmcmVlXCI6MCxcImZsYXZvclwiOlwiXCJ9IiwiYnVpbGQtZnVybmFjZSI6IntcIm9uXCI6ZmFsc2UsXCJhbW91bnRcIjo2LFwiYmFzZV9jb3N0XCI6e1wibW9uZXlcIjoyMDAsXCJzdG9uZVwiOjUwfSxcInByaWNlX3JhdGlvXCI6e1wibW9uZXlcIjoxLjEsXCJzdG9uZVwiOjEuMn0sXCJnZW5lcmF0aW9uXCI6e1wid29vZFwiOi0zNSxcImlyb25fb3JlXCI6LTMwLFwiaXJvblwiOjEwLFwiY29hbFwiOjEwfSxcIm11bHRpcGxpZXJzXCI6e30sXCJmcmVlXCI6MCxcImZsYXZvclwiOlwiQ29tZSBvbiBpbiEgSXQncyBhIGJsYXN0IVwifSIsImJ1aWxkLWxpYnJhcnkiOiJ7XCJvblwiOmZhbHNlLFwiYW1vdW50XCI6MCxcImJhc2VfY29zdFwiOntcIm1vbmV5XCI6MjUwMCxcIndvb2RcIjoyNTAwLFwiaXJvblwiOjUwLFwiYm9va1wiOjEwfSxcInByaWNlX3JhdGlvXCI6e1wibW9uZXlcIjoxLjIsXCJpcm9uXCI6MS40LFwid29vZFwiOjAuOTUsXCJib29rXCI6MS4xfSxcImdlbmVyYXRpb25cIjp7XCJyZXNlYXJjaFwiOjF9LFwibXVsdGlwbGllcnNcIjp7fSxcImZyZWVcIjowLFwiZmxhdm9yXCI6XCJUaGV5IGRvIHZlcnkgaW1wb3J0YW50IHJlc2VhcmNoIGhlcmUuIDxiciAvPkRPIE5PVCBESVNUVVJCIFRIRSBMSUJSQVJJQU5TLlwifSIsImJ1aWxkLW9pbF93ZWxsIjoie1wib25cIjp0cnVlLFwiYW1vdW50XCI6MTQsXCJiYXNlX2Nvc3RcIjp7XCJtb25leVwiOjEwMDAsXCJzdG9uZVwiOjEwMDAsXCJpcm9uXCI6MTAwfSxcInByaWNlX3JhdGlvXCI6e1wibW9uZXlcIjoxLjIsXCJzdG9uZVwiOjEuMSxcImlyb25cIjoxLjN9LFwiZ2VuZXJhdGlvblwiOntcIm9pbFwiOjAuNX0sXCJtdWx0aXBsaWVyc1wiOnt9LFwiZnJlZVwiOjIsXCJmbGF2b3JcIjpcIldlbGwsIHRoaXMgZ2V0cyB5b3Ugb2lsLlwifSIsInJlcy1oeWRyb2dlbiI6IjAiLCJsYXN0X3ZlcnNpb24iOiJ2NS4yMy4xNzogKDYvNS8xOSkgSG9wZWZ1bGx5IGFjdHVhbGx5IGZpeCBmaWxlIHN0dWZmIiwicmVzLXN0ZWVsX2JlYW0iOiIwIiwiYnVpbGQtamV3ZWxlciI6IntcIm9uXCI6ZmFsc2UsXCJhbW91bnRcIjoxLFwiYmFzZV9jb3N0XCI6e1wibW9uZXlcIjo3NTAsXCJzdG9uZVwiOjEwMDB9LFwicHJpY2VfcmF0aW9cIjp7XCJtb25leVwiOjEuMyxcInN0b25lXCI6MS4zfSxcImdlbmVyYXRpb25cIjp7XCJnb2xkXCI6LTMsXCJkaWFtb25kXCI6LTEsXCJqZXdlbHJ5XCI6MX0sXCJtdWx0aXBsaWVyc1wiOnt9LFwiZnJlZVwiOjAsXCJmbGF2b3JcIjpcIkEgamV3ZWxlciB1c2VzIGpld2VscyB0byBtYWtlIGpld2VscnkgaW4gSnVseS5cIn0iLCJidWlsZC1vbWVnYV9tYWNoaW5lIjoie1wib25cIjpmYWxzZSxcImFtb3VudFwiOjAsXCJiYXNlX2Nvc3RcIjp7fSxcInByaWNlX3JhdGlvXCI6e30sXCJnZW5lcmF0aW9uXCI6e1widGltZVwiOi0xMCxcInJlZmluZWRfbWFuYVwiOi0xMDAsXCJwdXJpZmllZF9tYW5hXCI6LTAuMSxcImZ1ZWxcIjotMjUsXCJtYW5hXCI6LTUwMCxcImVuZXJneVwiOi0yNTAsXCJyZXNlYXJjaFwiOi01MCxcIm1hbmFnZXJcIjotNzUsXCJtb25leVwiOi01MDAwLFwiZ29sZFwiOi03NTAsXCJkaWFtb25kXCI6LTEwMDAsXCJib29rXCI6LTI1MCxcIndhdGVyXCI6LTEwMDAsXCJ1cmFuaXVtXCI6LTEwMCxcInNhbmRjYXN0bGVcIjotMSxcIm1pdGhyaWxcIjotMSxcInZvaWRcIjotMSxcIs6pXCI6MX0sXCJtdWx0aXBsaWVyc1wiOntcInN0b25lXCI6LTAuNSxcIndvb2RcIjotMC41LFwiaXJvblwiOi0wLjUsXCJvaWxcIjotMC41LFwic2FuZFwiOi0wLjV9LFwiZnJlZVwiOjAsXCJmbGF2b3JcIjpcIkNvbmRlbnNlcyB0aGUgZmFicmljIG9mIHRoZSB1bml2ZXJzZSBpdHNlbGYgaW50byDOqVwifSIsInJlcy10aW1lIjoiMCIsImJ1aWxkLWh5ZHJvZ2VuX2dlbiI6IntcIm9uXCI6ZmFsc2UsXCJhbW91bnRcIjowLFwiYmFzZV9jb3N0XCI6e1wibW9uZXlcIjoyNTAwLFwiZ2xhc3NcIjo1MDB9LFwicHJpY2VfcmF0aW9cIjp7XCJtb25leVwiOjEuMSxcImdsYXNzXCI6MS4yfSxcImdlbmVyYXRpb25cIjp7XCJlbmVyZ3lcIjotMixcIndhdGVyXCI6LTEsXCJoeWRyb2dlblwiOjJ9LFwibXVsdGlwbGllcnNcIjp7fSxcImZyZWVcIjowLFwiZmxhdm9yXCI6XCJSdW5zIGVsZWN0cmljaXR5IHRocm91Z2ggd2F0ZXIuLi5cIn0iLCJ1cGdyYWRlcyI6IltcImJldHRlcl9taW5lc1wiLFwiY2hlYXBlcl9iYW5rc1wiLFwiY2hlYXBlcl9taW5lc1wiLFwiY2hlYXBlcl9sb2dnaW5nXCIsXCJiZXR0ZXJfZ29sZFwiLFwiYmV0dGVyX2NvbXByZXNzb3JzXCIsXCJvaWxlZF9jb21wcmVzc29yc1wiLFwiYmV0dGVyX2Z1cm5hY2VcIixcImJldHRlcl9vaWxcIl0iLCJidWlsZC1zX21hbmFfcmVmaW5lcnkiOiJ7XCJvblwiOnRydWUsXCJhbW91bnRcIjoxLFwiYmFzZV9jb3N0XCI6e30sXCJwcmljZV9yYXRpb1wiOnt9LFwiZ2VuZXJhdGlvblwiOntcIm1hbmFcIjowfSxcIm11bHRpcGxpZXJzXCI6e30sXCJ1cGRhdGVcIjpcInJlZmluZXJ5XCIsXCJmcmVlXCI6MCxcImZsYXZvclwiOlwiXCJ9IiwicmVzLXJlZmluZWRfbWFuYSI6IjAiLCJyZXMtZW5lcmd5IjoiMTEiLCJidWlsZC1jaGFsbGVuZ2VfbWVkaXVtIjoie1wib25cIjpmYWxzZSxcImFtb3VudFwiOjAsXCJiYXNlX2Nvc3RcIjp7fSxcInByaWNlX3JhdGlvXCI6e30sXCJnZW5lcmF0aW9uXCI6e1wiZ29sZFwiOjUsXCJkaWFtb25kXCI6NSxcIm9pbFwiOjE1LFwicGFwZXJcIjo1LFwiaW5rXCI6NX0sXCJtdWx0aXBsaWVyc1wiOntcIm9pbFwiOjAuMSxcImJvb2tcIjowLjMsXCJnbGFzc1wiOjAuMX0sXCJmcmVlXCI6MCxcImZsYXZvclwiOlwiQW5vdGhlciBidWlsZGluZyB0byBoZWxwIHlvdSBvdXQuXCJ9IiwiYnVpbGQtbW9uZXlfcHJpbnRlciI6IntcIm9uXCI6ZmFsc2UsXCJhbW91bnRcIjowLFwiYmFzZV9jb3N0XCI6e1wibW9uZXlcIjo1MDAsXCJpcm9uXCI6MTAwLFwib2lsXCI6MTAwfSxcInByaWNlX3JhdGlvXCI6e1wibW9uZXlcIjoxLjIsXCJpcm9uXCI6MS4yLFwib2lsXCI6MS4zfSxcImdlbmVyYXRpb25cIjp7XCJlbmVyZ3lcIjotMSxcInBhcGVyXCI6LTIsXCJpbmtcIjotMSxcIm1vbmV5XCI6MzB9LFwibXVsdGlwbGllcnNcIjp7fSxcImZyZWVcIjowLFwiZmxhdm9yXCI6XCIxMDAlIGxlZ2FsLiBUcnVzdCBtZSBvbiB0aGlzLlwifSIsInJlcy1nbGFzc19ib3R0bGUiOiIwIiwicmVzLWlyb25fb3JlIjoiNzQ5Ni41MjkwOTk5OTg5MyIsImJ1aWxkLXNfbWFuYXN0b25lIjoie1wib25cIjp0cnVlLFwiYW1vdW50XCI6MixcImJhc2VfY29zdFwiOnt9LFwicHJpY2VfcmF0aW9cIjp7fSxcImdlbmVyYXRpb25cIjp7XCJtYW5hXCI6MX0sXCJtdWx0aXBsaWVyc1wiOnt9LFwidXBkYXRlXCI6XCJub3BcIixcImZyZWVcIjowLFwiZmxhdm9yXCI6XCJcIn0iLCJyZXMtZ29sZCI6IjI1NDguNjA3Mzk5OTk5OTEwMyIsImVydWxlcyI6IltdIiwiYnVpbGQtaHlkcm9nZW5fbWluZSI6IntcIm9uXCI6ZmFsc2UsXCJhbW91bnRcIjowLFwiYmFzZV9jb3N0XCI6e30sXCJwcmljZV9yYXRpb1wiOnt9LFwiZ2VuZXJhdGlvblwiOntcImh5ZHJvZ2VuXCI6MTB9LFwibXVsdGlwbGllcnNcIjp7fSxcImZyZWVcIjowLFwiZmxhdm9yXCI6XCJUaGUgbW9vbiByb2Nrcy4gQW5kIG5vdyB5b3UgY2FuIGhhdmUgdGhvc2Ugcm9ja3MuXCJ9IiwiYnVpbGQtbWl0aHJpbF9zbWVsdGVyIjoie1wib25cIjpmYWxzZSxcImFtb3VudFwiOjAsXCJiYXNlX2Nvc3RcIjp7fSxcInByaWNlX3JhdGlvXCI6e30sXCJnZW5lcmF0aW9uXCI6e1wibWFuYWdlclwiOi0xLFwiZ29sZFwiOi01LFwicmVmaW5lZF9tYW5hXCI6LTI1LFwibWl0aHJpbFwiOjAuMX0sXCJtdWx0aXBsaWVyc1wiOnt9LFwiZnJlZVwiOjAsXCJmbGF2b3JcIjpcIlwifSIsInVwZGF0ZV9pbnRlcnZhbCI6IjEwMCIsImJ1aWxkLXdhdGVyX3B1cmlmaWVyIjoie1wib25cIjpmYWxzZSxcImFtb3VudFwiOjAsXCJiYXNlX2Nvc3RcIjp7XCJtb25leVwiOjUwMCxcInN0b25lXCI6NTAwLFwic2FuZFwiOjUwMCxcImdsYXNzXCI6MTAwfSxcInByaWNlX3JhdGlvXCI6e1wibW9uZXlcIjoxLjEsXCJzdG9uZVwiOjEuMSxcInNhbmRcIjoxLjEsXCJnbGFzc1wiOjEuMX0sXCJnZW5lcmF0aW9uXCI6e1wid2F0ZXJcIjoxfSxcIm11bHRpcGxpZXJzXCI6e30sXCJmcmVlXCI6MCxcImZsYXZvclwiOlwiVG8gZmluZCBzYW5kLCBmaXJzdCB5b3UgbXVzdCBjb2xsZWN0IDEwIG1hbmEuXCJ9IiwicmVzLW1hZ2ljX2JhZyI6IjAiLCJidWlsZC1vaWxfZW5naW5lIjoie1wib25cIjp0cnVlLFwiYW1vdW50XCI6MyxcImJhc2VfY29zdFwiOntcIm1vbmV5XCI6NTAwLFwiaXJvblwiOjIwMH0sXCJwcmljZV9yYXRpb1wiOntcIm1vbmV5XCI6MS4zLFwiaXJvblwiOjEuM30sXCJnZW5lcmF0aW9uXCI6e1wib2lsXCI6LTEsXCJlbmVyZ3lcIjoxfSxcIm11bHRpcGxpZXJzXCI6e30sXCJmcmVlXCI6MCxcImZsYXZvclwiOlwiXCJ9IiwicmVzLW1hbmEiOiIwIiwiYnVpbGQtaHlkcm9nZW5fYnVybmVyIjoie1wib25cIjpmYWxzZSxcImFtb3VudFwiOjAsXCJiYXNlX2Nvc3RcIjp7XCJtb25leVwiOjI1MDAsXCJpcm9uXCI6NTAwfSxcInByaWNlX3JhdGlvXCI6e1wibW9uZXlcIjoxLjEsXCJpcm9uXCI6MS4yfSxcImdlbmVyYXRpb25cIjp7XCJoeWRyb2dlblwiOi0yMCxcImVuZXJneVwiOjE1LFwid2F0ZXJcIjo3fSxcIm11bHRpcGxpZXJzXCI6e30sXCJmcmVlXCI6MCxcImZsYXZvclwiOlwiRklSRSFcIn0iLCJyZXMtZ2xhc3MiOiIwIiwicmVzLWluayI6IjMxOC4zNjMwMDAwMDAwMDA5NyIsInJlcy11cmFuaXVtIjoiMCIsImJ1aWxkLXNfZW5jaGFudG1lbnQiOiJ7XCJvblwiOmZhbHNlLFwiYW1vdW50XCI6NTAwLFwiYmFzZV9jb3N0XCI6e30sXCJwcmljZV9yYXRpb1wiOnt9LFwiZ2VuZXJhdGlvblwiOntcIm1hbmFcIjotMX0sXCJtdWx0aXBsaWVyc1wiOnt9LFwidXBkYXRlXCI6XCJlbmNoYW50bWVudFwiLFwiaXRlbVwiOlwiXCIsXCJ0aW1lX2xlZnRcIjowLFwiZnJlZVwiOjAsXCJmbGF2b3JcIjpcIlwifSIsInJlcy1wdXJpZmllZF9tYW5hIjoiMCIsInJlcy1taXRocmlsIjoiMCIsInJlcy1wYXBlciI6IjQ4Ni45NTgwMDAwMDAwMDAzNyIsImJ1aWxkLXNfd29ya3Nob3BfMiI6IntcIm9uXCI6ZmFsc2UsXCJhbW91bnRcIjoyMDAsXCJiYXNlX2Nvc3RcIjp7fSxcInByaWNlX3JhdGlvXCI6e30sXCJnZW5lcmF0aW9uXCI6e1wibWFuYVwiOi0xfSxcIm11bHRpcGxpZXJzXCI6e30sXCJ1cGRhdGVcIjpcIndvcmtzaG9wXCIsXCJmcmVlXCI6MCxcImZsYXZvclwiOlwiXCJ9IiwiYnVpbGQtc2t5c2NyYXBlciI6IntcIm9uXCI6ZmFsc2UsXCJhbW91bnRcIjowLFwiYmFzZV9jb3N0XCI6e1wibW9uZXlcIjo1MDAwLFwic3RlZWxfYmVhbVwiOjI1LFwiZ2xhc3NcIjo1MH0sXCJwcmljZV9yYXRpb1wiOntcIm1vbmV5XCI6MS4wOSxcInN0ZWVsX2JlYW1cIjoxLjEsXCJnbGFzc1wiOjEuMX0sXCJnZW5lcmF0aW9uXCI6e1wibWFuYWdlclwiOjF9LFwibXVsdGlwbGllcnNcIjp7fSxcImZyZWVcIjowLFwiZmxhdm9yXCI6XCJPbmx5IG9uZSBwZXIgZmxvb3Igc28gdGhleSBkb24ndCBnZXQgaW4gZWFjaCBvdGhlcnMnIHdheXMuXCJ9IiwicmVzLWRpYW1vbmQiOiI2LjM0MTcwMDAwMDAwMDEyNiIsImF1dG9idWlsZCI6IltdIiwiYnVpbGQtbWFnbmV0Ijoie1wib25cIjpmYWxzZSxcImFtb3VudFwiOjAsXCJiYXNlX2Nvc3RcIjp7XCJpcm9uXCI6MTAwMDAsXCJzdGVlbF9iZWFtXCI6NTAwfSxcInByaWNlX3JhdGlvXCI6e1wiaXJvblwiOjEuMSxcInN0ZWVsX2JlYW1cIjoxLjF9LFwiZ2VuZXJhdGlvblwiOnt9LFwibXVsdGlwbGllcnNcIjp7XCJpcm9uXCI6MC4yNSxcImlyb25fb3JlXCI6MC4yNX0sXCJmcmVlXCI6MCxcImZsYXZvclwiOlwiSXQncyBqdXN0IGEgYmlnIG1hZ25ldC5cIn0iLCJhdXRvYnVpbGRfcnB0IjoiZmFsc2UiLCJyZXMtbWFuYWdlciI6IjAiLCJyZXMtZnVlbCI6IjAiLCJidWlsZC1zX3N0YXJ0Ym9vc3QiOiJ7XCJvblwiOmZhbHNlLFwiYW1vdW50XCI6MjUsXCJiYXNlX2Nvc3RcIjp7fSxcInByaWNlX3JhdGlvXCI6e30sXCJnZW5lcmF0aW9uXCI6e1wibWFuYVwiOi0xLFwibW9uZXlcIjoxLFwic3RvbmVcIjoyLFwid29vZFwiOjIsXCJpcm9uX29yZVwiOjAuMixcIm9pbFwiOjAuMDJ9LFwibXVsdGlwbGllcnNcIjp7fSxcInVwZGF0ZVwiOlwibm9wXCIsXCJmcmVlXCI6MCxcImZsYXZvclwiOlwiXCJ9IiwiYnVpbGQtc190aW1lX21ha2VyIjoie1wib25cIjpmYWxzZSxcImFtb3VudFwiOjEwMCxcImJhc2VfY29zdFwiOnt9LFwicHJpY2VfcmF0aW9cIjp7fSxcImdlbmVyYXRpb25cIjp7XCJtYW5hXCI6LTEsXCJ0aW1lXCI6MC4wMDJ9LFwibXVsdGlwbGllcnNcIjp7fSxcInVwZGF0ZVwiOlwibm9wXCIsXCJmcmVlXCI6MCxcImZsYXZvclwiOlwiXCJ9IiwicnVsZXMiOiJ7fSIsImJ1aWxkLW1pbmUiOiJ7XCJvblwiOnRydWUsXCJhbW91bnRcIjo0MixcImJhc2VfY29zdFwiOntcIm1vbmV5XCI6MTV9LFwicHJpY2VfcmF0aW9cIjp7XCJtb25leVwiOjEuMTV9LFwiZ2VuZXJhdGlvblwiOntcIm1vbmV5XCI6LTEsXCJzdG9uZVwiOjIsXCJpcm9uX29yZVwiOjAuNX0sXCJtdWx0aXBsaWVyc1wiOnt9LFwiZnJlZVwiOjEsXCJmbGF2b3JcIjpcIklUJ1MgQUxMIE1JTkUhXCJ9IiwicmVzLc6pIjoiMCIsInJlcy1zYW5kY2FzdGxlIjoiMCIsImJ1aWxkLWdvbGRfZmluZGVyIjoie1wib25cIjp0cnVlLFwiYW1vdW50XCI6NyxcImJhc2VfY29zdFwiOntcIm1vbmV5XCI6NTAwLFwic3RvbmVcIjoxMDAwLFwid29vZFwiOjQwMH0sXCJwcmljZV9yYXRpb1wiOntcIm1vbmV5XCI6MS4zLFwic3RvbmVcIjoxLjMsXCJ3b29kXCI6MS4yfSxcImdlbmVyYXRpb25cIjp7XCJzdG9uZVwiOi0xMCxcImdvbGRcIjowLjIsXCJpcm9uXCI6MC4wNX0sXCJtdWx0aXBsaWVyc1wiOnt9LFwiZnJlZVwiOjAsXCJmbGF2b3JcIjpcIlwifSIsImJ1aWxkLXNfdGltZV9tYWdpYyI6IntcIm9uXCI6ZmFsc2UsXCJhbW91bnRcIjo0MCxcImJhc2VfY29zdFwiOnt9LFwicHJpY2VfcmF0aW9cIjp7fSxcImdlbmVyYXRpb25cIjp7XCJtYW5hXCI6LTF9LFwibXVsdGlwbGllcnNcIjp7fSxcInVwZGF0ZVwiOlwidGltZVwiLFwiZnJlZVwiOjAsXCJmbGF2b3JcIjpcIlwifSIsImJ1aWxkLXJlYWN0b3IiOiJ7XCJvblwiOmZhbHNlLFwiYW1vdW50XCI6MCxcImJhc2VfY29zdFwiOntcIm1vbmV5XCI6MTAwMDAwMCxcInN0ZWVsX2JlYW1cIjoxMDAsXCJpcm9uXCI6MTAwMDB9LFwicHJpY2VfcmF0aW9cIjp7XCJtb25leVwiOjEuMSxcInN0ZWVsX2JlYW1cIjoxLjA3LFwiaXJvblwiOjEuMn0sXCJnZW5lcmF0aW9uXCI6e1wibWFuYWdlclwiOi0zLFwidXJhbml1bVwiOi0wLjEsXCJ3YXRlclwiOi0xNSxcImVuZXJneVwiOjUwfSxcIm11bHRpcGxpZXJzXCI6e30sXCJmcmVlXCI6MCxcImZsYXZvclwiOlwiRG9uJ3QgbGV0IGl0IGdvIGJvb20hXCJ9IiwicmVzLWJvb2siOiIwIiwiYXV0b2J1aWxkX2FtdCI6IjAiLCJidWlsZC1zX2ZpbmFsIjoie1wib25cIjpmYWxzZSxcImFtb3VudFwiOjUwMCxcImJhc2VfY29zdFwiOnt9LFwicHJpY2VfcmF0aW9cIjp7fSxcImdlbmVyYXRpb25cIjp7XCJtYW5hXCI6LTF9LFwibXVsdGlwbGllcnNcIjp7fSxcInVwZGF0ZVwiOlwiZmluYWxcIixcInN0cmVuZ3RoXCI6MixcImZyZWVcIjowLFwiZmxhdm9yXCI6XCJcIn0iLCJidWlsZC1jaGFsbGVuZ2VfYmFzaWMiOiJ7XCJvblwiOmZhbHNlLFwiYW1vdW50XCI6MCxcImJhc2VfY29zdFwiOnt9LFwicHJpY2VfcmF0aW9cIjp7fSxcImdlbmVyYXRpb25cIjp7XCJtb25leVwiOjEwLFwic3RvbmVcIjoyMCxcIndvb2RcIjoyMCxcImlyb25fb3JlXCI6MTAsXCJjb2FsXCI6NX0sXCJtdWx0aXBsaWVyc1wiOntcIm1vbmV5XCI6MC4xLFwic3RvbmVcIjowLjEsXCJ3b29kXCI6MC4xfSxcImZyZWVcIjowLFwiZmxhdm9yXCI6XCJDb25ncmF0dWxhdGlvbnMgb24gYmVhdGluZyB0aGUgYmFzaWMgY2hhbGxlbmdlLlwifSIsInNjcmF0Y2hwYWQiOiIiLCJidWlsZC1iaWdfbWluZSI6IntcIm9uXCI6ZmFsc2UsXCJhbW91bnRcIjowLFwiYmFzZV9jb3N0XCI6e1wibW9uZXlcIjoxMDAwMCxcInN0ZWVsX2JlYW1cIjoxMDAsXCJ3b29kXCI6MjAwMDB9LFwicHJpY2VfcmF0aW9cIjp7XCJtb25leVwiOjEuMSxcInN0ZWVsX2JlYW1cIjoxLjAzLFwid29vZFwiOjEuMX0sXCJnZW5lcmF0aW9uXCI6e1wibWFuYWdlclwiOi0xLFwibW9uZXlcIjotMTAwLFwic3RvbmVcIjozMCxcImlyb25fb3JlXCI6MTAsXCJjb2FsXCI6MyxcImlyb25cIjoyLFwiZ29sZFwiOjAuNSxcImRpYW1vbmRcIjowLjEsXCJzYW5kXCI6MTB9LFwibXVsdGlwbGllcnNcIjp7fSxcImZyZWVcIjowLFwiZmxhdm9yXCI6XCJTZXJpb3VzZXIgYnVzaW5lc3NcIn0iLCJsYXN0X3NhdmUiOiIxNTgwNDg4MzI2NDAxIiwicmVzLXdhdGVyIjoiMCIsImJ1aWxkLXN0ZWVsX3NtZWx0ZXIiOiJ7XCJvblwiOmZhbHNlLFwiYW1vdW50XCI6MCxcImJhc2VfY29zdFwiOntcImlyb25cIjoyMDAwMCxcInN0b25lXCI6NTAwMDB9LFwicHJpY2VfcmF0aW9cIjp7XCJpcm9uXCI6MS4xLFwic3RvbmVcIjoxLjF9LFwiZ2VuZXJhdGlvblwiOntcIm1hbmFnZXJcIjotMSxcImlyb25cIjotMjUsXCJjb2FsXCI6LTI1LFwic3RlZWxfYmVhbVwiOjF9LFwibXVsdGlwbGllcnNcIjp7fSxcImZyZWVcIjowLFwiZmxhdm9yXCI6XCJIb3QgaG90IGhvdCFcIn0iLCJidWlsZC1zX2FpIjoie1wib25cIjpmYWxzZSxcImFtb3VudFwiOm51bGwsXCJiYXNlX2Nvc3RcIjp7fSxcInByaWNlX3JhdGlvXCI6e30sXCJnZW5lcmF0aW9uXCI6e1wibWFuYVwiOi0xLFwibWFuYWdlclwiOjAuMDJ9LFwibXVsdGlwbGllcnNcIjp7fSxcInVwZGF0ZVwiOlwibm9wXCIsXCJmcmVlXCI6MCxcImZsYXZvclwiOlwiXCJ9IiwicmVzLW9pbCI6IjI0MzYuMDgzNjk5OTk5OTkzIiwicmVzLXNhbmQiOiIwIiwiYnVpbGQtc19hdXRvZXNzZW5jZSI6IntcIm9uXCI6ZmFsc2UsXCJhbW91bnRcIjpudWxsLFwiYmFzZV9jb3N0XCI6e30sXCJwcmljZV9yYXRpb1wiOnt9LFwiZ2VuZXJhdGlvblwiOntcIm1hbmFcIjotMX0sXCJtdWx0aXBsaWVyc1wiOnt9LFwidXBkYXRlXCI6XCJhdXRvZXNzZW5jZVwiLFwiZnJlZVwiOjAsXCJmbGF2b3JcIjpcIlwifSIsImJ1aWxkLWJpZ19iYW5rIjoie1wib25cIjpmYWxzZSxcImFtb3VudFwiOjAsXCJiYXNlX2Nvc3RcIjp7XCJtb25leVwiOjI1MDAwLFwic3RvbmVcIjoyNTAwMCxcImdsYXNzXCI6MTAwfSxcInByaWNlX3JhdGlvXCI6e1wibW9uZXlcIjoxLjIsXCJzdG9uZVwiOjEuMSxcImdsYXNzXCI6MS4yfSxcImdlbmVyYXRpb25cIjp7XCJtYW5hZ2VyXCI6LTEsXCJtb25leVwiOjUwfSxcIm11bHRpcGxpZXJzXCI6e30sXCJmcmVlXCI6MCxcImZsYXZvclwiOlwiU2VyaW91cyBidXNpbmVzc1wifSIsImJ1aWxkLXNfY2hhbGxlbmdlIjoie1wib25cIjp0cnVlLFwiYW1vdW50XCI6MSxcImJhc2VfY29zdFwiOnt9LFwicHJpY2VfcmF0aW9cIjp7fSxcImdlbmVyYXRpb25cIjp7fSxcIm11bHRpcGxpZXJzXCI6e30sXCJ1cGRhdGVcIjpcIm5vcFwiLFwiZnJlZVwiOjAsXCJmbGF2b3JcIjpcIlwifSIsInJlcy1lc3NlbmNlIjoiMCIsImZsYWdzIjoie1widG9fbW9uZXlfZGVjcmVhc2VcIjo5MDAsXCJjcmlzaXNfYXZlcnRlZFwiOmZhbHNlLFwidG9fb2lsX2RlY3JlYXNlXCI6OTAwLFwic2x1ZGdlX2xldmVsXCI6MCxcImNyaXNpc19zbG93XzFfaW5jcmVhc2VcIjowLFwic3RhcnRfYnVpbGRpbmdzXCI6dHJ1ZX0iLCJyZXMtY29hbCI6IjE2MzAwLjAwMzA5OTk5OTQ3NCIsImJ1aWxkLWJvb2tfYm9vc3QiOiJ7XCJvblwiOmZhbHNlLFwiYW1vdW50XCI6MCxcImJhc2VfY29zdFwiOnt9LFwicHJpY2VfcmF0aW9cIjp7fSxcImdlbmVyYXRpb25cIjp7XCJlbmVyZ3lcIjotMSxcImJvb2tcIjotMC4xLFwid29vZFwiOjI1MH0sXCJtdWx0aXBsaWVyc1wiOntcImJvb2tcIjowLjI1fSxcImZyZWVcIjowLFwiZmxhdm9yXCI6XCJcIn0iLCJwcmVzdGlnZV90aW1lIjoiNTAzMzc3OCIsInJlcy1qZXdlbHJ5IjoiNC41NDE5OTk5OTk5OTk5OTkiLCJidWlsZC1ib29rX3ByaW50ZXIiOiJ7XCJvblwiOmZhbHNlLFwiYW1vdW50XCI6MCxcImJhc2VfY29zdFwiOntcIm1vbmV5XCI6NTAwMCxcImlyb25cIjo1MDAsXCJvaWxcIjozMDB9LFwicHJpY2VfcmF0aW9cIjp7XCJtb25leVwiOjEuMixcImlyb25cIjoxLjIsXCJvaWxcIjoxLjN9LFwiZ2VuZXJhdGlvblwiOntcImVuZXJneVwiOi0xLFwicGFwZXJcIjotMixcImlua1wiOi0xLFwiYm9va1wiOjAuMX0sXCJtdWx0aXBsaWVyc1wiOnt9LFwiZnJlZVwiOjAsXCJmbGF2b3JcIjpcIkl0J3MgYWN0dWFsbHkganVzdCBwcmludGluZyBhIGJ1bmNoIG9mIGNvcGllcyBvZiBNeSBJbW1vcnRhbC5cIn0iLCJidWlsZC1iYW5rIjoie1wib25cIjp0cnVlLFwiYW1vdW50XCI6MTE5LFwiYmFzZV9jb3N0XCI6e1wibW9uZXlcIjoxMH0sXCJwcmljZV9yYXRpb1wiOntcIm1vbmV5XCI6MS4wN30sXCJnZW5lcmF0aW9uXCI6e1wibW9uZXlcIjoxfSxcIm11bHRpcGxpZXJzXCI6e30sXCJmcmVlXCI6MSxcImZsYXZvclwiOlwiSXQncyBhIHByZXR0eSBzbWFsbCBicmFuY2ggYmFuay5cIn0iLCJyZXMtdm9pZCI6IjAiLCJidWlsZC1nbGFzc19qZXdlbGVyIjoie1wib25cIjpmYWxzZSxcImFtb3VudFwiOjAsXCJiYXNlX2Nvc3RcIjp7XCJtb25leVwiOjI1MDAsXCJnbGFzc1wiOjMwMH0sXCJwcmljZV9yYXRpb1wiOntcIm1vbmV5XCI6MS4zLFwiZ2xhc3NcIjoxLjN9LFwiZ2VuZXJhdGlvblwiOntcImdsYXNzXCI6LTEwLFwiamV3ZWxyeVwiOjAuNX0sXCJtdWx0aXBsaWVyc1wiOnt9LFwiZnJlZVwiOjAsXCJmbGF2b3JcIjpcIk9vb29vaC4uLi4gc2hpbnkhXCJ9In0=
| |
| | | |
− | </nowiki> | + | Ak máme hodnotu "a*k0 + b*k1", nevieme zistiť čísla "a" a "b". |
| + | Vieme však s pravdepodobnosťou "|a*a|" dostať hodnotu 0 (čím sa hodnota zmení na k0), a s pravdepodobnosťou "|b*b|" hodnotu 1 (čím sa hodnota zmení na k1). |
| + | |
| + | Kvantová brána je komplexná matica 2×2, ktorá zachováva jednotkovú dĺžku vektorov. |
| + | Aby to platilo, musí byť [[a b] [c d]] × [[a' c'][b' d']] = [[1 0] [0 1]]. |
| + | |
| + | rotácia = [[cos q -sin q] [sin q cos q]] |
| + | |
| + | |
| + | CNOT × [|+> |->] = [|-> |->] = ako je to možné? |
| + | |
| + | |
| + | Toffoli gate |
| + | t k00z = k00z |
| + | t k01z = k01z |
| + | t k10z = k10z |
| + | t k110 = k111 |
| + | t k111 = k110 |
| + | |
| + | Toffoli gate sa dá poskladať z CNOT a jednoqubitových brán, konkrétne z [[1 0][0 0.7+0.7i]] a jeho daggeru. |
| + | |
| + | |
| + | Uncomputation: |
| + | kvantové brány sú reverzibilné |
| + | dajú sa nimi simulovať klasické výpočty, ale potrebujeme pomocné bity, ktoré sa naplnia medzivýpočtami |
| + | ak chceme výpočet opakovať, potrebujeme pomocné bity vyčistiť |
| + | postup: |
| + | urobíme výpočet |
| + | pomocou CNOT skopírujeme výsledok výpočtu do výstupných bitov |
| + | revertneme výpočet |
| + | |
| + | Hľadanie: |
| + | začíname v stave 000... |
| + | aplikujeme H na každý vstupný qubit, dostaneme rovnomerne pokryté všetky možnosti |
| + | klasicky vypočítame, či je riešenie dobré a podľa toho nastavíme "solution bit" |
| + | skopírujeme "solution bit" a revertneme výpočet |
| + | |
| + | |
| + | Ak máme dva qubity v stave [a, b, c, d] a odmeriame prvý, |
| + | dostaneme 0 s pravdepodobnosťou |a|^2 + |b|^2 |
| + | druhý qubit je v stave [a / |a|^2 + |b|^2, b / |a|^2 + |b|^2] |
| + | dostaneme 1 s pravdepodobnosťou |c|^2 + |d|^2, |
| + | druhý qubit je v stave [c / |c|^2 + |d|^2, b / |c|^2 + |d|^2] |
| + | |
| + | Ak máme dva qubity v stave [a b c d] a odmeriame prvý v bázach e0 = [√½ √½] a e1 = [√½ -√½], |
| + | [1 0] = √½(e0 + e1) |
| + | [0 1] = √½(e0 - e1) |
| + | takže [a, b, c, d] = √½(a+c)[e0 0] + √½(b+d)[e0 1] + √½(a-c)[e1 0] + √½(b-d)[e1 1] |
| + | pravdepodobnosť e0 je (a+c)^2+(b+d)^2 /2 |
| + | |
| + | Ak máme bázy b0 = 00+11, b1 = 10+01, b2 = 00-11, b3 = 10-01 |
| + | 00 = b0+b2 |
| + | 01 = b1-b3 |
| + | 10 = b1+b3 |
| + | 11 = b0-b2 |
| + | |
| + | https://www.youtube.com/watch?v=NZqRUH1uSlE |
| + | vývoj kvantového systému v čase |
| + | |
| + | |
| + | |
| + | . |
| + | |
| + | |
| + | Pri modelovaní kvantového počítača potrebujeme vedieť amplitúdy všetkých možných stavov qubitov. |
| + | Počítač s N qubitmi teda reprezentuje vektor s 2^N komplexnými číslami. |
| + | Pri vektore nie je podstatné poradie čísel, je to skôr mapa z P(B) do C. |
| + | Tradične je poradie stavov pre jeden qubit ["q0=0", "q0=1"], pre dva qubity ["q0=0 q1=0", "q0=0 q1=1", "q0=1 q1=0", "q0=1 q1=1"] čiže [|00> |01> |10> |11>], atď. |
| + | |
| + | [1 0] = |0> = qubit je (klasicky) vypnutý |
| + | [0 1] = |1> = qubit je (klasicky) zapnutý |
| + | [a b] = a|0> + b|1> = qubit je v superpozícii; "a" a "b" sú komplexné čísla; "|a|^2 + |b|^2 = 1" |
| + | |
| + | Vektor "ket" je zvislý. |
| + | Vektor "bra" je vodorovný a komplexné hodnoty majú otočené znamienko pri imaginárnej časti; čiže "<x| = |x>†". |
| + | Kedže "x × x* = |x|^2", tak "<x|x> = <x| × |x> = | |x> |^2". |
| + | |
| + | Skrátené zápisy |
| + | [√½ √½] = |+> |
| + | [√½ -√½] = |-> |
| + | |
| + | |
| + | Fyzickú operáciu s qubitmi reprezentuje štvorcová matica komplexných čísel, mapa z P(B)×P(B) do C. |
| + | |
| + | × [p] |
| + | [q] |
| + | [a b] [ap+bq] |
| + | [c d] [cp+dq] |
| + | |
| + | Intuitívne, stĺpec v matici je východiskový stav, riadok v matici je cieľový stav. |
| + | Ak aplikujeme viac operácií, napríklad najprv A, potom B, nakoniec C, výsledok je: C(B(Ax)) = CBAx |
| + | |
| + | |
| + | Ak je prvý qubit [a b] a druhý [c d], spolu sú [ac ad bc bd]. |
| + | Čiže ak máme stav [a b c d], kde ad = bc, sú to dva nepreviazané qubity. |
| + | |
| + | Matica [[a b][c d]] aplikovaná na prvý alebo druhý z dvoch qubitov: |
| + | [a 0 b 0] [a b 0 0] |
| + | [0 a 0 b] [c d 0 0] |
| + | [c 0 d 0] [0 0 a b] |
| + | [0 c 0 d] [0 0 c d] |
| + | aplikovaná na prvý, druhý, alebo tretí z troch qubitov: |
| + | [a 0 0 0 b 0 0 0] [a 0 b 0 0 0 0 0] [a b 0 0 0 0 0 0] |
| + | [0 a 0 0 0 b 0 0] [0 a 0 b 0 0 0 0] [c d 0 0 0 0 0 0] |
| + | [0 0 a 0 0 0 b 0] [c 0 d 0 0 0 0 0] [0 0 a b 0 0 0 0] |
| + | [0 0 0 a 0 0 0 b] [0 c 0 d 0 0 0 0] [0 0 c d 0 0 0 0] |
| + | [c 0 0 0 d 0 0 0] [0 0 0 0 a 0 b 0] [0 0 0 0 a b 0 0] |
| + | [0 c 0 0 0 d 0 0] [0 0 0 0 0 a 0 b] [0 0 0 0 c d 0 0] |
| + | [0 0 c 0 0 0 d 0] [0 0 0 0 c 0 d 0] [0 0 0 0 0 0 a b] |
| + | [0 0 0 c 0 0 0 d] [0 0 0 0 0 c 0 d] [0 0 0 0 0 0 c d] |
| + | |
| + | Matica [[a b c d][e f g h][i j k l][m n o p]] aplikovaná v opačnom poradí: |
| + | [... |
| + | |
| + | |
| + | |
| + | . |
| + | |
| + | X[p q] = [q p] |
| + | X[1 0] = [0 1] čiže X|0> = |1> |
| + | X[0 1] = [1 0] čiže X|1> = |0> |
| + | |
| + | Y[p q] = [-qi pi] |
| + | Y[1 0] = [0 i] čiže Y|0> = i|1> |
| + | Y[0 1] = [-i 0] čiže Y|1> = -i|0> |
| + | |
| + | Z[p q] = [p -q] |
| + | Z[1 0] = [1 0] čiže Y|0> = |0> |
| + | Z[0 1] = [0 -1] čiže Y|1> = -|1> |
| + | |
| + | H[p q] = [p+q p-q]÷√2 |
| + | H[1 0] = [1 1]÷√2 čiže H|0> = √½|0> + √½|1> |
| + | H[0 1] = [1 -1]÷√2 čiže H|0> = √½|0> - √½|1> |
| + | |
| + | XX = I |
| + | YY = I |
| + | ZZ = I |
| + | HH = I |
| + | |
| + | |H[p q]|^2 = |√½[p+q p-q]|^2 = ½((p+q)^2 + (p-q))^2) = ½(pp + 2pq + qq + pp - 2pq + qq) = pp + qq |
| + | |
| + | . |
| + | H = [1 1] |
| + | [1 -1]÷√2 |
| + | |
| + | [√½ 0 √½ 0] [√½ √½ 0 0] |
| + | [ 0 √½ 0 √½] [√½ -√½ 0 0] |
| + | [√½ 0 -√½ 0] [ 0 0 √½ √½] |
| + | [ 0 √½ 0 -√½] [ 0 0 √½ -√½] |
| + | |
| + | . |
| + | |
| + | X = [0 1] |
| + | [1 0] |
| + | |
| + | [0 0 1 0] [0 1 0 0] |
| + | [0 0 0 1] [1 0 0 0] |
| + | [1 0 0 0] [0 0 0 1] |
| + | [0 1 0 0] [0 0 1 0] |
| + | |
| + | . |
| + | |
| + | Y = [0 -i] |
| + | [i 0] |
| + | |
| + | . |
| + | Z |
| + | [1 0] |
| + | [0 -1] |
| + | |
| + | [1 0 0 0] [1 0 0 0] |
| + | [0 1 0 0] [0 -1 0 0] |
| + | [0 0 -1 0] [0 0 1 0] |
| + | [0 0 0 -1] [0 0 0 -1] |
| + | |
| + | . |
| + | |
| + | CNOT - CN, NC |
| + | [1 0 0 0] [1 0 0 0] |
| + | [0 1 0 0] [0 0 0 1] |
| + | [0 0 0 1] [0 0 1 0] |
| + | [0 0 1 0] [0 1 0 0] |
| + | |
| + | Toffoli |
| + | [1 0 0 0 0 0 0 0] |
| + | [0 1 0 0 0 0 0 0] |
| + | [0 0 1 0 0 0 0 0] |
| + | [0 0 0 1 0 0 0 0] |
| + | [0 0 0 0 1 0 0 0] |
| + | [0 0 0 0 0 1 0 0] |
| + | [0 0 0 0 0 0 0 1] |
| + | [0 0 0 0 0 0 1 0] |
| + | |
| + | . |
| + | |
| + | |
| + | Superhusté kódovanie |
| + | https://www.youtube.com/watch?v=w5rCn593Dig |
| + | |
| + | Vytvoríme dva previazané qubity, jeden pošleme Alici, druhý Bobovi |
| + | 0--[H]--[C]- |
| + | 0-------[N]- |
| + | [1] [√½] [√½] |
| + | [0] [ 0] [ 0] |
| + | [0] [√½] [ 0] |
| + | [0] [ 0] [√½] |
| + | |
| + | Alica má dva klasické bity, a podľa ich hodnoty urobí so svojím qubitom nasledujúcu operáciu: 00 = I, 01 = X, 10 = Z, 11 = XZ (najprv Z, potom X), výsledok pošle Bobovi |
| + | 00 01 10 11 |
| + | [√½] [ 0] [ √½] [ 0] |
| + | [ 0] [√½] [ 0] [-√½] |
| + | [ 0] [√½] [ 0] [ √½] |
| + | [√½] [ 0] [-√½] [ 0] |
| + | |
| + | Bob má dva qubity 00+11, 10+01, 00-11, 10-01 (všetky štyri možnosti sú na seba kolmé), revertne pôvodné previazanie, a odmeria ich. |
| + | -----[C]--[H] |
| + | -----[N]----- |
| + | [√½] [√½] [1] = 00 |
| + | [ 0] [ 0] [0] |
| + | [ 0] [√½] [0] |
| + | [√½] [ 0] [0] |
| + | |
| + | [ 0] [ 0] [0] |
| + | [√½] [√½] [1] = 01 |
| + | [√½] [ 0] [0] |
| + | [ 0] [√½] [0] |
| + | |
| + | [ √½] [ √½] [0] |
| + | [ 0] [ 0] [0] |
| + | [ 0] [-√½] [1] = 10 |
| + | [-√½] [ 0] [0] |
| + | |
| + | [ 0] [ 0] [ 0] |
| + | [-√½] [-√½] [ 0] |
| + | [ √½] [ 0] [ 0] |
| + | [ 0] [ √½] [-1] = 11 |
| + | |
| + | . |
| + | |
| + | Alica má tajný qubit [a b]. |
| + | Vytvoríme dva previazané qubity [√½ 0 0 √½], jeden pošleme Alici, druhý Bobovi |
| + | [a√½ 0 0 a√½ b√½ 0 0 b√½] = a×000 + a×011 + b×100 + b×111 |
| + | |
| + | see: https://www.youtube.com/watch?v=3wZ35c3oYUE |
| + | |
| + | |
| + | CNOT zo source qubitu na previazaný, Hadamard na source qubit |
| + | odmeriame previazaný qubit; ak je 1, povieme adresátovi, nech na svojom qubite spraví X |
| + | odmeriame source qubit; ak je 1, povieme adresátovi, nech na svojom qubite spraví Z |
| + | teraz je adresátov qubit v rovnakom stave, ako bol source qubit na začiatku |
| + | aj keby niekto odpočúal poslané informácie, nič mu to nepovie |
| + | |
| + | |
| + | c/eJxM0sFuozoUxvGngV0jcwwkLFjklnAHFIjaEALdIGMbajCQgmkLTz-iGmlmaf31_eTFoUTxehgXVw616HXmIrvkBHTuGrZj2HvkwF7nHRGyqHnPR6I4K4j6W00HsP7uVnvbskpmItPBtu3sjQoTwNTYHyoOJiK6cAEBRgcDGYAtwDu8q1iFqoo5FbG4eTD2u49BtYDrQTNRVz-pb2M3zeWkCG13dOh06b4r9Zg0fNTA18D_N25PUfdPotfA__mvBj4duofkimvYV0PLew17fAkNCumSgWyDZljiJLfipl6i65egkK4U5GfZ_jQRZ2H2uoZtjlJ5hfR-vzGZSydI5H9vl9urxeTr_xdfdkkaiPNz-KDPgR00JytazCX2bnPsHedLkm-tK3FY0V-p2Nw8ixHt_CkHp33L3tHb3fzZ59mLuDQnuCQniNejFTXRFHSpublRkltRkuPYuy3R8iVIFq-btZnn5LjtV3YPxEWEK7mz-XyXc9Cj3Xq1X4qqpl14PZ-LYxQ2eyos7H0MHjNfkshJAnzCydhgpIE9ciZGTpWGPQ0s8PXHXBZ06Lq5F2opeE9KyZmrxplvSQpKlBj6QjD34BiA9NH9FFKQTjNROY-7qdWnuWRDR0TvkkmNRNKB8W_Fe139Obl54uMGgGU79gGM3wEAAP__quXX_AZZ |
| + | |
| + | . |
| + | |
| + | |
| + | Motivácia: |
| + | - každý mnohočlen N-tého stupňa má N koreňov |
| + | - 2D súradnice |
| + | - https://en.wikipedia.org/wiki/Cubic_equation#Cardano's_formula |
| + | - https://en.wikipedia.org/wiki/Steiner_inellipse |
| + | |
| + | Definujme i ako i*i=-1 a predpokladajme, že platie bežné pravidlá matematiky. |
| + | Nemôžeme sčítať hrušky s jablkami, preto sa a+bi nedá ďalej zjednodušiť. |
| + | a+bi + c+di = (a+c)+(b+d)i |
| + | a+bi - c-di = (a-c)+(b-d)i |
| + | a+bi * c+di = ac + adi + bci + bdii = (ac+bd)+(ad+bc)i |
| + | a+bi / c+di = (a+bi)(c-di) / (c+di)(c-di) = (ac+bd)+(bc-ad)i / cc+dd = (ac+bd)/(cc+dd)+(bc-ad)/(cc+dd)i |
| + | 1 / a+bi = a/(aa+bb) - b/(aa+bb)i |
| + | |
| + | geometrická interpretácia: zoom a otočenie - násobenie 2, delenie 2, násobenie i, delenie i = násobenie -i |
| + | absolútna hodnota |a+bi| = sqrt(aa+bb), |cis(u)| = 1, a+bi = r*cis(u) # u je nejednoznačné na pridanie násobku 360 |
| + | r*cis(u) * s*cis(v) = (r*s)*cis(u+v) |
| + | r*cis(u) / s*cis(v) = (r/s)*cis(u-v) |
| + | mimochodom, aj -i je odmocnina z -1; a celkovo každé číslo má dve druhé odmocniny |
| + | sqrt(r*cis(u)) = sqrt(r)*cis(u/2) alebo sqrt(r)*cis(pi + u/2) |
| + | sqrt(i) = cis(45) = +-sqrt(1/2)+-sqrt(1/2)i |
| + | skúška správnosti: (+-sqrt(1/2)+-sqrt(1/2)i)^2 = 1/2 -1/2 +2*1/2i = i |
| + | každé číslo má tri tretie odmocniny |
| + | sqrt(1) = 1 alebo +-cis(120) = -1/2 +-sqrt(3/4)i |
| + | skúška správnosti: (-1/2 +- sqrt(3/4)i)^3 = (1/4 - 3/4 -+sqrt(3/4)i) * (-1/2 +- sqrt(3/4)i) = 1/4 -+sqrt(3/4)/2i +-sqrt(3/4)/2i +3/4 = 1 |
| + | |
| + | vizualizácia: kladné čísla zelené, záporné červené, i modré, -i žlté; osi čierne |
| + | https://en.wikipedia.org/wiki/Domain_coloring |
| + | vizualizácia kvadratickej rovnice s 2 reálnymi, 1 reálnym, 2 komplexnými koreňmi |
| + | |
| + | umocňovanie na iné ako celé číslo nie je jednoznačne definované, keďže už odmocniny (mocniny na 1/N) sú nejednoznačné |
| + | reálna mocnina ako limita racionálnych mocnín... môžeme povedať akurát jej absolútnu hodnotu |
| + | |
| + | čo by to znamenalo "umocniť niečo na i"? pomôže nám Taylorov rad: |
| + | e^x = x^0/0! + x^1/1! + x^2/2! ... |
| + | cos(x) = 1 - x^2/2! + x^4/4! ... |
| + | sin(x) = x^1/1! - x^3/3! + x^5/5! ... |
| + | z čoho by vyplývalo e^ix=cis(x) |
| + | |
| + | ln(r*cis(u)) = ln(r)+ui # nejednoznačné, lebo k u možno pridať násobky 360 |
| + | ln(-1)=180i ale aj -180i |
| + | |
| + | Taylorov rad pre ln(1) diverguje ak |x-1|>1 |
| + | ln(x) = (x-1)^1/1 - (x-1)^2/2 + (x-1)^3/3 ... |
| + | a ešte aj keď konverguje, je citlivý na preusporiadanie prvkov |
| + | ln(1+i) = i - i^2/2 + i^3/3 ... = i + 1/2 - i/3 - 1/4 ... = (1/2 - 1/4 + 1/6 ...) + (1 - 1/3 + 1/5 ...)i |
| + | |
| + | a^x = e^ln(a)*x |
| + | ak a je kladné reálne, je to jednoznačné, ale inak nie |
| + | |
| + | Ak berieme aj celé komplexné čísla ako celé čísla, zmení sa nám definícia prvočísla, lebo napríklad 2 = (1+i)(1-i), 5 = (2+i)(2-i) |
| + | Násobenie zachováva absolútne hodnoty, takže stačí skúšať delitele s absolútnou hodnotou menšou ako odmocnina absolútnej hodnoty N |
| + | Súčin dvoch celých komplexných čísel je prirodzené číslo iba ak je to (a+bi)(a-bi)=aa+bb; keďže modulo 4 aa aj bb sú {0,1}, prvočísla dávajúce zvyšok 3 po delení |
| + | Neviem to dokázať, ale komplexné prvočísla sú buď typu 4k+3 alebo a+bi kde aa+bb je prvočíslo nie typu 4k+3. |
| + | |
| + | . |
| + | |
| + | |
| + | . |
https://arxiv.org/pdf/1803.05316.pdf
An Invitation to Applied Category Theory
https://quantum.country/
https://michaelnielsen.org/blog/quantum-computing-for-the-determined/
Slovo "superpozícia" znamená lineárna kombinácia stavov.
Ak máme hodnotu "a*k0 + b*k1", nevieme zistiť čísla "a" a "b".
Vieme však s pravdepodobnosťou "|a*a|" dostať hodnotu 0 (čím sa hodnota zmení na k0), a s pravdepodobnosťou "|b*b|" hodnotu 1 (čím sa hodnota zmení na k1).
Kvantová brána je komplexná matica 2×2, ktorá zachováva jednotkovú dĺžku vektorov.
Aby to platilo, musí byť [[a b] [c d]] × [[a' c'][b' d']] = [[1 0] [0 1]].
rotácia = [[cos q -sin q] [sin q cos q]]
CNOT × [|+> |->] = [|-> |->] = ako je to možné?
Toffoli gate
t k00z = k00z
t k01z = k01z
t k10z = k10z
t k110 = k111
t k111 = k110
Toffoli gate sa dá poskladať z CNOT a jednoqubitových brán, konkrétne z [[1 0][0 0.7+0.7i]] a jeho daggeru.
Uncomputation:
kvantové brány sú reverzibilné
dajú sa nimi simulovať klasické výpočty, ale potrebujeme pomocné bity, ktoré sa naplnia medzivýpočtami
ak chceme výpočet opakovať, potrebujeme pomocné bity vyčistiť
postup:
urobíme výpočet
pomocou CNOT skopírujeme výsledok výpočtu do výstupných bitov
revertneme výpočet
Hľadanie:
začíname v stave 000...
aplikujeme H na každý vstupný qubit, dostaneme rovnomerne pokryté všetky možnosti
klasicky vypočítame, či je riešenie dobré a podľa toho nastavíme "solution bit"
skopírujeme "solution bit" a revertneme výpočet
Ak máme dva qubity v stave [a, b, c, d] a odmeriame prvý,
dostaneme 0 s pravdepodobnosťou |a|^2 + |b|^2
druhý qubit je v stave [a / |a|^2 + |b|^2, b / |a|^2 + |b|^2]
dostaneme 1 s pravdepodobnosťou |c|^2 + |d|^2,
druhý qubit je v stave [c / |c|^2 + |d|^2, b / |c|^2 + |d|^2]
Ak máme dva qubity v stave [a b c d] a odmeriame prvý v bázach e0 = [√½ √½] a e1 = [√½ -√½],
[1 0] = √½(e0 + e1)
[0 1] = √½(e0 - e1)
takže [a, b, c, d] = √½(a+c)[e0 0] + √½(b+d)[e0 1] + √½(a-c)[e1 0] + √½(b-d)[e1 1]
pravdepodobnosť e0 je (a+c)^2+(b+d)^2 /2
Ak máme bázy b0 = 00+11, b1 = 10+01, b2 = 00-11, b3 = 10-01
00 = b0+b2
01 = b1-b3
10 = b1+b3
11 = b0-b2
https://www.youtube.com/watch?v=NZqRUH1uSlE
vývoj kvantového systému v čase
.
Pri modelovaní kvantového počítača potrebujeme vedieť amplitúdy všetkých možných stavov qubitov.
Počítač s N qubitmi teda reprezentuje vektor s 2^N komplexnými číslami.
Pri vektore nie je podstatné poradie čísel, je to skôr mapa z P(B) do C.
Tradične je poradie stavov pre jeden qubit ["q0=0", "q0=1"], pre dva qubity ["q0=0 q1=0", "q0=0 q1=1", "q0=1 q1=0", "q0=1 q1=1"] čiže [|00> |01> |10> |11>], atď.
[1 0] = |0> = qubit je (klasicky) vypnutý
[0 1] = |1> = qubit je (klasicky) zapnutý
[a b] = a|0> + b|1> = qubit je v superpozícii; "a" a "b" sú komplexné čísla; "|a|^2 + |b|^2 = 1"
Vektor "ket" je zvislý.
Vektor "bra" je vodorovný a komplexné hodnoty majú otočené znamienko pri imaginárnej časti; čiže "<x| = |x>†".
Kedže "x × x* = |x|^2", tak "<x|x> = <x| × |x> = | |x> |^2".
Skrátené zápisy
[√½ √½] = |+>
[√½ -√½] = |->
Fyzickú operáciu s qubitmi reprezentuje štvorcová matica komplexných čísel, mapa z P(B)×P(B) do C.
× [p]
[q]
[a b] [ap+bq]
[c d] [cp+dq]
Intuitívne, stĺpec v matici je východiskový stav, riadok v matici je cieľový stav.
Ak aplikujeme viac operácií, napríklad najprv A, potom B, nakoniec C, výsledok je: C(B(Ax)) = CBAx
Ak je prvý qubit [a b] a druhý [c d], spolu sú [ac ad bc bd].
Čiže ak máme stav [a b c d], kde ad = bc, sú to dva nepreviazané qubity.
Matica [[a b][c d]] aplikovaná na prvý alebo druhý z dvoch qubitov:
[a 0 b 0] [a b 0 0]
[0 a 0 b] [c d 0 0]
[c 0 d 0] [0 0 a b]
[0 c 0 d] [0 0 c d]
aplikovaná na prvý, druhý, alebo tretí z troch qubitov:
[a 0 0 0 b 0 0 0] [a 0 b 0 0 0 0 0] [a b 0 0 0 0 0 0]
[0 a 0 0 0 b 0 0] [0 a 0 b 0 0 0 0] [c d 0 0 0 0 0 0]
[0 0 a 0 0 0 b 0] [c 0 d 0 0 0 0 0] [0 0 a b 0 0 0 0]
[0 0 0 a 0 0 0 b] [0 c 0 d 0 0 0 0] [0 0 c d 0 0 0 0]
[c 0 0 0 d 0 0 0] [0 0 0 0 a 0 b 0] [0 0 0 0 a b 0 0]
[0 c 0 0 0 d 0 0] [0 0 0 0 0 a 0 b] [0 0 0 0 c d 0 0]
[0 0 c 0 0 0 d 0] [0 0 0 0 c 0 d 0] [0 0 0 0 0 0 a b]
[0 0 0 c 0 0 0 d] [0 0 0 0 0 c 0 d] [0 0 0 0 0 0 c d]
Matica [[a b c d][e f g h][i j k l][m n o p]] aplikovaná v opačnom poradí:
[...
.
X[p q] = [q p]
X[1 0] = [0 1] čiže X|0> = |1>
X[0 1] = [1 0] čiže X|1> = |0>
Y[p q] = [-qi pi]
Y[1 0] = [0 i] čiže Y|0> = i|1>
Y[0 1] = [-i 0] čiže Y|1> = -i|0>
Z[p q] = [p -q]
Z[1 0] = [1 0] čiže Y|0> = |0>
Z[0 1] = [0 -1] čiže Y|1> = -|1>
H[p q] = [p+q p-q]÷√2
H[1 0] = [1 1]÷√2 čiže H|0> = √½|0> + √½|1>
H[0 1] = [1 -1]÷√2 čiže H|0> = √½|0> - √½|1>
XX = I
YY = I
ZZ = I
HH = I
|H[p q]|^2 = |√½[p+q p-q]|^2 = ½((p+q)^2 + (p-q))^2) = ½(pp + 2pq + qq + pp - 2pq + qq) = pp + qq
.
H = [1 1]
[1 -1]÷√2
[√½ 0 √½ 0] [√½ √½ 0 0]
[ 0 √½ 0 √½] [√½ -√½ 0 0]
[√½ 0 -√½ 0] [ 0 0 √½ √½]
[ 0 √½ 0 -√½] [ 0 0 √½ -√½]
.
X = [0 1]
[1 0]
[0 0 1 0] [0 1 0 0]
[0 0 0 1] [1 0 0 0]
[1 0 0 0] [0 0 0 1]
[0 1 0 0] [0 0 1 0]
.
Y = [0 -i]
[i 0]
.
Z
[1 0]
[0 -1]
[1 0 0 0] [1 0 0 0]
[0 1 0 0] [0 -1 0 0]
[0 0 -1 0] [0 0 1 0]
[0 0 0 -1] [0 0 0 -1]
.
CNOT - CN, NC
[1 0 0 0] [1 0 0 0]
[0 1 0 0] [0 0 0 1]
[0 0 0 1] [0 0 1 0]
[0 0 1 0] [0 1 0 0]
Toffoli
[1 0 0 0 0 0 0 0]
[0 1 0 0 0 0 0 0]
[0 0 1 0 0 0 0 0]
[0 0 0 1 0 0 0 0]
[0 0 0 0 1 0 0 0]
[0 0 0 0 0 1 0 0]
[0 0 0 0 0 0 0 1]
[0 0 0 0 0 0 1 0]
.
Superhusté kódovanie
https://www.youtube.com/watch?v=w5rCn593Dig
Vytvoríme dva previazané qubity, jeden pošleme Alici, druhý Bobovi
0--[H]--[C]-
0-------[N]-
[1] [√½] [√½]
[0] [ 0] [ 0]
[0] [√½] [ 0]
[0] [ 0] [√½]
Alica má dva klasické bity, a podľa ich hodnoty urobí so svojím qubitom nasledujúcu operáciu: 00 = I, 01 = X, 10 = Z, 11 = XZ (najprv Z, potom X), výsledok pošle Bobovi
00 01 10 11
[√½] [ 0] [ √½] [ 0]
[ 0] [√½] [ 0] [-√½]
[ 0] [√½] [ 0] [ √½]
[√½] [ 0] [-√½] [ 0]
Bob má dva qubity 00+11, 10+01, 00-11, 10-01 (všetky štyri možnosti sú na seba kolmé), revertne pôvodné previazanie, a odmeria ich.
[C]--[H]
[N]-----
[√½] [√½] [1] = 00
[ 0] [ 0] [0]
[ 0] [√½] [0]
[√½] [ 0] [0]
[ 0] [ 0] [0]
[√½] [√½] [1] = 01
[√½] [ 0] [0]
[ 0] [√½] [0]
[ √½] [ √½] [0]
[ 0] [ 0] [0]
[ 0] [-√½] [1] = 10
[-√½] [ 0] [0]
[ 0] [ 0] [ 0]
[-√½] [-√½] [ 0]
[ √½] [ 0] [ 0]
[ 0] [ √½] [-1] = 11
.
Alica má tajný qubit [a b].
Vytvoríme dva previazané qubity [√½ 0 0 √½], jeden pošleme Alici, druhý Bobovi
[a√½ 0 0 a√½ b√½ 0 0 b√½] = a×000 + a×011 + b×100 + b×111
see: https://www.youtube.com/watch?v=3wZ35c3oYUE
CNOT zo source qubitu na previazaný, Hadamard na source qubit
odmeriame previazaný qubit; ak je 1, povieme adresátovi, nech na svojom qubite spraví X
odmeriame source qubit; ak je 1, povieme adresátovi, nech na svojom qubite spraví Z
teraz je adresátov qubit v rovnakom stave, ako bol source qubit na začiatku
aj keby niekto odpočúal poslané informácie, nič mu to nepovie
c/eJxM0sFuozoUxvGngV0jcwwkLFjklnAHFIjaEALdIGMbajCQgmkLTz-iGmlmaf31_eTFoUTxehgXVw616HXmIrvkBHTuGrZj2HvkwF7nHRGyqHnPR6I4K4j6W00HsP7uVnvbskpmItPBtu3sjQoTwNTYHyoOJiK6cAEBRgcDGYAtwDu8q1iFqoo5FbG4eTD2u49BtYDrQTNRVz-pb2M3zeWkCG13dOh06b4r9Zg0fNTA18D_N25PUfdPotfA__mvBj4duofkimvYV0PLew17fAkNCumSgWyDZljiJLfipl6i65egkK4U5GfZ_jQRZ2H2uoZtjlJ5hfR-vzGZSydI5H9vl9urxeTr_xdfdkkaiPNz-KDPgR00JytazCX2bnPsHedLkm-tK3FY0V-p2Nw8ixHt_CkHp33L3tHb3fzZ59mLuDQnuCQniNejFTXRFHSpublRkltRkuPYuy3R8iVIFq-btZnn5LjtV3YPxEWEK7mz-XyXc9Cj3Xq1X4qqpl14PZ-LYxQ2eyos7H0MHjNfkshJAnzCydhgpIE9ciZGTpWGPQ0s8PXHXBZ06Lq5F2opeE9KyZmrxplvSQpKlBj6QjD34BiA9NH9FFKQTjNROY-7qdWnuWRDR0TvkkmNRNKB8W_Fe139Obl54uMGgGU79gGM3wEAAP__quXX_AZZ
.
Motivácia:
- každý mnohočlen N-tého stupňa má N koreňov
- 2D súradnice
- https://en.wikipedia.org/wiki/Cubic_equation#Cardano's_formula
- https://en.wikipedia.org/wiki/Steiner_inellipse
Definujme i ako i*i=-1 a predpokladajme, že platie bežné pravidlá matematiky.
Nemôžeme sčítať hrušky s jablkami, preto sa a+bi nedá ďalej zjednodušiť.
a+bi + c+di = (a+c)+(b+d)i
a+bi - c-di = (a-c)+(b-d)i
a+bi * c+di = ac + adi + bci + bdii = (ac+bd)+(ad+bc)i
a+bi / c+di = (a+bi)(c-di) / (c+di)(c-di) = (ac+bd)+(bc-ad)i / cc+dd = (ac+bd)/(cc+dd)+(bc-ad)/(cc+dd)i
1 / a+bi = a/(aa+bb) - b/(aa+bb)i
geometrická interpretácia: zoom a otočenie - násobenie 2, delenie 2, násobenie i, delenie i = násobenie -i
absolútna hodnota |a+bi| = sqrt(aa+bb), |cis(u)| = 1, a+bi = r*cis(u) # u je nejednoznačné na pridanie násobku 360
r*cis(u) * s*cis(v) = (r*s)*cis(u+v)
r*cis(u) / s*cis(v) = (r/s)*cis(u-v)
mimochodom, aj -i je odmocnina z -1; a celkovo každé číslo má dve druhé odmocniny
sqrt(r*cis(u)) = sqrt(r)*cis(u/2) alebo sqrt(r)*cis(pi + u/2)
sqrt(i) = cis(45) = +-sqrt(1/2)+-sqrt(1/2)i
skúška správnosti: (+-sqrt(1/2)+-sqrt(1/2)i)^2 = 1/2 -1/2 +2*1/2i = i
každé číslo má tri tretie odmocniny
sqrt(1) = 1 alebo +-cis(120) = -1/2 +-sqrt(3/4)i
skúška správnosti: (-1/2 +- sqrt(3/4)i)^3 = (1/4 - 3/4 -+sqrt(3/4)i) * (-1/2 +- sqrt(3/4)i) = 1/4 -+sqrt(3/4)/2i +-sqrt(3/4)/2i +3/4 = 1
vizualizácia: kladné čísla zelené, záporné červené, i modré, -i žlté; osi čierne
https://en.wikipedia.org/wiki/Domain_coloring
vizualizácia kvadratickej rovnice s 2 reálnymi, 1 reálnym, 2 komplexnými koreňmi
umocňovanie na iné ako celé číslo nie je jednoznačne definované, keďže už odmocniny (mocniny na 1/N) sú nejednoznačné
reálna mocnina ako limita racionálnych mocnín... môžeme povedať akurát jej absolútnu hodnotu
čo by to znamenalo "umocniť niečo na i"? pomôže nám Taylorov rad:
e^x = x^0/0! + x^1/1! + x^2/2! ...
cos(x) = 1 - x^2/2! + x^4/4! ...
sin(x) = x^1/1! - x^3/3! + x^5/5! ...
z čoho by vyplývalo e^ix=cis(x)
ln(r*cis(u)) = ln(r)+ui # nejednoznačné, lebo k u možno pridať násobky 360
ln(-1)=180i ale aj -180i
Taylorov rad pre ln(1) diverguje ak |x-1|>1
ln(x) = (x-1)^1/1 - (x-1)^2/2 + (x-1)^3/3 ...
a ešte aj keď konverguje, je citlivý na preusporiadanie prvkov
ln(1+i) = i - i^2/2 + i^3/3 ... = i + 1/2 - i/3 - 1/4 ... = (1/2 - 1/4 + 1/6 ...) + (1 - 1/3 + 1/5 ...)i
a^x = e^ln(a)*x
ak a je kladné reálne, je to jednoznačné, ale inak nie
Ak berieme aj celé komplexné čísla ako celé čísla, zmení sa nám definícia prvočísla, lebo napríklad 2 = (1+i)(1-i), 5 = (2+i)(2-i)
Násobenie zachováva absolútne hodnoty, takže stačí skúšať delitele s absolútnou hodnotou menšou ako odmocnina absolútnej hodnoty N
Súčin dvoch celých komplexných čísel je prirodzené číslo iba ak je to (a+bi)(a-bi)=aa+bb; keďže modulo 4 aa aj bb sú {0,1}, prvočísla dávajúce zvyšok 3 po delení
Neviem to dokázať, ale komplexné prvočísla sú buď typu 4k+3 alebo a+bi kde aa+bb je prvočíslo nie typu 4k+3.
.
.