Kuantum bilgisayım, özellikle optimizasyon problemleri alanında önemli potansiyele sahip, gelişimini sürdürmekte olan bir alandır. Klasik bilgisayımdan farklı bir mekanizma ile çalıştığından, kuantum bilgisayım için oluşturulan teknolojiler, çerçeveler ve yazılımların yaklaşımı da farklıdır.
Bir bilgisayarın işlevlerini düzgünce yürütebilmesi için, donanımların haricinde, donanımın her bileşenine bildiri ve komut aktarmayı sağlayabilecek araçlar gereklidir. Esasında bilgisayar programları ve yazılımlar bunu sağlamaktadır. Bu yazılımların geliştirme sürecine de programlama denilmektedir. Klasik bilgisayardakilere benzer şekilde, kuantum programlamayla ilgilenen geliştiricilerin, yazılımlarını verimli bir şekilde yazmasına yardımcı olmak için çeşitli kuantum programlama dilleri ve yazılım geliştirme kitleri bulunmaktadır. Bununla birlikte, şu anda sadece az sayıda çalışan kuantum bilgisayarı bulunduğundan, bunlardan sadece bazıları mevcut makinelere bu programları uygulamaya izin vermektedir. Geri kalanı halen daha sadece klasik bilgisayarlar üzerindeki simülatörlerle çalışmaktadır.
Temel olarak iki farklı kuantum yazılım yaklaşımı bulunmaktadır:
- Kuantum algoritmalarını çalıştıran yazılımlar: Bu tür kuantum yazılımlar, kuantum programlamaya müsaade eden yazılım geliştirme kitleri veya bulut tabanlı olarak platformlar ile son kullanıcılar için çözümler sunar. Bunlar son kullanıcıların kuantum algoritmalarını geliştirmelerine ve test etmelerine yardımcı olur.
- Kuantum bilgisayarların çalışmasını sağlayan yazılımlar: Kuantum bilgisayarlar belirli sebeplerden dolayı hata oluştururlar. Bu sebepten dolayı işleyiş ve performans anlamında sorunlara sahip olabilirler. Bu hataları düzeltmek için hata düzeltme yazılımlarına ihtiyaç duyulmaktadır. Hata düzeltme yazılımları, kuantum bilgisayarların kararlılığını artıran, sistem üzerinde koşan yazılımlardır.
Kuantum Yazılım Geliştirme Kitleri
Kuantum Yazılım Geliştirme Kiti, kuantum bilgisayarlarda veya simülatörlerde ve emülatörlerde kullanılabilen kuantum algoritmaları geliştirmek için özel olarak tasarlanmış bir araç seti sunar. Kuantum simülatörü, kuantum kapılarının kullanımı ile belirli operasyonların gerçekleştirilmesini sağlamaktadır. Örneğin Intel, son kullanıcıya genel kuantum kapılarını simüle edebilen kuantum simülatörleri sunmaktadır.
Diğer yandan Microsoft, IBM, Google, D-Wave, Xanadu ve Rigetti gibi şirketler, geliştiriciler için açık kaynak kodlu kuantum yazılım geliştirme kitleri sağlamaktadırlar. Bu kitler aracılığıyla, yazılım geliştiriciler kuantum programlama deneyimini kazanabilir, sorunlarını çözebilirler ve kuantum algoritmalarını bulut üzerinde uygulamak için simülatörlere veya kuantum bilgisayarlara erişebilirler.
Bu kitler genellikle Python gibi klasik programlama dilleri üzerinden servis edilmektedir. Ancak farklı diller içinde açık kaynaklı bir çok kütüphane/çerçeve/kit bulunmaktadır. Bunlardan biri Microsoft’un F# tabanlı Q# programlama dilidir. Bu örnek için konuşacak olursak; Microsoft QDK (Quantum Development Kit) Python ile de geliştirilebilmeye müsaittir.
İşte kuantum geliştirme kitlerine bazı örnekler:
- D-Wave – Ocean
- Rigetti – Forest
- IBM – Qiskit
- Google – Cirq
- Microsoft – QDK
- Zapata – Orquestra
- 1QBit – 1QBit SDK
- Amazon – Braket SDK
- ETH Zurich – ProjectQ
- Xanadu – Strawberry Fields
- Riverlane – Anian
Farklı projeleri, çerçeveleri keşfetmek ve deneyimlemek istiyorsanız aşağıdaki içerikten güncel, açık kaynaklı kuantum programlama kütüphanelerine göz atabilirsiniz:
Platformlar
Son kullanıcıların/geliştiricilerin bulut tabanlı olarak kuantum hesaplamaları yapabilmelerini ve kuantum bilgisayarlara erişmesini sağlarlar. Yeni bir kuantum bilgisayar oluşturmak, birçok şirket için oldukça pahalı bir yatırımdır, bu nedenle çoğu şirket bu tarz platformlarda deney ve çalışma yürütmektedir. Bu platformlar üzerinde, geliştiricilerin kodlarını gerçek kuantum bilgisayarlarda test etmeleri için kuantum bilgisayar şirketleri tarafından hazır bir alt yapı sunulmaktadır.
Bu amaçla oluşturulmuş platformlara bazı örnekler:
- IBM – Q Experience
- Riverlane – DeltaFlow
- Qutech – Quantum Inspire
- Rigetti – QCS
- Strangeworks – Quantum Computing Platform
- Google – Quantum Playground
- QC Ware – Forge
Alet Çantası
Klasik programlamadaki gibi kuantum programlamada da ilgi alanlarınız ve ihtiyaçlarınız doğrultusunda doğru teknolojilerle çalışmak ve onları tanımak önem taşımaktadır.
Aşağıdaki teknolojiler kuantum programlamaya başlangıç açısından en çok tercih edilen kütüphanelerdir:
- Qiskit: Kuantum programlamaya başlangıç için en çok tercih edilen çerçeve IBM‘in Qiskit çerçevesidir. Qiskit, kuantum hesaplama için açık kaynaklı bir çerçevedir. Kuantum programları oluşturmak ve değiştirmek ve bunları IBM Q Experience’daki prototip kuantum cihazlarında veya yerel bir bilgisayardaki simülatörlerde çalıştırmak için araç paketi sunar.
- Quantum Development Kit: Microsoft tarafından sunulmuştur. Çeşitli ortamlarda çalıştırabileceğiniz kuantum uygulamaları geliştirmek için ortak araçlar ve dillerle kullanabileceğiniz, Q# diline yönelik tam özellikli bir geliştirme setidir.
- Cirq: NISQ devreleri oluşturmak, devreler üzerinde manipüle, optimize yapmak ve bunları kuantum bilgisayarlarda ve simülatörlerde çalıştırmak için açık kaynaklı bir Python kütüphanesidir. Cirq, Google AI Quantum ekibi üyeleri tarafından tanıtılmıştır, ancak resmi olarak bir Google ürünü değildir.
- Pennylane: Kuantum makine öğreniminde şu an için en yaygın olarak kullanılan kütüphanedir. Xanadu tarafından sunulmaktadır. Hibrit kuantum-klasik hesaplamaların optimizasyonu için çapraz platformlu bir Python kütüphane yapısı sunmaktadır. PennyLane ilginçtir, çünkü sadece Xanadu’nun Strawberry Fields kütüphanesini desteklemekle kalmaz, aynı zamanda ProjectQ ve IBM’in Qiskit için de destekleri bulunmaktadır.
- TensorFlow Quantum: TensorFlow Quantum (TFQ), Google tarafından geçtiğimiz aylarda tanıtılan hibrit kuantum-klasik makine öğrenimi modellerinin hızlı prototiplenmesi için bir kuantum makine öğrenme kütüphanesidir. TensorFlow Quantum, kuantum verilerine ve hibrit kuantum-klasik modellerin oluşturulmasına odaklanmaktadır. Cirq’de tasarlanan kuantum hesaplama algoritmalarını ve mantığını bir araya getirir ve yüksek performanslı kuantum devre simülatörleriyle birlikte mevcut TensorFlow API’leriyle hesaplamaya olanak tanır.
- Strawberry Fields: Xanadu tarafından sunulan diğer kütüphanedir. Kuantum fotonik donanımları üzerinde koşan programları simüle etmek ve yürütmek için kullanılmaktadır.
- Quantum Programming Studio: Kullanıcıların kuantum algoritmaları oluşturmasına ve doğrudan tarayıcıda simüle ederek veya gerçek kuantum bilgisayarlarda çalışarak sonuç elde etmelerine olanak sağlamak için tasarlanmış web tabanlı bir servistir. Devreler, birden fazla kuantum programlama diline aktarılabilir ve Rigetti QCS ve IBM Qiskit platformları dahil olmak üzere çeşitli simülatörlerde ve kuantum bilgisayarlarda yürütülebilir.
- Yao.jl: Julia programlama dili tabanlıdır. Kuantum algoritması tasarımı için genişletilebilir, verimli bir açık kaynaklı çerçevedir. Yao, kuantum devrelerinin genel ve farklılaştırılabilir programlamasına sahiptir. Gelişim aşamasında olan ancak oldukça başarılı bir kütüphanedir.
Bu araçların haricinde de birçok kütüphane bulunmaktadır. Quantum Computing Report tarafından oluşturulan Tools listesindeki birçok kütüphaneyi buraya tıklayarak detaylı olarak inceleyebilirsiniz.
Yoruma kapalı.