qat.lang.CCNOT

qat.lang.CCNOT

Definition of the \(CCNOT\) gate (of arity \(3\)). This gate is part of the default gate set of myQLM and is defined in the default gate set default_gate_set().

from qat.lang import qrout, CCNOT

@qrout
def circ():
    CCNOT(0, 1, 2)
data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA58AAAKZCAQAAACVNldeAAAAAmJLR0QA/4ePzL8AAAAJcEhZcwAAAooAAAKKAHc+pAoAAAAHdElNRQfqCgEWDilNnYegAAAsUklEQVR42u3de7AeZ30f8J+uR1dDgp2k8ZRYlnRs45A2CUPc2JYtl2YGmuZSsHUzw6SU1gXSgGUJ0gwpJS0F63J8aZ2mmVAo1tW4TGkwExL5GjfTaQikSZB1t9tpTIPjC/aRLOvYp39IOj7nfXffy9nddy/v5/P+YWvfd5/d99nd832ffXafjQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAmpkz5N//ypiIyZgXT8fzdgYA6OTm2BdPxGTL62hs6aOM0ZiMybhXZQLQfFviVFtsznw9FUt6KOfOqc8DQKPt7RKcr7929lESADTWnpSgfC4OxqE4GM+1TD/doawnp31ut6oFoJl2JAbng3FNy+fWt/SHLk0s7bUZn9mkegFonmsTo3NX6uffPONz3VuxANA4jydE56lY2GWuY1OfnWh557620gCgUUYS253be5r34anPj02burmPViwA1NC6xPDc0PP841PznL+NZU1CeXo+AWiQLyWG5/w+Slg0Ndfxc1OSSgSAxki+SWWkz1LGpua8MCIOiU8AmuzVzC3PaGlvHoh39nn9LgDUykTGPs/pbpo2iMKknk8AmmpXYsztmHV5nYf2A4AG2J8YcsczlHiv+ASg2cYKCLnrO4Snnk8Aam9DSsitz1huenzq+QSg5hanRNyxzCUfdOoWgHZzG/EtTqZMX5m55C/bRQBoZnzuTZm+I4ey56VMf9iuA0CdXVvo6dXPp5S9RcUDUGdp4bmz0NKXqniAYTan5uv/ePx0od9ssuB6uzJeiTPxa/FvYkEsiG/bIRk6V8RPxNtjIs7Exngq/nssiIWxI56NF1QNFOfS1NbhvlzKX5tS+kMZy70hdsThlLIPxc54h01L4703dncZ1+tw3DH1wEAgV0WPCLQt957Pv9tlJKPXX3vjchuYhgbnQz0eBecfcr9MpUGe7urwqzUf47n2fN7c15+Ms/etrrKZaZSdfR8F54/p96o8KL7tuaHgJczGiYRyDsRYvDlWxepYHSvipsSW6XGnrxjy6Hz9tUIlQrGHYj5W5dbzubGtjCdSB/0bSQjRO2xuam5r5ug8+3pSVUJxbc8HCw7ofns+v9RWwo90nedYyxxP2eDU2PGcwvPsa6sKhdkb63BwbcxpGYdy6fnc1zL3F3uc78aW+V6x0amla3ONzrOvx1Qr5N/2nCx8Gf3Yn+GGmrkt85622amdOwoIT0OXwKxt6HBQHchpGatz6Pls/dOxp891mNcy/xmbnlrZX1h4TsZkLFLB0K9TA+gXGcvc87mmZc4js1iL1lO4j9v41Ma+QsNzMiZjRCVDP5YO5NRt9p7PfNbsIZdNIDy1QCEP22vR8/loy3w7clsTqL4vDSQ89YFCLsE2GZNxe07LyNrzeV2Oodc6MuhuuwAVt25g4ekHJfRstOOBdENOS8na8zmZ8aKhzqWN2g2osJGBhqe7oqFH22vQ87kx50scXmobyA+qa3LgL4+vh4yH5qHClzLbufP+yWAcXOr5A9cJXKhkfI7ltIxsPZ/tc38x4/qsbCtR/yfVdFkp4TkZJ1Q9dLap4yG0OqelZOv53FXAqSW/tqmHIyXF52SsUfnQyZ4a9Hy2z3dZAfGpt4fqeW9p4eknJXQxXvmez02FHNZH28o8ZWegck6VGp8eqM1Aza3Z+na6ZOarOS0j7RTwwz3N/YFCvvd/aZtitBWqZnXJe+UnbALEZ5rlHd+9J6el3JIy/YGe5r6ubcqRHNbpmYRpH7P7Uim/U3p8uyIdUqNpED0f4xl6PpMGdbg3h3VakVDuw3YIKmWy9Nc+GwGtz2Tv7vDeS7ktZUlqrHb3zxKmfSeHdVrcUzsXyvPxCqzDTTYD4jNZp8tlvpLTMtamTO+trfeuhGl59Ad9O3HqcjswlfEzlViLy2wIxGeSdR3e+1ZOy3hXyvTeej6TRqPdVlh9/JwdmMpYW4m1uMWGgCSdbsnO61dnlp7P5YlzrsplvZJK3maXoCJGK9Dzme/ta9Co1meny4PyOmyy9Hz+eOLUeYXVxy/YgamID1UmxkF8liLtcpwHe5r7FxOnLsxlzf48YdoqG4yK+PHKrMkFNgbisx/Hcionrefkz3qa+yczzNvNQjsrFfbGyqyJC+oQn335ck7lrE+Z3tuQDBcV+A3nJE59g12YSnhrZdZkg43BYMyv1drOSX3nTwpe8uGePnX5wGvkonihUfvj98cD8VMOSzLY5pK6mvpK/Lz4LM6C1He+kUv5GzOFZxneHkcbFZ5/7W8IDKmfi8kOTaQKqtfJ230ZW4fdZLvnswzNaql9zV8QGGr/UXwWZXHB5W9Kmd5bz+dbSqiRiUYdOm/31wOG2s+Kz6LcX1I49/bMlDKibMLxBjTGX4rPohR7gdBvpEzv9cTwmRJq5O806tD5bX89YKjV6pmt9YrPFwstfXPK9F57Pq8qoUYubtSh80/im/5+wND6rXpd/zC/ZtV7JFYXVPKtqe/0+hjuMuLztYYdPj8Rb40Pxqkcn95K8c7EM3F7Za6ZvC++HUuNp1Yzc2Nx/It4VkUU6c7CHpWd/THcOwt9jPfhxLIP2yWohG9WZMj4ybjQxmBQmV8vv1pQuUc7xFbvAQzD6g8qsybP2BiIzyQnU6ZnGzx9e6xMfe8BOwl09dWK/4WAoY/PiLsSp/5ChhLXp140FNF7zycMs4crsh6/a1MgPtP8SuLUvzXr8ubFno7vH7GTQG3afb9pQyA+0yUN3XfzLMsa6TLwgEtzoDfVGG7tYRsC8Zku+aFisxnQbyRe7vIJPZ/Qm18TnojP6htLmPapvkuZ3zU8++v5nGN3YohV4eTt52wG6Cb7/ZUbps356cz3fEZE3F3CfZ96ZqmO20q/5xPoamXCoXNrH/NPH+JgeyxMORgP9bVO15QQn8ftClT8Z+3gXnfYANCLOzME1SPT5vliRGxNORzHMkd60fG5y45AhYxpe0Id7G87fI72MNfVCS3W51MOx/7G1x0tIT632Q3Q/tT2hH7tazuE7u34+VVxZManV3Q55PtzZQnxudNOQKVs0faEeriv7SAaT3mKzMp4cMbnjk29c30uPZ/pMVxkfP47uwAV83Ip4blGxUMev3Z/P9ZN+8Sa+GzbJ6YP/bctl57PcuLzEjsAFbOohPB8XLXDbCyOV/o61B5rmX88l57P9Ph8Qy7f8onEst9i81M5dzhxC/WxqcfD7ESM9hh6szkkk1uIl+fyDV/wZ4PaeHKg4TmiwiGb98VDHQ+y5JOxa3Pr+YzYnVjSaC7fzq9u6uTkwMJzvcqGfNwQO+N4fG9aDO6Jj8Xy1M/n1/MZcVdiSSsLi8+DNjeVNZjwHFPRUJb8ej7TBk64prA/RrttPipr8QDC8z7VDNX7jZxfaXcVtp5bbD4qbImWJ002f8i//9qU6Xk+5/N0DmUkX3703+zAVNjJmBOnY2FBpa9PfPIvDMzcIf/+70qZPtvnfD6cMO2Hc1jPU4lTn7ADU3EjBd2TuUp4Qrny7PmMSB7EIY+HiiU9DO2wzUctbM35pO0JVQrly/s27GUJZb2Qw3p+NqHcO20+auNEbuG5VWVC+dLu+TyZcyBndyyh1CU2IDVycw7RuV81QjWk3fO5PUOZOxLKW555TV8wZAINsCFDdO5RfVAdaT2fazOUuaSQp0G0l7nD5qOW1s54XL1bVKCWihmAOt/WbFokL7X5qLFNPYXoyRjTSQFV/BWcfMiOZyz3ttwH12sv8WWbjwZYHptiW/xFHGr7wbkjVqkeqKq0ns9tBbRqs/mDtvI22Xw0yCL9+lAnRfR8nrU/56dCuGyIZrvE/g11UuSjd/N4/Nl5N7aVttHGo1FWi0+oj6J6Ps/akeMjfbU9abpRezj1M7xj3qaNdntPLqVvbpvye7MsaX3CL3UAKElxPZ9nXd9W8iW5tD232XRofQLlKbLn86wdOZS924lbxCdQHcX2fJ73Wkvpx/uc/z3GuUV8AlVS3D2fM51uKX9XH/PeWMDgfyA+gQxeKrjnMz1Ae22B/orbVRCfQNUU3/P5uom2pVzTdZ6jbfOssNEQn0C5PpISns8XtLx9bUs63CEO2y8XOhXLbDTEJ1DVtueRwpa4JnF5n41rpwXjitieeFJ5pw2G+ATK96HU+PxEocsdm8Ujgnfn8KhtEJ9AZh/uEFZPF7702/qIzvtsLMQnUL4VsS2e7RJZ34yrCl+PZXFbHOuwDodiR7zD5kJ8QpXNaej3+mR8IE7FaxExEVfMqoSDMT8iIubGSHw93l/QH423xU/FqzEZEfPi6fhSPBMv2CkZwvg8NBR/l6DyHphFL2Pn10GVClqf0PRfeZNqCrQ+oUhzVUFPvqMKABCf/Xq/KgDgdfMb+a0ujq/FBTFx7iTunFgQe2N+zImIObEwtsWCGT8bJmMiroqrzl3CMxkTsT7OTJ0AnhvL4pPxgF0FAIDqcOkQNeTkLQCITwAQnwAgPgFAfAKA+AQAxCcAiE8AEJ8AID4BQHwCAOITAMQnAIhPABCfACA+AQDxCQDiEwDEJwCITwAQnwAgPgEA8QkA4hMAxCcAiE8AEJ8AgPgEAPEJAOITAMQnAIhPAEB8AoD4BADxCQDiEwDEJwAgPgFAfAKA+AQA8QkA4hMAxCcAID4BQHwCgPgEAPEJAOITABCfACA+AUB8AoD4BADxCQCITwDIbv6Qf/8rYyImY148Hc/bGQCgk5tjXzwRky2vo7GljzJGYzIm416VCZmNthyLQOVsiVNtsTnz9VQs6aGcOx3oID5hOOztEpyvv3b2URIgPqGx9qQE5XNxMA7FwXiuZfrpDmU9Oe1zu1UtiE9oph2JwflgXNPyufUt/aFLE0t7bcZnNqleEJ/QPNcmRueu1M+/uctBvMdhDuITmu7xhOg8FQu7zHVs6rMTLe/c11YaID6hUUYS253be5r34anPj02burmPViwgPqGG1iWG54ae5x+fmuf8bSxrEsrT8wniExrkS4nh2c8IS4um5jp+bkpSiYD4hMZIvkllpM9SxqbmvDAiDolPEJ/QZK9mbnlGS3vzQLyzz+t3AfEJtTKRsc9zupumDaIwqecTxCc01a7EmNsx6/I6D+0HiE9ogP2JIXc8Q4n3ik8Qn9BsYwWE3PUdwlPPJ4hPqL0NKSG3PmO56fGp5xPEJ9Tc4pSIO5a55INO3YL4hHZzG/EtTqZMX5m55C/bRQBoZnzuTZm+I4ey56VMf9iuA7nR3oQSXFvo6dXPp5S9RcVDbi518hbK+N2a/NpZaOlLVTzk5o3iEwbt8YIv7RnkhUPvjivibTYpQ+ay+Ln4Ty3H15xYrGKgSJemxtu+XMpfm1L6QwV8l/NPiTlpszIU3hu7u4zrdTjumHpgIJCrokcE2jawns8zTlwxRMH5UJfgbH3I/TKVBnm6q8Ov1nyMD6Tn82r9PgyNnX0F5/Rj+r0qD4pve24oeAl5Om5ABkRnj68VKhGKPRTzsargns9FKUPSQ/NszRydZ19Pqkooru35YMEBnUfP541x0nCADI3jOYXn2ddWFQqzN9bh4NqY0zIOFdDzuTK2x0ueI8oQuTbX6Dz7eky1Ur45tW17Fv+dJjOW/9Px13FR3BRnYiKuih+Iyxu+TaDdHfErBZW8LMZVL/RrQ4ffpQdyWsbqjD2fV/fwG/oZrU8abX8BLc/XX4tUMGWq55Dxn+vw3u/ltIwPpkx/oMf5n+vy/rF4e1xoB6TB9sWNhZZ/KkZUMvRj6UB6DrP2fL6lw6VNr1/6oPVJc8NzcgAvLVBKM7+G6/yvBrKU0ZTpvfa3fN+Mf70Y343749m4W38NQ+FL8e6BLOeUPlDoXafforfntIzVOdzzeXVcGW+dxXeBuls3kJanIwb6bBV2OpBuyGkpYwMa7dYfA5pnZKDhORlPqXLoxfZa9HyKT4bX5MBfHl8PGQ/NQ4UvZRDfBpr7A9cJXBpjbqO+zQM5lbM6ZfrDdhjo6LLYXMpyT6h6xGdnmzq+e09OS8l6zycMq98tabmXxBqVD53saVTPp5O3NMt7Szlx68iBHow3qudTfNIsp0qNTw/UZqDqdvJ2SYf3vprTMvR8wuyOnHLHAPqETYD4TLO847t59XzekjJdzyd08julx/cSGwGSXTeQno/xgfV8OnlLk0yW/tpnI6D1mazTKJov5baUJamxCqT5eAXW4SabAfGZ7FSH976S0zLWpkx/2M4CHfxMJdbiMhsC8ZlkXYf3vpXTMt6VMl3PJ8zmh+dg3WJDQJIjHXo98vrVOcieT32fNMVoBXo+8719DRrV+uwULXkdNno+oX8fqkyMg/gsxXUp0x9UNdDBj1dmTS6wMRCf/TiWUzlpPSd/ZleBDt5YmTVZbmMgPvvx5ZzKWZ8y/R67CnTw1sqsyQYbg8GYU6u1PRKrUt7ZGHtyWcLkgOtpsvbbJF9vib9wUMJQ+k68NZ7R+izKgtR3vpFL+RtTph+2Zw+oBSM8YVj9UHy3Xitcr/hMH5Irn4Bzz2e5vqYKYKj9lvgsyuKCy097GLeez8G4WBXAUPt58VmU+0sK5yP2aoDC/Q/xWZQ/KbT030iZrudzUP6lKoCh9uvisygvFlr65pTpej4H5VPxmyoBhtYvxZ/WaXXrdpPE4Vhd0Pe4NXakvDNa4MlbN660elPcEhfFq/6S1MiZeCZur8x+e198O5YaT61W5sT8+EZ8QUUU687CHpVd/GO4e10q1M83KzJk/GRcaGMwGHX7jfarBZV7tEN7F+jmDyqzJs/YGIjPJCdTpq/KVOr2WJn6np5P6O6rFf8LAaScvr0tQ4nrO54KWl3ot3HylqaoxqnbfTYE9HeYfnHWpc3rcjgO/rtAHY1XIj6vtyEg3d4cQ2ek5GfXi0+aYqwS8Qn0HTqzGdBvpOvBOCY+oSdLKhCeD9kMDE49745KCrVP9V3K/Hi562eMdgu9qcJFO5+zGaD4VtuGaXN+urRTQVqfNMdtTt1C9a1MOHRu7WP+ndPm2x4LS+r5FJ80/2ft4F532ADQizszBM8jLdfsbi2p51N80ixj2p5QB/vbDp+jPcx1dUKL9flS7vkUn2h/antCKfa1HUL3dvz8qjgy49Mruhzy5fyxgfraou0J9XBf20E0HvMTP7kyHpzxuWNT71xfWs+n+KR5Xi4lPNeoeMjj1+7vx7ppn1gTn237xF3T3t9WWs+n+KR5FpUQno+rdpiNxfFKX4faYy3zj5fW8yk+aaI7nLiF+tjU42F2IkZ7irBBHZL+FNBETw40PEdUOGTzvnhoFgPwrS2x51N80lQnBxae61U25OOG2BnH43vTYnBPfCyWp36+zJ5P8UlzDSY8x1Q0lKXMnk/xSXMtHkB43qeaoXq/kctbOjTDEi1PaK5yez7FJ013urDwXKdyKdfcIf/+70qZ/oBdA3IwUtA9matin8qFMpXb86n1yTDYmnO784QqhfKVfRu2+GQ4nMgtPLeqTChfWs/nSfEJObs5h+jcrxqhGtLu+dwuPqEAGzJE5x7VB9WR1vO5VnxCQdbOeFy9W1SglsofgFp8Mpw29RSiJ2MslqgsqN6v4ORDdlx8wkAsj01xe/xp/FVb98mOWKV6oKrSej63iU8YqJscA9TPMA+b8MGU6YZMgMG6SBUgPuskrU/lIbsFDNQCVYD4rI+0q2tP2ikAEJ9p0ka7vcdOAYD4TFOFns/VdkAA8VkvVej5vDxx6tvslgDis5qq0fP5ldLbvwCIzz6U3fO5MD6TenfbRTEZH45Fdk6A6pozpN/7pViaOP2GHE/e/kxsiufi1al/T8ZErItX4gfjDT2W8OcxEgtjb8yftp3mxffFrvi6XZcG+UjLqLZzVAlU1SBGu/1Czg8Jfv31BRuQhsWnUYeonblDerAmeyHXpTxf2Po/b8cFEJ+Dl/b4o+/mupR5ha3/PDsuQLnmD+F3/lDqO/851+VcfO6/34unZ/xMmRPz4o/i/3YIwcmYiPVxpuUk1kRc0VIyAAzIhzv0KT6teqAE+j6poWE6ebsitsWzcXeHT/xQfDOuslMA0E1TT95+Mj4Qp+K1mH7Ksxd/O/7o3P8dPFc3c2Mkvh7vt6sA0HQP5H6ryEGVCoVx8pYaaubJ23fmXuLldhUAmh6f+fuOKgBAfPZL3ycA0zTz0qGL42txQUyc60OZEwumxo2dEwtjWyyY8bNhMibiqrgqXo3JaL/ncm4si096CgoAAFXi0iFqyMlbABCfACA+AUB8AoD4BADxCQCITwAQnwAgPgFAfAKA+AQAxCcAiE8AEJ8AID4BQHwCAOITAMQnAIhPABCfACA+AUB8AgDiEwDEJwCITwAQnwAgPgEA8QkA4hMAxCcAiE8AEJ8AgPgEAPEJAOITAMQnAIhPAEB8AoD4BADxCQDiEwDEJwCITwBAfAKA+AQA8QkA4hMAxCcAID4BQHwCgPgEAPEJAOITABCfACA+AUB8AoD4BADxCQCITwAQnwAgPgFAfAKA+AQA8QkAiE8AEJ8AID4BQHwCgPgEAMQnAIhPABCfACA+AUB8AgDiEwDEJwCITwAQnwAgPgEA8QkA4hMAxCcAiE8AEJ8AID4BAPEJAOITaKbXVAHiE6Bf46oA8QnQn4tiZdu0VaqFqpujCoCBuiDeFLfGyXhPXBgXdPzkwfhu/M/4btwfR1UbAMNpUzwak5lee+MG1QjAsNgaBzIG5/TXI7FJlQLQXEtiLMZzDM7pr8OxRQUD0Cyjsa2g2Jz5Go+xWKK6Aai7K2LvQIJz5mtMxQNQX4+WEJ3nX/tVPwD1s6/PuHshjsVn4s54Y7y95Z2IH4y74jNxRCsUgCbb2XPA/dvYEJe1zP0DbfE506q4Lb7Q8xLW2RwAVN9tmS/yWdklPs/r/YKkNTYLANW1qYcoOxBbu5Syusf4PGtpfDROdl3qkVht8wBQPavicE4DHIz2FZ/ndR+M4VEbCYBq+T9dBjW4to+yZhefZ62LF11MBEAdLOgSnSv7LC9LfEZEbOy4PqdtMADKt75jWM1mPNqs8RnR7QKm+TYbAGXqdIvKTbMsM4/47LZu6206AMryWCF9jHnFZ0R0GDJwp80H+bkyLovRuCLeqCqgq1MpwbQvY7l5xmdExImU9XzMJoRsbo598UTboXW0rwcgnT3g71WZDIlLUyLpwRzKzjs+Iy6Nl1IGb1hmU8JsbEn9/Xz+9VRPjz+6M8cDHarvppTj5aO5lJ5/fEakn8ZdYXNCPgdT/30ke3M/0KHK9qccKdfmVH4x8RmxOedLnGAI7Uk5jJ6Lg3EoDsZzfdwp9uS0z+1WtTTeU4nHzkuxNLclFBWfEZekHPn326zQ3Y6UHptrWj63vqU/NPmPw2uZ73GD+ofniVyXUVx8RiyNcaMRQf+uTTxwdqV+/s1dDuI9BR7mUD37B/Jg6tGCj6sT7gSF/jyecMicioVd5jo29dmJlnfuaysNmmzdgHoORws/rvYbiwh6NZJ4uGzvad6HE0/wbO6jFQv1Nz/xGLq0gCWNDuBnafJPAaCnQ2VDz/O/3lty/jaWNTmN7gl1kXS5UDFGBxJq8xK+0cs2M0z3pcwnahZNzXU89U+JX640Wfsd0i8WtqzRAR1ZCxOOYlfPw5Tkm1RG+ixlbGrOCyPikPhkqCSNbbu0sKWNDuzI+hHX4EKaV3O7ROD8vAfinX1evwv1tnPAY/WMDvCH6eZM3TrQWBMZ+zynu2naIAqTej4ZGhsGPk7P6EDP6ySNP7bIZme47UqMuR2zLq/z0H7QRCMFPFGlWvGZ/DMbhljynV3HM5R4r/hk6LTv6ROFL3N04MdW+7d81aZnWI0VEHLXdwhPPZ800d5SfigOPj4XJXzPu21+htGGlJDLOixXenzq+aR5RhP29MWNjM/kvxkwdBanRNyxzCUfdOqWIXK0sEeSVS8+k85YbbcLMGyKi7hPi0+Gxoq2vfwjJbV6B+VexzXDLe0x2Hn8kvxsStkPqXYa/zP08MCWPFpaiBmDiCF2baHtw8+nlL1FxdMw60u8F7K8+FxfSl8vVPIX8/nXzkJLX6riafiRNMh22GiJp1DzvNUNauTxgvsmiyz9rXFZrIrr432xMkbjLTYmJbqj1F7AMuNzxUAeyQYVc2lqvOUzSsraAno+l8WWeCR1vV+Mx2KLti2ltz0Hew3qaKkX8LReb3zK7sDwHfJ5H37bcu75HOsyDODMU2c32MAMyPaSr0AdrdTSJ2OjXYJmuys1evK6YnA8t57Py+PRPqIz7x5c6O+H6J1DFZ9Jo2XDkLY9NxS8hH7tnVV0upWbwdhTeniMlh5erTVwl92C5tpZ+KnbVbn0fG5KKOFA7IyrY2WsjtFYFW+Ou+Jfd4nQj9ngDCw6Bv/0y/Ljc7v2J9qek/FgwQHdT89n61Ng7o21s/xJ8KRNTiHGKhAcoxWIrtZauNmuwbAc8vl3+x/K3PP56iyeO3pTh282YsNTeGxcMqTx2frj9RG7BsPW9pwsfBm9Oj1tnof7WvIjnvPCgCxp2cOeKGUtRitx4tTpW4bAhg7heSCnZazO2PM5veX50b6X/hEBykCM5fyIvzrH52da1mKt3YPmOdUhPrcW9Gelv57P6X2eV89q+Tc6hcsAjFciuKoRn6sNH0/TLR3IqdssPZ9rpn3+zbNeg494WBqFK+bcTT3j0+lbGm975Xs+X//0jZnWIa0P9A/tBORia0Hnbuoan7s9fYVh+r0883V7TsvI0vO5Y+rTjxb2Xa+zG5CDAxWJrarEZ+so1zvsIjTJaMf4zGuc2Cw9n3n+EdjsBC4D+yl6cujj0+lbGm17xXs+X7977BOFtrVdgUtWrSNifbS0NalOfD4kPhmW38szX4cKX0o/c74plzW5NWVNXrYrkNEjlXkIfHXic2PLmmy2mzAc8TmW0zJm3/N5Wds8dxf2jZfbGch1zyrPaIXafFU5oQ0529QxPlfntJTZ93wmz7ks09o8kbI2fheTxQ0t+9M28RkREYedvqWZ9lS85/NoAWuWNpD8EbsDGdzXsj+Nis+IiNhi6Hiaabw2PZ8zX/dnWJuVrr6lAE9UaG8ardSePXNd9tlVaIZObc+dOS0jyz2fxbSMxSdFH0ufF59TnneWh17MrdXadr5Y5p6clnJLyvQHMpX6/QXUxxV2YHKLDM771ox/rVIhNMF1A+n5HM8w2m362v1ohjX6s5Qyf8Quwax/epX/lM+qtj53OMtD81qf7+7w3ku5LWVJaqxm8ZcZ5l2YMn2rHZhZurDl38tUyZQ/bvn3G1QJ9Y/PUx3e+0pOy0h7xt/DPc39auo7zxZQH34Xk9dP0T9XJVO+0eWnBtQwPtd1eO9bOS3jXSnTe+v5/Ecp07MNnjCRMt01gczWRaog1eEuPzWgho506Fu8LKdlZOn5PNsizL9ftujvzDBGxPQ96WDJazNasd7GYp7jBJU55Kv3nM/kEl7JfNWtG1coNiAeLXltVldsz35hxtqcsLuQZK4qmCHtOZoP9lHGnHjftD7Qe2Jhxn5PbUyK9kclL3+iYvXxnRn/etEOQpNbn0dzWkLaoIB3zKKsH8ppndKe+XnYDkFOrc/rS16b5RVrfW52nofu5jfke3w5p3LWp0yfzZAM38lpnf5+yvSvNXKPfFPcEhd1uIKZrF6Lk/E3W6ati2tjecwraX3G4+KWab8cPxwLYk5JLeHn4h+2TPvn8TdKW59hSaJn4jfqttL12iGOpI4AsjH25PSbvHr1lLZOyzLeiVpF/z4+6C8JDKlfr1eE1qvvc0HqO9/IpfyNKdPLPE26NvWd5oXnbwtPGGKfih8Tn0VJv88xn4DLds9nMX4pZfr6Bh48/9jfDxjyAK2Rep28vSt+udDvkXaadLTEpy5MNmLLZfuuwHD4f7ldcqn12eL+QktfnPpOeeG5PWV6M0e7fdpfDxhq/1XrsyjL43sFfo/tsTlx+uES77xMbo+93CHq6+yN8Zy/HzDEapVI9Wp9Fnv78uaU6eX1fKa1PX+soYfO8439ZkA3f+zWoGIdLmz4ultTh2RYXWLbM+m1025ARvMrNyxAtdbng4ZNoHnuLCw+Jys3suzRxLWZsBOQ+/6+reS1eXPF4upz4pPu6jbm7a8WFlXp7d1ybImVKe0GyFvZozyNVKw+fnrGvw7ZQWjir+bzr1WZytzeoe05VqnvucgOQC5mPlPkWMlrU+0Hlu2yu9CE1mfEXYlTfyFDietTLxqKmN1ot9mdTpy6Il62y5KLZ2b860IV0sFfqQKa3P784qxLm9eh5VnW7+B9iWuywaYnN5+tVHuvWq3PC1rWZqPdhabYm2PMjXQJzzJ6PdYlrolDmDzdLT5TrWhZG0/cpeHtz9kMJNAtPMvo+UxuDc+z0WlwRFQrPu923S29mFvLtU4Ktf6HGp7fQ0/ioHs+lyXemLLY8y/J2V+3/PsnVMmUcVXAsLU/+7Nh2pyfrkzP50tta3DSxmYAx9DtWp9TDs1Yl+/ZVWiWlQlRd2sf8++cNt/2WFiRns+X29bghE3NQOLzoPhMqZnjdhWa5s4MbcVHWq7Z3VqJns/TbcvfbzNTmGMViqzRCq+LQTJpoP1tcXO0h7muTmixPl+B0W7bw3OdTUyBbmvZ3zaJz4iI2NayLu+wq9BE7fdH3tvx86viyIxPrzg3vfyez/bwXGDzUqhlLXvcI+Iz8a8BNNR9bTv7eMqosCvjwZRhyq4vvefztN4WhjooqhOfS/r6QQ61tiUh+H5/xonPNW0jrEzOGPpvW8k9n63hucNGZSB2tOx5a8VnjLWsyc12E5pscbzSdfiD6a/HWuYfL7Xn87Sh+SjtyJm57+0Wn21/DaDxNvUYnSditG3eMns+T3uiCiWqyunb6sTnzPU4YBdhOLwvHprFAHxrS+z5PO0eT0q1O4ehL5sUn623sG21izBMboidcTy+Ny0G98THYnnq58vr+Tytx5OSra1Iv3tV4vOAU7fQu7J6PmeG53obglJU4/RtVeLTgJmQ4c/HYA7gkzOWNd9moCStHR5Lhzg+N7asxUftHpCujJ7PJZl/4U7G/46n4ky81QYk58j48BDH54FK/JSAmhh8z+dIDpcLnZ/7YhuQzKpw+rYa8Wm8IejDoHs+R3IYEv5yhzc5OlKBIdKrEJ8nDBUPWX5vFnv4zgzP98yylC3ikxx9vAKtrvLjc1VbLSyza0C6tJ7PYq64G8np+Ra7+ni+DPT/I3LfEMbnEeNOQz/Sej63Fx6eCzOU9OK5MrbZgOTittLbn2XH55pSH1YINZTW85n/0NkjM54Jk09bYaMNSEHtz11DFp+t3/9RuwT0d9AUdfBOD89XM5Z13VRJV9iA5KR9zOjRIYrPda65hf6k9XyO57yc6eG5J3NpuxziFOBwy1Ew2J71cuOz9S/AXrsDdJbW85lvn+JIzpfC+4VMEdqvPF0xJPE5pu0J/RpEz+f08PzZHMr7+ZJaBzTf8RJjpMz4nHS/J2Q9bPI/dEem9Xi+JYfyfqywNjIsbjsS1g1BfO7R9mS2hnew8rQ2Zn73fI7Ey1P/fzRujx+MZTFvVjE/kRC+37TzkqtTsSc2zJiyt4Q7QAdrbtuzjrbYEaCbons+Rzo+ujv7y3W35K91LzvT8NbnpLYn9K/Yns+iw9NhThG2l3QVajnxeabt226yC8Bsfnfmd+AWH57ik0EdF5sbGp97277pEZsfuivyns9BhKfrbinGxxP2tksaGJ+3JnzPy2x+6K64ns9FAwhP191SnD0J+1vRD44edHxem/Ad77TpoRcvFdTzecFAwtN4txTp5cJH4io3PhcnHFG7bXboTVE9ipMDernulsEeHycaFJ/t3+60TU7/5g7lt/5IyvQXavMNDtp1KdCCtimXxP6GfLekJ3mO2OSQrY14pLCSXXdLvaxP2OtuakDrc3/C9xKe0KMPpYbSJ2oSn6/aiBRuR8Ked3HN4/MXE77TBpsaevPhDrH0tOqBKU8O7C7QwcTnvoTvY4B46MGK2BbPdmnXfTOuUlFwTtLYXEWMQzSI+JxI+C6P2cTM3pyGfq9PxgfiVLwWEROzvEr14Lnh9OfGSHw93m9XYQgtjZcSpr6a+6MmRuNQoX+XFic+CuLlWGwTw0wP5N7b6EpXhtOKlCNiUY1an9e4AA965VpXyMuGlCMiz0tuiozPO1LWX8sTBhKfLipieG1MOSrGahCfu4UnlBuf71KpDLH5KcdFXkPdFRWfpxPX+pQNSh6aeenQD8fX4oKYOHcYzokFsTfmx5yImBMLY1ssmDHa0mRMxFVxVbwak+f+tT7OTB3Cc2NZfDL+g12FIfdy4vAC+Vx+U8SlQ3NT7o/+w7jWxgRgcNJOhO6oYOtzV8q6us8TgIEbS+3euK1C8bk9dS2NMARAKTZ0uEJgUwXi884O62dsWwBK0+mB8IdjVYnxubHDmp2x4QAo20SHoDo+i4uJssfnpXGqwzrttckAqIL7Ot7otWug8bkqjnZcm9tsLgCqYm2Xe6UPxMYBxOeW+L2Oa3EsLrepAKiWdV0HHDkcWwqJzyUxlvg8mJmvFTYRANU01sOoXeMxFks6lLG6j/gcjW09jRS23qYBoNr29Tj45bYYTZx/RU/xeV3qYAitrztsEoo3RxUAOdjVc1/nofhGfDfuj2emHgS4JMZT/i6Nxk/G2+Jt8aa4ssfSd7hUCIA6Ge1yBWzy63/Fn8Y9LdP+aRyMF2ZR1m4bAYA6WlHI03Z7eT3pIWQA1NnS2DHQ4DwZt8YFqh2AZoToR+NkwcF5ILaqaACaaGscKCA4H8kwQD0A1MTNcW9OwbknblCdVIEbV4BB+XvxD+JN8baUuz87ORJ/HM/F1pYbXEB8AkPmR+Ol2Bwn4z1xUSxve/fFc3eG3h/PxAsqCwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8vP/AVC2YZrNN0aDAAAALXRFWHRpY2M6Y29weXJpZ2h0AENvcHlyaWdodCBBcnRpZmV4IFNvZnR3YXJlIDIwMTEIusW0AAAAMXRFWHRpY2M6ZGVzY3JpcHRpb24AQXJ0aWZleCBTb2Z0d2FyZSBzUkdCIElDQyBQcm9maWxlEwwBhgAAABN0RVh0cGRmOlZlcnNpb24AUERGLTEuNVM2WsEAAAAASUVORK5CYII=
from qat.lang import qrout, CCNOT

@qrout
def ctrl_circ():
    CCNOT.ctrl()(0, 1, 2, 3)
data:image/png;base64,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
Multi-controlled gate
from qat.lang import qrout, CCNOT

@qrout
def multi_ctrl_circ():
    CCNOT.ctrl(2)(0, 1, 2, 3, 4)
from qat.lang import qrout, CCNOT

@qrout
def reversed_circ():
    CCNOT.dag()(0, 1, 2)
data:image/png;base64,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

This \(CCNOT\) gate is defined by:

\[\begin{split}\begin{vmatrix} 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 \\ \end{vmatrix}\end{split}\]