public void PQRSTermFromGeneralHamiltonianTest()
        {
            var generalHamiltonian = new FermionHamiltonian(nOrbitals: 2, nElectrons: 1);

            generalHamiltonian.AddFermionTerm(PQRSTermType, new Int64[] { 0, 1, 3, 2 }, 2.0);
            var jwEvolutionSetData = JordanWignerEncoding.Create(generalHamiltonian);
            var termData           = jwEvolutionSetData.Terms;
            var qsim = new QCTraceSimulator(TraceConfig.config);

            RunOptimizedBlockEncoding.Run(qsim, generalHamiltonian.NOrbitals * 2, termData, targetError).Wait();
        }
        public void PQRSTermFromLiquidOrbitalTest()
        {
            string orbitals           = "0,1,0,1=1.0";
            var    generalHamiltonian = LoadData.LoadFromLiquid(orbitals);

            generalHamiltonian.NElectrons = 1L;
            var jwEvolutionSetData = JordanWignerEncoding.Create(generalHamiltonian);
            var termData           = jwEvolutionSetData.Terms;
            var qsim = new QCTraceSimulator(TraceConfig.config);

            RunOptimizedBlockEncoding.Run(qsim, generalHamiltonian.NOrbitals * 2, termData, targetError).Wait();
        }
        public void PPTermFromGeneralHamiltonianTest()
        {
            var generalHamiltonian = new FermionHamiltonian(nOrbitals: 1, nElectrons: 1);

            generalHamiltonian.AddFermionTerm(PPTermType, new Int64[] { 0, 0 }, 1.0);
            generalHamiltonian.AddFermionTerm(PPTermType, new Int64[] { 1, 1 }, -1.0);
            var jwEvolutionSetData  = JordanWignerEncoding.Create(generalHamiltonian);
            var identityCoefficient = jwEvolutionSetData.energyOffset;
            var termData            = jwEvolutionSetData.Terms;
            var qsim = new QCTraceSimulator(TraceConfig.config);

            RunOptimizedBlockEncoding.Run(qsim, generalHamiltonian.NOrbitals * 2, termData, targetError).Wait();
        }