encode_to_plain_matrix
Engine.encode_to_plain_matrix(matrix, level)
- 행렬 형태의 메세지를 행렬 곱셈을 위한 행렬 평문으로 인코딩합니다.
- 인풋:
- matrix: 파이썬 리스트나 numpy 어레이만 받습니다. dtype은 int, double, complex double 모두 가능합니다.
- 행렬은 정방행렬이어야 하며, 두 차원 모두
Engine.slot_count와 같아야 합니다.
- level: optional
- 지정된 경우에는 해당 최대 곱셈 횟수에 필요한 만큼만 인코딩을 합니다. 레벨이 낮을 수록 차지하는 공간이 작지만 최대 곱셈 횟수가 줄어듭니다.
- 아웃풋:
import numpy as np
from desilofhe import Engine
engine = Engine(slot_count=64)
message = np.arange(64 * 64).reshape(64, 64)
plain_matrix = engine.encode_to_plain_matrix(message)
plain_matrix_level_2 = engine.encode_to_plain_matrix(message, level=2)