Полиномиальные уравнения в Q # E = MC ^ 2 - PullRequest
0 голосов
/ 13 апреля 2020

Я пытаюсь понять, как использовать квантовые вычисления, и начал понимать некоторые основы и другие концепции, но не могу понять, как применить это на практике в реальных проблемах.

Допустим, я хочу написать функцию в Q #, которая возвращает значение E в уравнении

E= MC^2

Может кто-нибудь помочь мне написать эту операцию?

1 Ответ

1 голос
/ 16 апреля 2020

Чтобы ответить на буквальный вопрос: если M и C являются просто числами с плавающей запятой, вычисление может быть выполнено с использованием чисто классических конструкций Q #:

// The function that carries out the computation itself
function Energy (m : Double, c : Double) : Double {
    return m * c ^ 2.0;
}

// The operation that you'll invoke to pass the parameters to the function and to print the results
operation PrintEnergy () : Unit {
    let c = 299792458.0;
    let energy1 = Energy(1.0, c);
    Message($"Calculated energy of 1 gram of mass = {energy1}");
    let energy2 = Energy(2.0, c);
    Message($"Calculated energy of 2 grams of mass = {energy2}");
}

Вывод:

Calculated energy of 1 gram of mass = 89875517873681760
Calculated energy of 2 grams of mass = 1.7975103574736352E+17

Вы заметите, что этот фрагмент кода не использует кубиты или гейтсы, поэтому он не очень хороший пример использования квантовых вычислений для решения реальных задач, даже если он реализован с использованием квантового программирования. язык. Эта проблема включала в себя очень простые математические вычисления, которые можно сделать очень эффективно, используя классические компьютеры.

Квантовые компьютеры собираются использовать модель вычислений с сопроцессором - мы будем использовать их для выполнения вычислений, которые они хорошо подходят (например, для решения задач химии), и для использования остальных компьютеров на классических компьютерах. вычислений.

Чтобы научиться применять квантовые вычисления для решения проблем с Q #, вы можете ознакомиться с Quantum Katas - сборником учебных пособий и упражнений по программированию. В частности, они показывают, как преобразовать классические задачи, такие как SAT или раскраска графа, в форму, которая может использовать преимущества алгоритмов квантовых вычислений. (Раскрытие информации: я поддерживаю этот проект)

...