Operação IterateThroughCartesianProduct

Aviso

Esta documentação refere-se ao QDK Clássico, que foi substituído pelo QDK Moderno.

https://aka.ms/qdk.api Veja a documentação da API para o QDK Moderno.

Espaço de nomes: Microsoft.Quantum.Canon

Pacote: Microsoft.Quantum.Standard

Aplica uma operação para cada índice no produto cartesiano de vários intervalos.

operation IterateThroughCartesianProduct (bounds : Int[], op : (Int[] => Unit)) : Unit

Description

Aplica iterativamente uma operação para cada elemento do produto cartesiano de 0..(bounds[0] - 1), 0..(bounds[1] - 1), ..., 0..(bounds[Length(bounds) - 1] - 1)

Entrada

bounds: Int[]

Uma matriz que especifica os intervalos a iterar, com cada intervalo a ser especificado como um comprimento inteiro.

op: Int[] =>Unit

Uma operação a ser chamada para cada elemento do produto cartesiano especificado.

Saída: Unidade

Exemplo

Tendo em conta uma operação op, os dois fragmentos seguintes são equivalentes:

IterateThroughCartesianProduct([3, 4, 5], op);
op([0, 0, 0]);
op([1, 0, 0]);
op([2, 0, 0]);
op([0, 1, 0]);
// ...
op([0, 3, 0]);
op([0, 0, 1]);
//
op([2, 3, 4]);

Consulte também