%kata T01_MainDiagonal operation MainDiagonal (qs : Qubit[]) : Unit { // The simplest example of such a unitary transformation is represented by an identity matrix. // This means that the operation doesn't need to do anything with the input qubits. // Execute this cell to see that this solution is correct. // You are welcome to try and come up with other diagonal unitaries. // ... } %kata T02_AllNonZero operation AllNonZero (qs : Qubit[]) : Unit { // ... } %kata T03_BlockDiagonal operation BlockDiagonal (qs : Qubit[]) : Unit { // ... } %kata T04_Quarters operation Quarters (qs : Qubit[]) : Unit { // ... } %kata T05_EvenChessPattern operation EvenChessPattern (qs : Qubit[]) : Unit { // ... } %kata T06_OddChessPattern operation OddChessPattern (qs : Qubit[]) : Unit { // ... } %kata T07_Antidiagonal operation Antidiagonal (qs : Qubit[]) : Unit { // ... } %kata T08_ChessPattern2x2 operation ChessPattern2x2 (qs : Qubit[]) : Unit { // ... } %kata T09_TwoPatterns operation TwoPatterns (qs : Qubit[]) : Unit { // ... } %kata T10_IncreasingBlocks operation IncreasingBlocks (qs : Qubit[]) : Unit { // ... } %kata T11_XWing_Fighter operation XWing_Fighter (qs : Qubit[]) : Unit { // ... } %kata T12_Rhombus operation Rhombus (qs : Qubit[]) : Unit { // ... } %kata T13_TIE_Fighter operation TIE_Fighter (qs : Qubit[]) : Unit { // ... } %kata T14_Creeper operation Creeper (qs : Qubit[]) : Unit { // ... } %kata T15_Hessenberg_Matrix operation Hessenberg_Matrix (qs : Qubit[]) : Unit { // ... }