Quandary ใช้ตัวแก้การเพิ่มประสิทธิภาพสำหรับการควบคุมควอนตัมแบบเปิดและปิดที่ดีที่สุด โมเดลควอนตัมพลวัตแบบเปิดหรือปิดระบบควอนตัมโดยใช้สมการของ Schroedinger สำหรับเวกเตอร์สถานะ (ปิด) หรือสมการหลักของ Lindblad สำหรับเมทริกซ์ความหนาแน่น (เปิด) ปัญหาการควบคุมมีจุดมุ่งหมายเพื่อค้นหาพัลส์ควบคุมที่ผลักดันระบบไปยังเป้าหมายที่ต้องการเช่นผู้ดำเนินการโซลูชันรวมเป้าหมายหรือไปยังสถานะเป้าหมายที่กำหนดไว้ล่วงหน้า เป้าหมายการปรับใช้บนแพลตฟอร์มคอมพิวเตอร์ประสิทธิภาพสูงเสนอระดับต่าง ๆ สำหรับการทำให้เป็นแบบขนานโดยใช้กระบวนทัศน์ที่ส่งผ่านข้อความ
ขอแนะนำให้ดูคู่มือผู้ใช้ใน doc/ อธิบายถึงแบบจำลองทางคณิตศาสตร์พื้นฐานการใช้งานและการใช้งานในความไม่แน่ใจ
อย่าลังเลที่จะติดต่อกับ Stefanie Guenther [[email protected]] สำหรับคำถามใด ๆ ที่คุณอาจมี
โครงการนี้อาศัย PETSC [https://petsc.org/release/] เพื่อจัดการกับพีชคณิตเชิงเส้น (ขนาน) ทางเลือก SLEPSC [https://slepc.upv.es] สามารถใช้เพื่อแก้ปัญหาค่าลักษณะเฉพาะบางอย่างหากต้องการ (เช่นสำหรับ Hessian ... )
จำเป็น: ติดตั้ง PETSC:
ตรวจสอบ [https://petsc.org/release/] สำหรับคู่มือการติดตั้งล่าสุด บน MacOS คุณสามารถ brew install petsc เป็นการเริ่มต้นอย่างรวดเร็วคุณสามารถลองด้านล่าง:
tar -xf petsc-<version>.tar.gzcd petsc-<version>./configure configure โปรดตรวจสอบ [https://petsc.org/release/install/install_tutorial] สำหรับอาร์กิวเมนต์เสริม ตัวอย่างเช่น . ./configure --prefix=/YOUR/INSTALL/DIR --with-debugging=0 --with-fc=0 --with-cxx=mpicxx --with-cc=mpicc COPTFLAGS='-O3' CXXOPTFLAGS='-O3'./configure configure รายงานเกี่ยวกับวิธีการตั้งค่าตัวแปร PETSC_DIR และ PETSC_ARCHexport PETSC_DIR=/YOUR/INSTALL/DIRexport PETSC_ARCH=/YOUR/ARCH/PREFIXLD_LIBRARY_PATH :export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$PETSC_DIR/$PETSC_ARCH/libตัวเลือก: ติดตั้ง SLEPSC
PETC ได้รับการติดตั้งไว้แล้วบนเครื่อง LLNL LC ดูที่นี่ [https://hpc.llnl.gov/software/mathematical-software/petsc] มันอยู่ที่ '/usr/tce/packages/petsc/' หากต้องการใช้งานให้ส่งออกตัวแปร 'PETSC_DIR' เพื่อชี้ไปที่โฟลเดอร์ PETSC และเพิ่มโฟลเดอร์ย่อย 'LIB' ลงในตัวแปร 'LD_LIBRARY_PATH`:
export PETSC_DIR=/usr/tce/packages/petsc/<version> (ตรวจสอบชื่อโฟลเดอร์สำหรับหมายเลขเวอร์ชัน)export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$PETSC_DIR/libไม่จำเป็นต้องใช้ตัวแปร 'PETSC_ARCH' ในกรณีนี้
ขึ้นอยู่กับการตั้งค่าของคุณคุณอาจต้องโหลดโมดูลเพิ่มเติมบางอย่างเช่น OpenMPI เช่น:
module load openmpiปรับจุดเริ่มต้นของ 'MakeFile' เพื่อตั้งค่าเส้นทางไปยังการติดตั้ง PETSC ของคุณ (และอาจเป็น SLEPSC, Python Path และ FitPackPP) หากไม่ส่งออก แล้ว,
make cleanup เพื่อทำความสะอาดไดเรกทอรี Build (สังเกต การทำความสะอาด ขึ้น ))make quandary ในการสร้างรหัส (หรือ 'make -j quandary' สำหรับการสร้างที่เร็วขึ้นโดยใช้หลายเธรด) ขอแนะนำให้เพิ่มความไม่แน่ใจใน PATH ของคุณเช่น
export PATH=$PATH:/path/to/quandary/ ตัวเลือก: ในการเรียกใช้ความไม่แน่ใจจากภายในสภาพแวดล้อม Python คุณควรมีล่าม Python ที่ใช้งานได้ด้วย Numpy และ Matplotlib ที่ติดตั้ง จากนั้นต่อท้ายตำแหน่งของ Quandary ไปยัง PYTHONPATH ของคุณเช่น
export PYTHONPATH=$PYTHONPATH:/path/to/quandary/ และดูตัวอย่าง รหัสสร้างลงใน quandary แน่ใจ ต้องใช้หนึ่งอาร์กิวเมนต์เป็นชื่อของไฟล์การกำหนดค่าของกรณีทดสอบ ไฟล์ config_template.cfg แสดงรายการตัวเลือกการกำหนดค่าที่เป็นไปได้ทั้งหมด ไฟล์การกำหนดค่าเต็มไปด้วยความคิดเห็นที่ควรช่วยให้ผู้ใช้ตั้งค่ากรณีทดสอบและจับคู่ตัวเลือกกับคำอธิบายในคู่มือผู้ใช้ ยังเปรียบเทียบโฟลเดอร์ตัวอย่าง
./quandary config_template.cfgmpirun -np 4 ./quandary config_template.cfg --quietQuandary เป็นโครงการโอเพ่นซอร์สที่อยู่ระหว่างการพัฒนาอย่างหนัก การมีส่วนร่วมในทุกรูปแบบยินดีต้อนรับอย่างมากและสามารถเป็นอะไรก็ได้ตั้งแต่คุณสมบัติใหม่ไปจนถึงการแก้ไขข้อผิดพลาดเอกสารหรือแม้แต่การอภิปราย การมีส่วนร่วมเป็นเรื่องง่ายทำงานบนสาขาของคุณสร้างคำขอดึงเพื่อเชี่ยวชาญเมื่อคุณดีที่จะไปและการทดสอบการถดถอยใน 'การทดสอบ/' ผ่าน
Quandary มีการแจกจ่ายภายใต้ข้อกำหนดของใบอนุญาต MIT การมีส่วนร่วมใหม่ทั้งหมดจะต้องทำภายใต้ใบอนุญาตนี้ ดูใบอนุญาตและประกาศสำหรับรายละเอียด
SPDX-license-identifier: MIT