[양자컴퓨팅] qiskit-terra, qiskit-aer 셋업

BABY CAT·2023년 7월 17일
0

quantum

목록 보기
2/5

qiskit빨리설치하기

아나콘다 다운 > 아나콘다프롬프트열기 > pip install qiskit

ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ

(참고링크qiskit깃허브: https://github.com/Qiskit/qiskit-terra/blob/main/examples/python/circuit_draw.py )

(디버깅)

pip install --upgrade pip

pip install --upgrade setuptools

(pip cache purge) pip캐시가문제일때캐시정리

https://qiskit.org/documentation/getting_started.html

install from source 메뉴 보면서 설치

<가상환경파일이 만들어지는 경로를 확인 아래선 C:\Users\SEC>
<나중에 다시 들어갈 때 이 경로에서>

C:\Users\SEC> python -m venv QiskitDevenv2

C:\Users\SEC> QiskitDevenv2\Scripts\activate.bat

(QiskitDevenv2는 임의의 가상환경이름)

(리눅스는 python3 -m venv QiskitDevenv

source QiskitDevenv/bin/activate)

로 QisitDevenv2 가상환경으로 진입

cd 명령어를 통해 설치할 폴더로 이동 후 깃클론 (mkdir 폴더생성) (dir 파일폴더리스트보기)

<어느 경로에서 깃클론을 하는지 폴더가 어떻게 생성되는지 정확히 인지>

git clone https://github.com/Qiskit/qiskit-terra.git

cd qiskit-terra

pip install -r requirements-dev.txt

여기까지만 해도 qiskit깔림

python examples/python/using_qiskit_terra_level_0.py 확인해보고

cd examples

cd python

으로 가서 파이썬 파일을 실행시켜 본다

아래는 에러

pip install .
pip install -e .

(pip install setuptools_rust)

python setup.py build_rust --release --inplace

ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ

상위폴더로 가서 qiskit aer 깃클론

git clone https://github.com/Qiskit/qiskit-aer

cd qiskit-aer

pip install -r requirements-dev.txt

ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ

아래 코드 실행을 위해선

pip install qiskit-aer


from qiskit import QuantumCircuit, transpile, assemble, Aer, execute



# 양자 회로 생성

qc = QuantumCircuit(2, 2) # 2개의 양자 비트와 2개의 클래식 비트로 구성된 양자 회로



# 양자 게이트 추가

qc.h(0) # Hadamard 게이트를 첫 번째 양자 비트에 적용

qc.cx(0, 1) # CNOT 게이트를 첫 번째 양자 비트와 두 번째 양자 비트에 적용



# 측정 추가

qc.measure([0, 1], [0, 1]) # 첫 번째 양자 비트와 두 번째 양자 비트를 각각 첫 번째와 두 번째 클래식 비트에 측정



# 양자 회로 시각화

print(qc)



# 양자 회로 실행 및 결과 얻기

simulator = Aer.get_backend('qasm_simulator') # 시뮬레이터 선택

job = execute(qc, simulator, shots=1024) # 양자 회로 실행

result = job.result() # 실행 결과 얻기

counts = result.get_counts(qc) # 개별 결과 카운트



print(counts)

1개의 댓글

comment-user-thumbnail
2023년 7월 18일

좋은 글 감사합니다!

답글 달기