tensorcircuit.compiler.composed_compiler#

object oriented compiler pipeline

class tensorcircuit.compiler.composed_compiler.Compiler(compile_funcs: Union[Callable[[...], Any], List[Callable[[...], Any]]], compiled_options: Optional[List[Dict[str, Any]]] = None)[source]#

Bases: object

__init__(compile_funcs: Union[Callable[[...], Any], List[Callable[[...], Any]]], compiled_options: Optional[List[Dict[str, Any]]] = None)[source]#
add_options(compiled_options: Optional[List[Dict[str, Any]]] = None) → None[source]#
class tensorcircuit.compiler.composed_compiler.DefaultCompiler(qiskit_compiled_options: Optional[Dict[str, Any]] = None)[source]#

Bases: tensorcircuit.compiler.composed_compiler.Compiler

__init__(qiskit_compiled_options: Optional[Dict[str, Any]] = None)[source]#

A fallback choice to compile circuit running on tencent quantum cloud with rz as native gate

Parameters

qiskit_compiled_options (Optional[Dict[str, Any]], optional) – qiskit compiled options to be added options documented in qiskit.transpile method, to use tencent quantum cloud, {“coupling_map”: d.topology()} is in general enough, where d is a device object, defaults to None, i.e. no qubit mapping is applied

add_options(compiled_options: Optional[List[Dict[str, Any]]] = None) → None#
tensorcircuit.compiler.composed_compiler.default_compile(circuit: tensorcircuit.abstractcircuit.AbstractCircuit, info: Optional[Dict[str, Any]] = None, compiled_options: Optional[Dict[str, Any]] = None) → Tuple[tensorcircuit.abstractcircuit.AbstractCircuit, Dict[str, Any]][source]#