Skip to content

Add nuclear derivative calculators#500

Open
nabbelbabbel wants to merge 16 commits into
mainfrom
jpu/nuc-deriv
Open

Add nuclear derivative calculators#500
nabbelbabbel wants to merge 16 commits into
mainfrom
jpu/nuc-deriv

Conversation

@nabbelbabbel

Copy link
Copy Markdown
Collaborator

No description provided.

@nabbelbabbel nabbelbabbel self-assigned this Jun 1, 2026
@nabbelbabbel nabbelbabbel added the enhancement New feature or request label Jun 1, 2026
@github-actions

github-actions Bot commented Jun 3, 2026

Copy link
Copy Markdown

📊 Coverage Summary

Component Coverage
C++ Library 77%
Python Package 89%
Pybind11 Bindings 86%

Detailed Coverage Reports

C++ Coverage Details
------------------------------------------------------------------------------
                           GCC Code Coverage Report
Directory: cpp
------------------------------------------------------------------------------
File                                       Lines    Exec  Cover   Missing
------------------------------------------------------------------------------
include/qdk/chemistry/algorithms/active_space.hpp
                                               5       5   100%
include/qdk/chemistry/algorithms/algorithm.hpp
                                              70      55    78%   117,119-121,124,126-128,130-131,219,241,243-244,302
include/qdk/chemistry/algorithms/dynamical_correlation_calculator.hpp
                                               7       6    85%   115
include/qdk/chemistry/algorithms/hamiltonian.hpp
                                               5       5   100%
include/qdk/chemistry/algorithms/localization.hpp
                                               5       5   100%
include/qdk/chemistry/algorithms/mc.hpp       22      22   100%
include/qdk/chemistry/algorithms/mcscf.hpp
                                              13      13   100%
include/qdk/chemistry/algorithms/nuclear_derivative.hpp
                                              48      45    93%   147,211,239
include/qdk/chemistry/algorithms/pmc.hpp       8       6    75%   41,186
include/qdk/chemistry/algorithms/scf.hpp      15      14    93%   23
include/qdk/chemistry/algorithms/stability.hpp
                                               5       4    80%   131
include/qdk/chemistry/data/ansatz.hpp          3       3   100%
include/qdk/chemistry/data/basis_set.hpp      35      30    85%   108-109,112,114,319
include/qdk/chemistry/data/configuration.hpp
                                              32      30    93%   71,119
include/qdk/chemistry/data/configuration_set.hpp
                                               3       2    66%   35
include/qdk/chemistry/data/data_class.hpp
                                               4       4   100%
include/qdk/chemistry/data/element_data.hpp
                                              18      18   100%
include/qdk/chemistry/data/hamiltonian.hpp
                                              12      12   100%
include/qdk/chemistry/data/hamiltonian_containers/canonical_four_center.hpp
                                               1       1   100%
include/qdk/chemistry/data/hamiltonian_containers/cholesky.hpp
                                               1       1   100%
include/qdk/chemistry/data/hamiltonian_containers/sparse.hpp
                                               1       1   100%
include/qdk/chemistry/data/lattice_graph.hpp
                                               3       1    33%   413-414
include/qdk/chemistry/data/majorana_mapping.hpp
                                               6       5    83%   117
include/qdk/chemistry/data/nuclear_gradients.hpp
                                               3       1    33%   57-58
include/qdk/chemistry/data/nuclear_hessian.hpp
                                               3       1    33%   51-52
include/qdk/chemistry/data/orbitals.hpp        6       6   100%
include/qdk/chemistry/data/pauli_operator.hpp
                                              88      83    94%   1224,1248,1283,1295,1309
include/qdk/chemistry/data/settings.hpp       96      75    78%   306-307,443,485,620,1002,1011,1026-1027,1031-1033,1037-1038,1040-1042,1044-1045,1134,1138
include/qdk/chemistry/data/stability_result.hpp
                                              38      38   100%
include/qdk/chemistry/data/structure.hpp      11      11   100%
include/qdk/chemistry/data/tapering.hpp        3       0     0%   46,80-81
include/qdk/chemistry/data/wavefunction.hpp
                                              25      19    76%   496,502,510-512,673
include/qdk/chemistry/data/wavefunction_containers/cas.hpp
                                               1       1   100%
include/qdk/chemistry/data/wavefunction_containers/cc.hpp
                                               1       1   100%
include/qdk/chemistry/data/wavefunction_containers/mp2.hpp
                                               1       1   100%
include/qdk/chemistry/data/wavefunction_containers/sci.hpp
                                               1       1   100%
include/qdk/chemistry/data/wavefunction_containers/sd.hpp
                                               1       1   100%
include/qdk/chemistry/utils/hash.hpp           4       4   100%
include/qdk/chemistry/utils/logger.hpp        41      35    85%   237-238,240,247-248,250
include/qdk/chemistry/utils/model_hamiltonians.hpp
                                             128     122    95%   59-60,89-90,137,141
include/qdk/chemistry/utils/string_utils.hpp
                                              11      10    90%   41
src/qdk/chemistry/algorithms/active_space.cpp
                                             232     142    61%   35-36,40-41,45-46,116-118,143-145,147,151-154,156-159,162-163,165-168,173-174,176-179,182-184,187-189,191,194-196,218,220,224,226-229,231-232,236-239,241,243,246-249,251,253,255-256,277-278,307,310,342,347-348,350-353,355-357,359-360,363,367,369-371,413,415,417
src/qdk/chemistry/algorithms/algorithm_defaults.cpp
                                              16      14    87%   47,51
src/qdk/chemistry/algorithms/dynamical_correlation_calculator.cpp
                                               8       8   100%
src/qdk/chemistry/algorithms/hamiltonian.cpp
                                              14      14   100%
src/qdk/chemistry/algorithms/localization.cpp
                                              15      15   100%
src/qdk/chemistry/algorithms/mc.cpp           11      11   100%
src/qdk/chemistry/algorithms/microsoft/active_space/autocas_active_space.cpp
                                              80      78    97%   103,133
src/qdk/chemistry/algorithms/microsoft/active_space/autocas_active_space.hpp
                                              16      16   100%
src/qdk/chemistry/algorithms/microsoft/active_space/entropy_active_space.cpp
                                              45      45   100%
src/qdk/chemistry/algorithms/microsoft/active_space/entropy_active_space.hpp
                                              10      10   100%
src/qdk/chemistry/algorithms/microsoft/active_space/occupation_active_space.cpp
                                              60      54    90%   46,48,81,83,101-102
src/qdk/chemistry/algorithms/microsoft/active_space/occupation_active_space.hpp
                                               6       6   100%
src/qdk/chemistry/algorithms/microsoft/active_space/valence_active_space.cpp
                                              75      63    84%   34,36,68-69,76-77,104-105,120-121,124-125
src/qdk/chemistry/algorithms/microsoft/active_space/valence_active_space.hpp
                                               9       9   100%
src/qdk/chemistry/algorithms/microsoft/cholesky_hamiltonian.cpp
                                             453     403    89%   98,102,420,439,442-443,462,473,476-477,507-508,557-558,564-566,573-574,581-582,613,616-617,632,640,642-644,679-683,765,767,779,785,798,804,866-867,869-870,873,978-979,981-982,985
src/qdk/chemistry/algorithms/microsoft/cholesky_hamiltonian.hpp
                                              12      12   100%
src/qdk/chemistry/algorithms/microsoft/hamiltonian.cpp
                                             248     228    91%   46-47,53-55,62-63,164-165,182-186,291,293,304,316,378,486
src/qdk/chemistry/algorithms/microsoft/hamiltonian.hpp
                                              11      11   100%
src/qdk/chemistry/algorithms/microsoft/localization/iterative_localizer_base.cpp
                                               5       5   100%
src/qdk/chemistry/algorithms/microsoft/localization/iterative_localizer_base.hpp
                                               8       8   100%
src/qdk/chemistry/algorithms/microsoft/localization/mp2_natural_orbitals.cpp
                                              79      74    93%   44,81,83,104,106
src/qdk/chemistry/algorithms/microsoft/localization/mp2_natural_orbitals.hpp
                                               3       3   100%
src/qdk/chemistry/algorithms/microsoft/localization/pipek_mezey.cpp
                                             169     160    94%   26,34,41,43,47,49,246,329,332
src/qdk/chemistry/algorithms/microsoft/localization/pipek_mezey.hpp
                                               6       6   100%
src/qdk/chemistry/algorithms/microsoft/localization/vvhv.cpp
                                             646     574    88%   336,338-339,452-453,476,534,695,739,741,746,762-765,768,778-781,784,819-821,827-831,859-862,865,887,889-891,968-972,1018-1022,1040-1043,1047-1050,1052-1054,1057,1131,1194-1196,1225,1267,1286,1289,1293,1295,1300-1301
src/qdk/chemistry/algorithms/microsoft/localization/vvhv.hpp
                                               8       8   100%
src/qdk/chemistry/algorithms/microsoft/macis_asci.cpp
                                              69      66    95%   51,167,169
src/qdk/chemistry/algorithms/microsoft/macis_asci.hpp
                                              75      75   100%
src/qdk/chemistry/algorithms/microsoft/macis_base.cpp
                                              70      56    80%   29-31,91-92,95,99-100,103-105,112-114
src/qdk/chemistry/algorithms/microsoft/macis_base.hpp
                                              99      77    77%   84,86,88,90,92,94,205-207,209,212,214,217-219,221-223,225-227,229
src/qdk/chemistry/algorithms/microsoft/macis_cas.cpp
                                              59      56    94%   48,132,134
src/qdk/chemistry/algorithms/microsoft/macis_cas.hpp
                                               5       5   100%
src/qdk/chemistry/algorithms/microsoft/macis_pmc.cpp
                                              78      76    97%   110,149
src/qdk/chemistry/algorithms/microsoft/macis_pmc.hpp
                                               5       5   100%
src/qdk/chemistry/algorithms/microsoft/mp2.cpp
                                             202     184    91%   33,78,82-83,93-94,97,101-102,149-150,153-154,164-165,168,172-173
src/qdk/chemistry/algorithms/microsoft/mp2.hpp
                                               2       2   100%
src/qdk/chemistry/algorithms/microsoft/scf.cpp
                                             305     280    91%   62-63,75-76,91-92,118-119,149-150,158,160,214,261,332,364,369,371,397-399,418,489,510,512
src/qdk/chemistry/algorithms/microsoft/scf.hpp
                                              19      19   100%
src/qdk/chemistry/algorithms/microsoft/scf/include/qdk/chemistry/scf/core/basis_set.h
                                               9       8    88%   134
src/qdk/chemistry/algorithms/microsoft/scf/include/qdk/chemistry/scf/core/enums.h
                                              16       0     0%   38-39,48-49,54-59,70-75
src/qdk/chemistry/algorithms/microsoft/scf/include/qdk/chemistry/scf/core/eri.h
                                              15      12    80%   46-47,49
src/qdk/chemistry/algorithms/microsoft/scf/include/qdk/chemistry/scf/core/exc.h
                                               3       3   100%
src/qdk/chemistry/algorithms/microsoft/scf/include/qdk/chemistry/scf/core/moeri.h
                                               3       3   100%
src/qdk/chemistry/algorithms/microsoft/scf/include/qdk/chemistry/scf/core/molecule.h
                                               1       1   100%
src/qdk/chemistry/algorithms/microsoft/scf/include/qdk/chemistry/scf/eri/eri_multiplexer.h
                                               6       3    50%   126-127,135
src/qdk/chemistry/algorithms/microsoft/scf/include/qdk/chemistry/scf/util/cache.h
                                              27      26    96%   44
src/qdk/chemistry/algorithms/microsoft/scf/include/qdk/chemistry/scf/util/class_registry.h
                                              13      13   100%
src/qdk/chemistry/algorithms/microsoft/scf/include/qdk/chemistry/scf/util/gauxc_registry.h
                                               6       5    83%   39
src/qdk/chemistry/algorithms/microsoft/scf/include/qdk/chemistry/scf/util/gauxc_util.h
                                              21      21   100%
src/qdk/chemistry/algorithms/microsoft/scf/include/qdk/chemistry/scf/util/int1e.h
                                               2       2   100%
src/qdk/chemistry/algorithms/microsoft/scf/include/qdk/chemistry/scf/util/singleton.h
                                              13      13   100%
src/qdk/chemistry/algorithms/microsoft/scf/src/core/basis_set.cpp
                                             361     279    77%   33-34,92-93,97-98,146,150-154,157-161,172,183-184,188,190-191,197-198,201-206,210,212-215,217,219,223,225-226,228-229,231,248,257,265-266,313-314,335,337,342-343,345-346,348,401,406-407,415,436,458,460-461,463-465,478,480,482-485,487,490,493-494,542,544,548-549
src/qdk/chemistry/algorithms/microsoft/scf/src/core/scf.cpp
                                               7       7   100%
src/qdk/chemistry/algorithms/microsoft/scf/src/eri/eri.cpp
                                              36      29    80%   58-60,65-66,89-90
src/qdk/chemistry/algorithms/microsoft/scf/src/eri/eri_df_base.cpp
                                              34      32    94%   29-30
src/qdk/chemistry/algorithms/microsoft/scf/src/eri/eri_df_base.h
                                               2       2   100%
src/qdk/chemistry/algorithms/microsoft/scf/src/eri/eri_multiplexer.cpp
                                              61      43    70%   16-17,26-29,40,46-49,52-55,87-88,91
src/qdk/chemistry/algorithms/microsoft/scf/src/eri/INCORE/incore.cpp
                                              42      29    69%   40,42,44,66,68,70-72,74-75,77-79
src/qdk/chemistry/algorithms/microsoft/scf/src/eri/INCORE/incore_impl.cpp
                                              96      88    91%   44,136,138,235,237,239,287,289
src/qdk/chemistry/algorithms/microsoft/scf/src/eri/INCORE/incore_impl_df.cpp
                                             102      60    58%   86-87,89,203,205,207-214,216-221,224,227-233,236,253,256,263-264,286,291,305-306,309,320-321,323-324,326
src/qdk/chemistry/algorithms/microsoft/scf/src/eri/LIBINT2_DIRECT/libint2_direct.cpp
                                             264     249    94%   275,662-663,666-667,677-680,683,1143,1145-1148
src/qdk/chemistry/algorithms/microsoft/scf/src/eri/moeri.cpp
                                              36      34    94%   32-33
src/qdk/chemistry/algorithms/microsoft/scf/src/eri/schwarz.cpp
                                              33      13    39%   80-81,83-88,90-93,95-98,101-102,104,106
src/qdk/chemistry/algorithms/microsoft/scf/src/eri/SNK/snk.cpp
                                              66       0     0%   36,58-60,62-65,67,69-70,72,98,100,102-104,107-110,114-116,119-121,124-127,146,148,150,167-168,170,187,191,193-194,200-201,203,205-207,209,212,214,216-218,221,223,225-227,230,232,234-235,239-240,242-243
src/qdk/chemistry/algorithms/microsoft/scf/src/exc/exc.cpp
                                              16      14    87%   42-43
src/qdk/chemistry/algorithms/microsoft/scf/src/exc/GauXC/gauxc.cpp
                                              34      31    91%   42,54,67
src/qdk/chemistry/algorithms/microsoft/scf/src/exc/GauXC/gauxc_impl.cpp
                                             229     180    78%   79,119,160-161,249-258,260,262-270,373-377,380-381,383-384,398-399,405-409,411,413-417,419-420,426
src/qdk/chemistry/algorithms/microsoft/scf/src/scf/cpscf.cpp
                                             234     232    99%   232,237
src/qdk/chemistry/algorithms/microsoft/scf/src/scf/guess.cpp
                                              63      63   100%
src/qdk/chemistry/algorithms/microsoft/scf/src/scf/ks_impl.cpp
                                              81      70    86%   73,75-82,140,172
src/qdk/chemistry/algorithms/microsoft/scf/src/scf/scf_impl.cpp
                                             547     499    91%   73,101,116,122,168-169,185-186,467,471,551,588,607-609,676,757-758,797-800,843-845,859-864,867-870,873,876,878,977-979,1022-1025,1032,1053,1055
src/qdk/chemistry/algorithms/microsoft/scf/src/scf/scf_impl.h
                                              21      16    76%   98-100,113,161
src/qdk/chemistry/algorithms/microsoft/scf/src/scf/scf_solver.cpp
                                              82      54    65%   35,37,51,55-59,66,68,90,92-93,101-103,111-113,126-128,131-133,141-143
src/qdk/chemistry/algorithms/microsoft/scf/src/scf/soad.cpp
                                              15       0     0%   189,192-204,208
src/qdk/chemistry/algorithms/microsoft/scf/src/scf_algorithm/asahf.cpp
                                             286     275    96%   49,51,68-69,101,271,464-465,506,530-531
src/qdk/chemistry/algorithms/microsoft/scf/src/scf_algorithm/diis.cpp
                                             278     259    93%   147,149,158-159,228,234,241,246,268-269,286,486-489,511,520,528,536
src/qdk/chemistry/algorithms/microsoft/scf/src/scf_algorithm/diis_gdm.cpp
                                              36      36   100%
src/qdk/chemistry/algorithms/microsoft/scf/src/scf_algorithm/gdm.cpp
                                             401     366    91%   226,249,272,443-446,449-452,478-482,487,518-522,664,667-673,805,809,899,903,905
src/qdk/chemistry/algorithms/microsoft/scf/src/scf_algorithm/line_search.h
                                              63      62    98%   60
src/qdk/chemistry/algorithms/microsoft/scf/src/scf_algorithm/scf_algorithm.cpp
                                             143     130    90%   63,71-73,75,85-88,175-176,205,264
src/qdk/chemistry/algorithms/microsoft/scf/src/util/gauxc_util.cpp
                                              85      20    23%   26-31,34-43,48-49,52-59,63-66,68,70,72-74,81-88,92-99,106-111,115-118,122-123,134-135
src/qdk/chemistry/algorithms/microsoft/scf/src/util/int1e.cpp
                                             336     275    81%   170,206-209,211,243,288,290-296,298-303,305-311,314-315,326,328-329,569,592,622,818,827,941-942,946-954,956-962,964-967,976
src/qdk/chemistry/algorithms/microsoft/scf/src/util/libint2_util.cpp
                                             181      91    50%   39,42-45,47,49-51,53-54,58-60,64-66,72,74,76-79,81-82,85-91,94-95,97-102,104-107,109-119,125-126,477,483-490,492-495,497,499,503-504,506,560,562,566-569,571-573,576,580-582,584,627
src/qdk/chemistry/algorithms/microsoft/scf/src/util/matrix_exp.cpp
                                              53      53   100%
src/qdk/chemistry/algorithms/microsoft/scf/src/util/mpi_vars.h
                                               2       2   100%
src/qdk/chemistry/algorithms/microsoft/scf/src/util/opt/gmresxx/arnoldi/arnoldi.h
                                              12      12   100%
src/qdk/chemistry/algorithms/microsoft/scf/src/util/opt/gmresxx/arnoldi/arnoldi_gmres.h
                                             202     168    83%   53-55,176,183,185-188,190-194,196,198,202,205,209,212,217-218,221,223,290,293-294,298,481-482,493,522-523,589
src/qdk/chemistry/algorithms/microsoft/scf/src/util/opt/gmresxx/linalg.h
                                              40      40   100%
src/qdk/chemistry/algorithms/microsoft/scf/src/util/timer.h
                                              29      29   100%
src/qdk/chemistry/algorithms/microsoft/stability.cpp
                                             310     287    92%   192-193,322-324,389,391,408,411-420,424,426,430,432,471
src/qdk/chemistry/algorithms/microsoft/stability.hpp
                                              13      13   100%
src/qdk/chemistry/algorithms/microsoft/utils.cpp
                                             248     171    69%   45-46,52,54,111-112,123-124,126-127,133,135,138-139,141,143-147,150-151,182,184,186,190-191,195,198-205,207-209,211,214-218,220-225,227-229,231,234-235,237,240-245,251,253-255,258-262,387-388,427,429
src/qdk/chemistry/algorithms/nuclear_derivative.cpp
                                             341     271    79%   66,137-139,141-142,144-145,147,149-150,154,156-158,160-161,164-165,168,173,175,192,194,196-198,200-201,204,207-208,218-220,222-223,275-276,287-292,303,305,373,379-380,402,404-411,429,431-432,485,539,542,548,550,563-564,573
src/qdk/chemistry/algorithms/pmc.cpp           8       8   100%
src/qdk/chemistry/algorithms/scf.cpp           7       7   100%
src/qdk/chemistry/algorithms/stability.cpp
                                               6       6   100%
src/qdk/chemistry/data/ansatz.cpp            553     380    68%   26,36,39,46-48,50-51,53,55-56,58-60,62,69,84,99,104-105,107-108,115,120,122,148,150,207,209,280,295,297,302-303,336-340,345,347,357,359,362,364,374,376,379,381,394,396,401,403-404,410,412,417,419-420,434,436,441,443-444,449,451,456,458-459,461-462,464,468-469,471-472,474-475,477-478,480-484,486-487,489,492,495-500,502-503,506-508,510,513,515-516,549,559,569,579,601,608,612,626,630-631,641,651-652,659,668,684-687,690-691,694-696,698-699,701-703,719,727,744-747,782-783,792-793,804,812-813,824,835-836,843,852,869-872,875-876,879-881,883-884,886-888,894-895,906-907,931-934
src/qdk/chemistry/data/basis_set.cpp        1438    1250    86%   31,38,70,91-92,221,225,259-260,276-277,326-327,341,361,387,402,433,460,493,506-507,513-514,529-530,545-546,565,568-569,615,618-620,648,651-653,719,761,785,814,845,881,914,936,966,1006,1023,1032,1050,1067,1079,1090,1180-1181,1235,1249,1262,1276,1291,1298,1308,1310,1317,1331-1332,1465,1522-1523,1537-1539,1541-1542,1548-1551,1560-1561,1727,1791-1792,1805-1806,1906,1914,1926,1962-1966,1968-1970,1973-1977,2010,2024-2028,2031-2040,2042-2045,2047-2051,2053-2055,2058-2061,2065-2066,2068,2070-2074,2077-2078,2082-2086,2090-2092,2098-2101,2103-2105,2108,2110,2112,2132-2133,2142-2143,2151-2153,2160-2161,2181-2182,2184,2201-2203,2268-2269,2271-2276,2282,2390
src/qdk/chemistry/data/configuration.cpp     280     172    61%   67,167,170,172-173,176-177,179-180,183-184,186,190,194-195,204,210,236-238,266-268,271-272,274-283,285,287,289-292,294-295,297,299-300,302-304,307-308,310-311,313,315-316,318-325,327,329,331-334,336-337,341-342,344-348,351-352,354-355,358-359,361-368,370-371,373-381,421-422,432,434
src/qdk/chemistry/data/configuration_set.cpp
                                             328     209    63%   33-34,85-87,90-92,234,247,272-277,287-288,331-333,350-354,356,376-377,400-402,421,425,427,429,431-434,436-437,439,441-442,444-447,450-451,453-455,458-463,465-466,468-478,480,482,484-487,489-490,494-495,497-501,503,506-508,510-514,517-524,526-527,529-540
src/qdk/chemistry/data/filename_utils.hpp
                                              44      26    59%   30-33,35-36,51-53,72-75,77-78,93-95
src/qdk/chemistry/data/hamiltonian.cpp       554     400    72%   41,46-47,68,73-74,82,95,97-99,102-104,108-115,132,140,160-162,194-195,213-217,232-236,241,243,249,251,269,271-274,311,322,324,328,331,409-422,424,427-428,431-434,436-439,442-445,447-450,454-457,459-462,465-469,471-474,476-479,481-484,487-488,494,508,517-518,536,539-540,572,585,597,610,623,636,643,662,680,687,694,701-703,709,720-721,741-742,758-759,767-768,793-797,826,828-829,892-894
src/qdk/chemistry/data/hamiltonian_containers/canonical_four_center.cpp
                                             420     360    85%   38-39,67-68,98,110,128-129,156,163,169-171,204-205,213,276,309,349,353,361,373,385,391-392,423,432,437-438,443-444,462,470,477-484,487-494,514-516,597-598,607-608,634,656,721-722
src/qdk/chemistry/data/hamiltonian_containers/cholesky.cpp
                                             474     303    63%   44-45,72-73,86-90,103,162-165,167-168,172-174,177,179,181-182,185-187,190-191,194-195,198-207,209-210,227,234,240-242,265-270,279-280,328-331,333,335-338,340,364-367,369,371-374,377,382,384-387,389,391-393,396-400,402,404-408,417,432,440,452,468-469,487-488,490,499,504,506,510-511,516-517,519,521,530-531,534-537,543,550-557,560-567,585,588,592-594,642-643,651-652,658-662,673,677-678,687-688,714,736,753,764-766,772-773,779-780,786-787,798,801,805-806
src/qdk/chemistry/data/hamiltonian_containers/sparse.cpp
                                             396     347    87%   89,103,153-155,212,232-235,260-263,364-366,398,435-441,443,471-479,481,484,487-488,494-497,506-507,512,600,609,625
src/qdk/chemistry/data/hdf5_error_handling.hpp
                                              10       3    30%   20-21,23,25-26,28-29
src/qdk/chemistry/data/hdf5_serialization.cpp
                                             240     119    49%   13,15-22,24,26-32,34,36-44,46,48-56,65-67,69-71,73-74,77-79,82-85,95,98,106-109,111-113,115-116,119-121,124-127,138,141,143-150,153-160,238-240,249-251,253-255,258-260,277-280,282-286,288-289,308-310,312-316,318-319
src/qdk/chemistry/data/json_serialization.cpp
                                             177      86    48%   29,38,45-47,57,64-68,70-71,83,90-92,94-98,100,102-103,105,114,120-121,128-129,131,133-134,136-139,141,143-146,148-149,152-153,155,163-164,173,178-179,188-189,196,201,210,212,214,216-217,219-222,225-229,231-236,246-249,252-256,260-264
src/qdk/chemistry/data/lattice_graph.cpp     590     320    54%   39-42,53-56,102,104-105,107-110,112,114-115,117-120,169,196,199,202,245,248,251,306,309,312,359,362,365,445,456,524,612,626,639-640,642-649,651,653,655-658,660-661,663,665-666,669-673,677-680,682-685,687-688,690-691,693-694,696-698,700-702,704,706-707,709-710,713-715,718-721,724-726,728-736,740-742,745-755,757-765,767-768,770-777,779,781,783-786,788-789,793-794,796-800,802-805,807-808,810-811,813-814,816-817,820-821,823-832,834,836-839,841-848,850-851,853-854,856-857,859-864,866-867,869-877,879-881,884-886,888-890,892-895,897-898,900,902-913,915,918-921,923-937,939-940,942-943
src/qdk/chemistry/data/majorana_map_engine.cpp
                                             268     254    94%   95,126-131,137,160,231,532-535
src/qdk/chemistry/data/majorana_mapping.cpp
                                             202      62    30%   39,41,48,51,53-54,84-85,90-94,100-103,113-115,117,119-122,124,131-134,137-140,150-152,155-159,161-163,165-166,168-174,178-183,185-188,190,192-195,197,199,201-207,211-223,225,227-228,230-232,234,236-237,239-242,244-245,247-250,252-255,257-261,263-267,269-273,275-279,281,283-284,286-287,289
src/qdk/chemistry/data/majorana_mapping_factories.cpp
                                             220     147    66%   68,117,147,200-203,206-207,209,211-217,219-220,223-224,226-230,233-235,237-242,247-248,250-254,256-257,259-260,262-266,268-269,271-273,275-276,283,314,317-320,322-323,325,327-330,333-334
src/qdk/chemistry/data/nuclear_gradients.cpp
                                             148      37    25%   24-25,31,48-53,55,57-60,62-63,65,75,77-81,83-85,87-90,92-94,96-98,100-103,105-109,111,113-116,118-119,122,124-127,137,140-141,148,150-153,155,157-170,172-177,185-188,190-191,193-196,198,200-203,205-208,210,212-213,215-217
src/qdk/chemistry/data/nuclear_hessian.cpp
                                             140      29    20%   24-25,31,36-41,43,45-48,50-51,53,63,65-69,71-73,75-78,80-82,84-86,88-91,93-97,99,101-104,106-107,110,112-115,124,127-128,135,137-140,142-156,158-163,174-177,179-180,182-185,187,189-192,194-197,199,201-202,204-206
src/qdk/chemistry/data/orbitals.cpp         1198     926    77%   106-107,128,144-145,151-152,156-157,178,180,220-221,237,251,292,307,321,363,373,377,400,403,405-406,409-413,416-417,421-424,426-427,429,431,433-434,437-440,443,447,449,453,455,457-458,461-467,470-471,474-475,477-478,480,482,484-485,488-492,495,498,500,563-567,570-571,573-574,576-577,580-581,584,586,589-590,592-593,595-596,599-601,604,606,609-610,612-613,615-616,619-620,623,625,665,667,673,675,679,681,690,758,769,775,780,807,817,861-865,903,916,928,941,961,979,988,1064-1067,1082-1083,1108-1112,1120-1121,1152-1154,1167-1169,1194-1195,1204-1205,1211-1212,1218-1219,1221-1222,1225-1226,1228-1229,1249-1250,1256,1298-1299,1327,1333,1337-1338,1381-1385,1413-1414,1416-1420,1423,1426,1428,1431,1433,1436,1438-1440,1442-1444,1447-1449,1451-1453,1455-1458,1477-1479,1482-1484,1487-1489,1551-1552,1581-1583,1598-1600,1634-1635,1647-1648,1806-1810,1823-1824,1827,1830-1831,1834-1836,1838,1877,1914,1929-1931,1980-1981,2016-2017,2023-2024,2030-2031,2033-2034,2037-2038,2040-2041,2048,2064-2065
src/qdk/chemistry/data/pauli_operator.cpp
                                             792     683    86%   17,19-24,26,28-29,31-52,54,56-58,103,106,130-131,233,245-246,267,440,450,464-466,560,598-600,602-604,620-622,624-626,649,652,764,849,861,863-864,898,903-905,920,925-927,955,981-985,987,989,994,999,1039,1057-1059,1072,1079-1080,1082-1087,1105,1116-1119,1245,1265,1343,1386
src/qdk/chemistry/data/settings.cpp         1238     616    49%   40-43,68-70,81,85,100-103,128-136,138-142,160-165,168-171,173-177,179-183,185,187-190,192-197,199-203,205-215,219-228,241,245,282,294-297,299-301,304-308,310-311,313-315,317-318,320-321,364-365,368,383,414-415,418-420,422-427,429,431-436,439,459-463,466-467,470,472,478,480,482,486,488,490,494,538-539,541,543,545-546,548-551,555-556,558-560,563-564,568-570,573-575,579,581,584-589,594-598,600-610,612-615,617-621,623-627,630,634-637,641-645,649-652,655-659,661-662,664,666-669,671-673,675-676,678-680,682,684-686,688-692,695-699,701,703-705,707-709,711-715,718-722,724,726-728,731-733,735,738-740,743-744,747-754,756-757,759-760,763-764,766-772,775-781,785,788-789,792-793,796-797,800-801,804-808,810,812,814-815,817-820,822-823,825-826,831,838-841,844,846-849,853-858,862-863,865,870,891,897,900,907,910,918,922,943-944,961-964,973,976,984-985,1001-1006,1008,1010-1011,1054-1057,1059-1061,1073-1074,1086,1088,1233,1237-1240,1242-1243,1246,1248-1250,1252-1255,1257-1261,1266,1268-1271,1274,1276-1277,1283-1284,1287-1292,1294,1298,1300,1303,1310,1314-1316,1322,1326,1329-1330,1335,1337-1339,1343,1388,1395,1413,1464-1466,1496,1502-1505,1527-1528,1563-1564,1566,1595-1597,1616-1621,1647-1649,1651,1653-1654,1657-1659,1661-1663,1669,1690-1697,1700-1703,1759,1787,1802-1804,1810-1818,1820,1823-1826,1828-1837,1839-1848,1851-1858,1860-1862,1865-1875,1877-1882,1884-1886,1888-1894,1896-1898,1900,1902,1904-1908,1910-1914,1916-1918,1920-1921,1923-1930,1932-1941,1943-1945,1947-1949,1965
src/qdk/chemistry/data/stability_result.cpp
                                             317     292    92%   25,32,42,176,213,218,271,281,299,315,344,346,350,356,379,419,421,425,451,458,503-507
src/qdk/chemistry/data/structure.cpp         761     703    92%   86,101,115-116,127,140,159,176-177,204,245-246,295,479,492,512,530,649,665,802,816,964-966,974-975,985,995-996,1018-1019,1027,1055-1057,1063,1076,1122-1123,1126,1132-1135,1138-1147,1151-1153,1156
src/qdk/chemistry/data/tapering.cpp          126       0     0%   20-26,29-32,35-38,41,43,45-46,48-49,51-54,56-59,62-63,65-66,69,71,74-79,81,83-84,87-91,93,95-97,99-101,104-107,109-110,112,114-116,118-121,123-129,131-134,136-139,141-149,151-156,158-160,162-166,168,170-173,175,177-180,182,184,186,188-189,191-192,194
src/qdk/chemistry/data/wavefunction.cpp     1319    1137    86%   45,65,175,178,186-188,269-270,286,307-310,312-315,318,336-341,344,386,417,454,467,488,493,509-510,531,548,551,574,577,580-589,620-626,628-630,732-741,838-842,937-939,984,998,1011,1013,1018,1020,1042-1043,1102,1104-1105,1119,1121,1124-1125,1146-1149,1151,1186,1188-1189,1214,1231,1357,1456-1459,1487,1494,1500,1507,1523,1529-1531,1537,1548,1578-1579,1594-1595,1602-1603,1623,1628-1629,1635,1646,1682,1792-1793,1803-1804,1831,1857-1858,1888-1889,1961,1963,1966-1967,1975-1977,1995-1997,1999-2000,2006-2009,2012-2022,2024-2025,2027-2030,2033-2036,2038-2040,2042-2043,2045-2046
src/qdk/chemistry/data/wavefunction_containers/cas.cpp
                                             252     199    79%   76-77,79-82,84-85,87-88,90,92-93,95-96,98-99,101,116,161-162,166,168,172,174,178-179,191-193,199,201-204,207-210,227-228,231-232,337-339,359,377-378,387,398,421-422
src/qdk/chemistry/data/wavefunction_containers/cc.cpp
                                             878     525    59%   48,52,57,59,62,66,71-72,74-77,79,87-88,122-127,153-160,169-175,203-204,206-220,222-224,226-228,231,233-234,250,258-259,261,267,277,287,299,319,324,326-328,331-334,337,339-340,343,345-349,351-352,354-355,358-359,381-383,385-387,389-391,393-395,397-399,425,432,463-466,528-529,595-596,599,601,603,606-607,609-610,612,615,617-620,622-624,627-628,630,633,637,639-640,643,687,696-697,699,705-706,708-709,716,728,737-738,747-748,754,790,800,810,820,830,841,940-950,952-956,969-979,981,983-985,1058-1069,1071-1083,1085-1091,1093-1100,1115-1126,1128-1140,1142-1148,1150-1156,1171-1181,1183-1195,1197-1200,1202,1204-1207,1223-1232,1234-1246,1248-1251,1253-1257,1322-1324,1326-1327,1330,1332-1333,1335,1337-1338,1342-1344
src/qdk/chemistry/data/wavefunction_containers/mp2.cpp
                                             626     433    69%   32,36,40-41,45-47,60-62,78,85,110,139,150-151,178-179,227-228,243,313,318,320-322,325-327,330-333,336-341,343-349,351-353,374,437-438,468-469,477,490-492,494,498-500,502,535,544-545,547,553-554,556-557,564,576,585-586,606,623-624,627-628,631,633-639,641-644,646,648,650,652-658,660-663,665,667,669,671-677,679-682,684,688-697,703-712,718-727,734-736,738-739,743,745-746,748-750,754-757,759,925,931,933,964-965,968-969,973,975,1006,1023,1057,1081,1083,1088,1092-1102
src/qdk/chemistry/data/wavefunction_containers/sci.cpp
                                             212     176    83%   78-79,81-84,86-87,89-90,92,94-95,97-98,100-101,103,117,151,153,155-156,166-167,171,260-262,282,300-301,310,321,344-345
src/qdk/chemistry/data/wavefunction_containers/sd.cpp
                                             399     336    84%   17,42-46,54,56-60,111,113,118,120,136-137,140,143-144,156,158,161-162,200,202,205-206,275,277,280-282,309,311,314,316,369,371,467,497-498,501,511-512,515,562,571,577,591,599-602,646-647,664-665,683-684,694-695
src/qdk/chemistry/utils/logger.cpp           126     121    96%   207-209,243,292
src/qdk/chemistry/utils/orbital_rotation.cpp
                                              93      56    60%   60-62,140-142,145,149-150,152,154-155,176,178,180,182,185-186,188,192-193,196-197,200,202-203,205,208-211,214,218-219,221,223-224
src/qdk/chemistry/utils/valence_space.cpp
                                              57      54    94%   73,102,106
------------------------------------------------------------------------------
TOTAL                                      24570   19052    77%
------------------------------------------------------------------------------
Python Coverage Details
src/qdk_chemistry/data/unitary_representation/containers/__init__.py                                  0      0   100%
src/qdk_chemistry/data/unitary_representation/containers/base.py                                     28      0   100%
src/qdk_chemistry/data/unitary_representation/containers/pauli_product_formula.py                   107      5    95%
src/qdk_chemistry/definitions.py                                                                      8      0   100%
src/qdk_chemistry/plugins/__init__.py                                                                 0      0   100%
src/qdk_chemistry/plugins/networkx/__init__.py                                                       19      0   100%
src/qdk_chemistry/plugins/networkx/term_grouper.py                                                   36      1    97%
src/qdk_chemistry/plugins/openfermion/__init__.py                                                    19      0   100%
src/qdk_chemistry/plugins/openfermion/conversion.py                                                  78      0   100%
src/qdk_chemistry/plugins/openfermion/qubit_mapper.py                                                49      0   100%
src/qdk_chemistry/plugins/pyscf/__init__.py                                                          18      0   100%
src/qdk_chemistry/plugins/pyscf/active_space_avas.py                                                 80      7    91%
src/qdk_chemistry/plugins/pyscf/conversion.py                                                       264     16    94%
src/qdk_chemistry/plugins/pyscf/coupled_cluster.py                                                  101     27    73%
src/qdk_chemistry/plugins/pyscf/localization.py                                                      72      8    89%
src/qdk_chemistry/plugins/pyscf/mcscf.py                                                            125     15    88%
src/qdk_chemistry/plugins/pyscf/scf_solver.py                                                       102      5    95%
src/qdk_chemistry/plugins/pyscf/stability.py                                                        154      2    99%
src/qdk_chemistry/plugins/qiskit/__init__.py                                                         56      0   100%
src/qdk_chemistry/plugins/qiskit/_interop/__init__.py                                                 0      0   100%
src/qdk_chemistry/plugins/qiskit/_interop/circuit.py                                                130      0   100%
src/qdk_chemistry/plugins/qiskit/_interop/noise_model.py                                             26      4    85%
src/qdk_chemistry/plugins/qiskit/_interop/qir.py                                                     87     23    74%
src/qdk_chemistry/plugins/qiskit/_interop/transpiler.py                                             194     11    94%
src/qdk_chemistry/plugins/qiskit/circuit_executor.py                                                 77     10    87%
src/qdk_chemistry/plugins/qiskit/conversion.py                                                       31      0   100%
src/qdk_chemistry/plugins/qiskit/phase_estimation_circuit_builder.py                                117      6    95%
src/qdk_chemistry/plugins/qiskit/qubit_mapper.py                                                     40      0   100%
src/qdk_chemistry/plugins/qiskit/regular_isometry.py                                                 40      0   100%
src/qdk_chemistry/utils/__init__.py                                                                   4      0   100%
src/qdk_chemistry/utils/cubegen.py                                                                   54     54     0%
src/qdk_chemistry/utils/enum.py                                                                      23      3    87%
src/qdk_chemistry/utils/model_hamiltonians.py                                                        95     10    89%
src/qdk_chemistry/utils/pauli_commutation.py                                                        115      3    97%
src/qdk_chemistry/utils/pauli_matrix.py                                                              74      0   100%
src/qdk_chemistry/utils/phase.py                                                                     39      1    97%
src/qdk_chemistry/utils/qsharp/__init__.py                                                           17      0   100%
src/qdk_chemistry/utils/telemetry.py                                                                142     87    39%
src/qdk_chemistry/utils/telemetry_events.py                                                          59     48    19%
src/qdk_chemistry/utils/wavefunction.py                                                              57     57     0%
---------------------------------------------------------------------------------------------------------------------
TOTAL                                                                                              6305    702    89%
Coverage HTML written to dir ../coverage-reports/python_coverage_html
Coverage XML written to file ../coverage-reports/python_coverage.xml
=========================== short test summary info ============================
SKIPPED [2] tests/test_docs_examples.py:195: Skipping slow test. Set QDK_CHEMISTRY_RUN_SLOW_TESTS=1 to enable.
SKIPPED [1] tests/test_docs_examples.py:195: release_notes example requires v1.1.x (installed: 2.0.0+local)
SKIPPED [1] tests/test_sample_workflow.py:240: Skipping slow test. Set QDK_CHEMISTRY_RUN_SLOW_TESTS=1 to enable.
SKIPPED [1] tests/test_sample_workflow.py:268: Skipping slow test. Set QDK_CHEMISTRY_RUN_SLOW_TESTS=1 to enable.
========== 1805 passed, 5 skipped, 35 warnings in 1197.00s (0:19:56) ===========
Pybind11 Coverage Details
------------------------------------------------------------------------------
                           GCC Code Coverage Report
Directory: .
------------------------------------------------------------------------------
File                                       Lines     Exec  Cover   Missing
------------------------------------------------------------------------------
src/pybind11/algorithms/active_space.cpp      38       38   100%
src/pybind11/algorithms/davidson_solver.cpp
                                              35       34    97%   28
src/pybind11/algorithms/dynamical_correlation_calculator.cpp
                                              31       31   100%
src/pybind11/algorithms/factory_bindings.hpp
                                             320      259    80%   32,32,32,32,32,32,32,32,32-33,33,33,33,33,33,33,33,33-34,34,34,34,34,34,34,34,34-35,35,35,35,35,35,35,35,35-36,36,36,36,36,36,36,36,36,139-144,249,249,249,249,249,249,249,249,249,249
src/pybind11/algorithms/hamiltonian.cpp       36       36   100%
src/pybind11/algorithms/localizer.cpp         38       38   100%
src/pybind11/algorithms/mc.cpp                37       37   100%
src/pybind11/algorithms/mcscf.cpp             34       34   100%
src/pybind11/algorithms/nuclear_derivative.cpp
                                              40       25    62%   16,20-21,24-25,29,31,35,38,61,83,87-88,96-97
src/pybind11/algorithms/pmc.cpp               36       35    97%   178
src/pybind11/algorithms/scf.cpp               35       35   100%
src/pybind11/algorithms/stability.cpp         34       34   100%
src/pybind11/algorithms/syev_solver.cpp       19       18    94%   43
src/pybind11/constants.cpp                    89       89   100%
src/pybind11/data/ansatz.cpp                  69       69   100%
src/pybind11/data/basis_set.cpp              204      204   100%
src/pybind11/data/configuration.cpp           30       29    96%   200
src/pybind11/data/configuration_set.cpp       84       84   100%
src/pybind11/data/data_class.cpp             109       27    24%   19-20,23-24,27,29,32,34-37,39-44,46,48-49,52,54,57-59,64,67,71-72,75,78-79,81-82,90,92,94-96,98,101,104-105,107,110,113-115,117-120,124,126,128-129,131,133,135-137,139,141,143-145,150-151,153,156-157,159,162-163,165,168-169,171,174,176,178,249
src/pybind11/data/element_data.cpp           123      123   100%
src/pybind11/data/hamiltonian.cpp            247      238    96%   62,65,67,458,477,650,670,855,876
src/pybind11/data/lattice_graph.cpp          122       96    78%   20,23,25,27,29-30,51,53-54,66-69,71-72,249,476-478,482,501,512,615,617,619,621
src/pybind11/data/majorana_mapping.cpp       217      181    83%   50-53,99-101,106-107,120-121,123,160-166,191-193,195-198,269-271,276-277,283-285,290-291
src/pybind11/data/nuclear_gradients.cpp       53       33    62%   20,23,25,27,29-30,32,34-35,37,39-40,43,45-46,49,51-52,82,121
src/pybind11/data/nuclear_hessian.cpp         52       33    63%   20,22,24,26,28-29,31,33-34,36,38-39,42,44-45,48,50-51,79
src/pybind11/data/orbitals.cpp               138      137    99%   940
src/pybind11/data/path_utils.hpp              19       11    57%   37,39,42-47
src/pybind11/data/pauli_operator.cpp         278      233    83%   154,265,330,406,411,417,423,435,475,481,513,519,525,537,577,612,644,649,663,667,675,712-713,716-721,723-726,752-753,755-760,762-765
src/pybind11/data/property_binding_helpers.hpp
                                             312      312   100%
src/pybind11/data/serialization.cpp            5        5   100%
src/pybind11/data/settings.cpp               834      568    68%   40-41,57-58,110-111,117-118,123-124,129,131,136,138,164-168,177-179,182-185,190-194,198-200,210-213,217-221,230-233,237-242,246-249,259-262,266-270,273-277,281-291,293-311,313-327,333,335,337-338,342,345-347,381,383,400,450,452-453,536,544-546,548,552,571-577,633-636,643-649,651,654,656,658-661,668,670,713,784,1444,1452,1458,1461,1580,1614,1692,1755,1780,1805,1831,1895,1983-1984,1986-1990,2024-2028,2030-2035,2086,2140,2166-2167,2169,2172-2175,2201,2243-2244,2246-2247,2278-2279,2281,2284-2287,2314-2316,2337-2339,2341-2342,2361-2367,2387-2389,2391-2392,2414-2418,2420-2425,2456-2457,2475-2481,2503-2504,2522-2528,2658
src/pybind11/data/stability_result.cpp       112      112   100%
src/pybind11/data/structure.cpp              199      184    92%   69,72,75-78,82-84,87,90-91,969,977,999
src/pybind11/data/wavefunction.cpp           365      347    95%   39,98,100,264-265,268,272,278,473-477,479,1016,1018,1064,1067
src/pybind11/module.cpp                       50       50   100%
src/pybind11/qdk_scf_config.cpp               12       12   100%
src/pybind11/utils/logger.cpp                191      177    92%   27,54,68-69,92,97-99,105-106,262-263,476,480
src/pybind11/utils/model_hamiltonians.cpp
                                              62       62   100%
src/pybind11/utils/orbital_rotation.cpp        7        7   100%
src/pybind11/utils/valence_space.cpp           6        6   100%
------------------------------------------------------------------------------
TOTAL                                       4722     4083    86%
------------------------------------------------------------------------------

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR introduces nuclear-derivative functionality (energy + nuclear gradients, with optional Hessians) across the C++ core and Python API, including data containers, algorithm implementations (finite-difference + QDK analytic-gradient path), pybind11 bindings, and accompanying tests.

Changes:

  • Add NuclearGradients and NuclearHessian DataClass types with JSON/HDF5 serialization and Python bindings.
  • Add NuclearDerivativeCalculator algorithms (finite-difference and QDK analytic gradient) plus factory registration/exposure in Python and C++.
  • Extend the internal SCF backend to optionally return analytic nuclear gradients and implement ERI gradient support in LIBINT2_DIRECT.

Reviewed changes

Copilot reviewed 24 out of 24 changed files in this pull request and generated 4 comments.

Show a summary per file
File Description
python/tests/test_nuclear_derivative.py Adds Python tests for new nuclear-derivative data types and factory registration.
python/src/qdk_chemistry/data/init.py Exposes NuclearGradients / NuclearHessian in the public Python data API.
python/src/qdk_chemistry/algorithms/registry.py Registers NuclearDerivativeCalculatorFactory in the Python algorithm registry.
python/src/qdk_chemistry/algorithms/nuclear_derivative.py Adds public Python re-export module for nuclear derivative calculators.
python/src/qdk_chemistry/algorithms/init.py Re-exports the new nuclear derivative calculator classes from qdk_chemistry.algorithms.
python/src/pybind11/module.cpp Wires new pybind11 binders for gradients, Hessian, and nuclear derivative algorithms.
python/src/pybind11/data/nuclear_gradients.cpp Implements Python bindings for NuclearGradients.
python/src/pybind11/data/nuclear_hessian.cpp Implements Python bindings for NuclearHessian.
python/src/pybind11/algorithms/nuclear_derivative.cpp Implements Python bindings + factory binding for nuclear derivative calculators.
python/CMakeLists.txt Adds new pybind11 source files to the Python extension build.
cpp/tests/test_nuclear_derivative.cpp Adds C++ tests for data round-trips and analytic vs numeric gradient behavior.
cpp/src/qdk/chemistry/data/nuclear_gradients.cpp Implements NuclearGradients storage and (JSON/HDF5) serialization.
cpp/src/qdk/chemistry/data/nuclear_hessian.cpp Implements NuclearHessian storage and (JSON/HDF5) serialization.
cpp/src/qdk/chemistry/data/CMakeLists.txt Adds new data sources to the C++ library build.
cpp/src/qdk/chemistry/algorithms/nuclear_derivative.cpp Implements finite-difference and QDK analytic nuclear-derivative calculators and factory registration.
cpp/src/qdk/chemistry/algorithms/microsoft/scf/src/eri/LIBINT2_DIRECT/libint2_direct.cpp Adds ERI gradient implementation and RSX-related exchange handling.
cpp/src/qdk/chemistry/algorithms/microsoft/scf.hpp Adds SCF result type returning optional analytic nuclear gradients.
cpp/src/qdk/chemistry/algorithms/microsoft/scf.cpp Adds run_with_analytic_gradient() and plumbs gradient retrieval via SCF config.
cpp/src/qdk/chemistry/algorithms/CMakeLists.txt Adds new algorithm source to the C++ library build.
cpp/src/qdk/chemistry/algorithms/algorithm_defaults.cpp Registers defaults init for NuclearDerivativeCalculatorFactory.
cpp/include/qdk/chemistry/data/nuclear_gradients.hpp Adds public header for NuclearGradients.
cpp/include/qdk/chemistry/data/nuclear_hessian.hpp Adds public header for NuclearHessian.
cpp/include/qdk/chemistry/algorithms/nuclear_derivative.hpp Adds public header for nuclear derivative calculators + settings/factory.
cpp/include/qdk/chemistry.hpp Adds umbrella-header exports for new data/algorithm types.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread cpp/src/qdk/chemistry/algorithms/microsoft/scf.cpp
Comment thread cpp/src/qdk/chemistry/data/nuclear_gradients.cpp
Comment thread cpp/src/qdk/chemistry/algorithms/nuclear_derivative.cpp
Comment thread cpp/src/qdk/chemistry/algorithms/nuclear_derivative.cpp
@nabbelbabbel nabbelbabbel added the ready-to-review A PR that is ready to be reviewed label Jun 5, 2026
Comment thread cpp/include/qdk/chemistry/algorithms/nuclear_derivative.hpp
Comment thread cpp/include/qdk/chemistry/algorithms/nuclear_derivative.hpp Outdated
Comment thread cpp/include/qdk/chemistry/data/nuclear_gradients.hpp Outdated
Comment thread cpp/include/qdk/chemistry/data/nuclear_gradients.hpp Outdated
Comment thread cpp/include/qdk/chemistry/data/nuclear_hessian.hpp Outdated
Comment thread cpp/include/qdk/chemistry/data/nuclear_hessian.hpp Outdated
Comment thread cpp/src/qdk/chemistry/algorithms/nuclear_derivative.cpp
Comment thread cpp/src/qdk/chemistry/algorithms/nuclear_derivative.cpp Outdated
Comment thread cpp/tests/test_nuclear_derivative.cpp Outdated
Comment thread cpp/tests/test_nuclear_derivative.cpp
Copilot AI review requested due to automatic review settings June 5, 2026 19:36

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 26 out of 26 changed files in this pull request and generated 3 comments.

Comment thread cpp/src/qdk/chemistry/algorithms/nuclear_derivative.cpp Outdated
Comment thread cpp/tests/test_nuclear_derivative.cpp
Comment thread cpp/tests/test_nuclear_derivative.cpp
Copilot AI review requested due to automatic review settings June 5, 2026 19:47

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 26 out of 26 changed files in this pull request and generated 4 comments.

Comment thread cpp/src/qdk/chemistry/algorithms/nuclear_derivative.cpp
Comment thread cpp/src/qdk/chemistry/algorithms/nuclear_derivative.cpp Outdated
Comment thread cpp/src/qdk/chemistry/algorithms/microsoft/scf.hpp
Comment thread cpp/tests/test_nuclear_derivative.cpp
Copilot AI review requested due to automatic review settings June 6, 2026 16:06

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 30 out of 30 changed files in this pull request and generated 1 comment.

Jan Unsleber added 2 commits June 6, 2026 18:43
Copilot AI review requested due to automatic review settings June 6, 2026 21:05

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 30 out of 30 changed files in this pull request and generated 3 comments.

Comment thread cpp/tests/ut_common.hpp
Comment thread cpp/tests/test_nuclear_derivative.cpp
Comment thread cpp/src/qdk/chemistry/algorithms/nuclear_derivative.cpp
Copilot AI review requested due to automatic review settings June 25, 2026 15:26

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 30 out of 30 changed files in this pull request and generated 4 comments.

Comment thread cpp/src/qdk/chemistry/algorithms/nuclear_derivative.cpp Outdated
Comment thread cpp/src/qdk/chemistry/algorithms/nuclear_derivative.cpp
Comment thread cpp/tests/test_nuclear_derivative.cpp Outdated
Comment thread cpp/tests/test_nuclear_derivative.cpp Outdated
Copilot AI review requested due to automatic review settings June 26, 2026 09:36

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 30 out of 30 changed files in this pull request and generated no new comments.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request ready-to-review A PR that is ready to be reviewed

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants