@@ -85,7 +85,8 @@ def test_evaluate_density(screen_basis, tol_screen):
8585
8686@pytest .mark .parametrize ("screen_basis" , [True , False ])
8787@pytest .mark .parametrize ("tol_screen" , [1e-8 ])
88- def test_evaluate_deriv_density (screen_basis , tol_screen ):
88+ @pytest .mark .parametrize ("deriv_type" , ["general" , "direct" ])
89+ def test_evaluate_deriv_density (screen_basis , tol_screen , deriv_type ):
8990 """Test gbasis.evals.density.evaluate_deriv_density."""
9091 basis_dict = parse_nwchem (find_datafile ("data_sto6g.nwchem" ))
9192 basis = make_contractions (basis_dict , ["Kr" ], np .array ([[0 , 0 , 0 ]]), "spherical" )
@@ -102,6 +103,7 @@ def test_evaluate_deriv_density(screen_basis, tol_screen):
102103 basis ,
103104 points ,
104105 transform ,
106+ deriv_type = deriv_type ,
105107 screen_basis = screen_basis ,
106108 tol_screen = tol_screen ,
107109 ),
@@ -128,6 +130,7 @@ def test_evaluate_deriv_density(screen_basis, tol_screen):
128130 basis ,
129131 points ,
130132 transform ,
133+ deriv_type = deriv_type ,
131134 screen_basis = screen_basis ,
132135 tol_screen = tol_screen ,
133136 ),
@@ -153,6 +156,7 @@ def test_evaluate_deriv_density(screen_basis, tol_screen):
153156 basis ,
154157 points ,
155158 transform ,
159+ deriv_type = deriv_type ,
156160 screen_basis = screen_basis ,
157161 tol_screen = tol_screen ,
158162 ),
@@ -178,6 +182,7 @@ def test_evaluate_deriv_density(screen_basis, tol_screen):
178182 basis ,
179183 points ,
180184 transform ,
185+ deriv_type = deriv_type ,
181186 screen_basis = screen_basis ,
182187 tol_screen = tol_screen ,
183188 ),
@@ -269,7 +274,8 @@ def test_evaluate_deriv_density(screen_basis, tol_screen):
269274
270275@pytest .mark .parametrize ("screen_basis" , [True , False ])
271276@pytest .mark .parametrize ("tol_screen" , [1e-8 ])
272- def test_evaluate_density_gradient (screen_basis , tol_screen ):
277+ @pytest .mark .parametrize ("deriv_type" , ["general" , "direct" ])
278+ def test_evaluate_density_gradient (screen_basis , tol_screen , deriv_type ):
273279 """Test gbasis.evals.density.evaluate_density_gradient."""
274280 basis_dict = parse_nwchem (find_datafile ("data_sto6g.nwchem" ))
275281 basis = make_contractions (basis_dict , ["Kr" ], np .array ([[0 , 0 , 0 ]]), "spherical" )
@@ -280,7 +286,13 @@ def test_evaluate_density_gradient(screen_basis, tol_screen):
280286
281287 np .allclose (
282288 evaluate_density_gradient (
283- density , basis , points , transform , screen_basis = screen_basis , tol_screen = tol_screen
289+ density ,
290+ basis ,
291+ points ,
292+ transform ,
293+ deriv_type = deriv_type ,
294+ screen_basis = screen_basis ,
295+ tol_screen = tol_screen ,
284296 ).T ,
285297 np .array (
286298 [
@@ -360,7 +372,8 @@ def test_evaluate_density_horton(screen_basis, tol_screen):
360372
361373@pytest .mark .parametrize ("screen_basis" , [True , False ])
362374@pytest .mark .parametrize ("tol_screen" , [1e-8 ])
363- def test_evaluate_density_gradient_horton (screen_basis , tol_screen ):
375+ @pytest .mark .parametrize ("deriv_type" , ["general" , "direct" ])
376+ def test_evaluate_density_gradient_horton (screen_basis , tol_screen , deriv_type ):
364377 """Test gbasis.evals.density.evaluate_density_gradient against result from HORTON.
365378
366379 The test case is diatomic with H and He separated by 0.8 angstroms with basis set ANO-RCC.
@@ -394,7 +407,8 @@ def test_evaluate_density_gradient_horton(screen_basis, tol_screen):
394407
395408@pytest .mark .parametrize ("screen_basis" , [True , False ])
396409@pytest .mark .parametrize ("tol_screen" , [1e-8 ])
397- def test_evaluate_hessian_deriv_horton (screen_basis , tol_screen ):
410+ @pytest .mark .parametrize ("deriv_type" , ["general" , "direct" ])
411+ def test_evaluate_hessian_deriv_horton (screen_basis , tol_screen , deriv_type ):
398412 """Test gbasis.evals.density.evaluate_density_hessian against result from HORTON.
399413
400414 The test case is diatomic with H and He separated by 0.8 angstroms with basis set ANO-RCC.
@@ -424,6 +438,7 @@ def test_evaluate_hessian_deriv_horton(screen_basis, tol_screen):
424438 basis ,
425439 grid_3d ,
426440 np .identity (88 ),
441+ deriv_type = deriv_type ,
427442 screen_basis = screen_basis ,
428443 tol_screen = tol_screen ,
429444 ),
@@ -434,7 +449,8 @@ def test_evaluate_hessian_deriv_horton(screen_basis, tol_screen):
434449
435450@pytest .mark .parametrize ("screen_basis" , [True , False ])
436451@pytest .mark .parametrize ("tol_screen" , [1e-8 ])
437- def test_evaluate_laplacian_deriv_horton (screen_basis , tol_screen ):
452+ @pytest .mark .parametrize ("deriv_type" , ["general" , "direct" ])
453+ def test_evaluate_laplacian_deriv_horton (screen_basis , tol_screen , deriv_type ):
438454 """Test gbasis.evals.density.evaluate_density_laplacian against result from HORTON.
439455
440456 The test case is diatomic with H and He separated by 0.8 angstroms with basis set ANO-RCC.
@@ -458,6 +474,7 @@ def test_evaluate_laplacian_deriv_horton(screen_basis, tol_screen):
458474 basis ,
459475 grid_3d ,
460476 np .identity (88 ),
477+ deriv_type = deriv_type ,
461478 screen_basis = screen_basis ,
462479 tol_screen = tol_screen ,
463480 ),
@@ -468,7 +485,8 @@ def test_evaluate_laplacian_deriv_horton(screen_basis, tol_screen):
468485
469486@pytest .mark .parametrize ("screen_basis" , [True , False ])
470487@pytest .mark .parametrize ("tol_screen" , [1e-8 ])
471- def test_evaluate_posdef_kinetic_energy_density (screen_basis , tol_screen ):
488+ @pytest .mark .parametrize ("deriv_type" , ["general" , "direct" ])
489+ def test_evaluate_posdef_kinetic_energy_density (screen_basis , tol_screen , deriv_type ):
472490 """Test evaluate_posdef_kinetic_energy_density against results from HORTON.
473491
474492 The test case is diatomic with H and He separated by 0.8 angstroms with basis set ANO-RCC.
@@ -493,6 +511,7 @@ def test_evaluate_posdef_kinetic_energy_density(screen_basis, tol_screen):
493511 basis ,
494512 grid_3d ,
495513 np .identity (88 ),
514+ deriv_type = deriv_type ,
496515 screen_basis = screen_basis ,
497516 tol_screen = tol_screen ,
498517 )
@@ -502,7 +521,8 @@ def test_evaluate_posdef_kinetic_energy_density(screen_basis, tol_screen):
502521
503522@pytest .mark .parametrize ("screen_basis" , [True , False ])
504523@pytest .mark .parametrize ("tol_screen" , [1e-8 ])
505- def test_evaluate_general_kinetic_energy_density_horton (screen_basis , tol_screen ):
524+ @pytest .mark .parametrize ("deriv_type" , ["general" , "direct" ])
525+ def test_evaluate_general_kinetic_energy_density_horton (screen_basis , tol_screen , deriv_type ):
506526 """Test evaluate_general_kinetic_energy_density against results from HORTON.
507527
508528 The test case is diatomic with H and He separated by 0.8 angstroms with basis set ANO-RCC.
@@ -531,6 +551,7 @@ def test_evaluate_general_kinetic_energy_density_horton(screen_basis, tol_screen
531551 grid_3d ,
532552 0 ,
533553 np .identity (88 ),
554+ deriv_type = deriv_type ,
534555 screen_basis = screen_basis ,
535556 tol_screen = tol_screen ,
536557 ),
@@ -541,7 +562,8 @@ def test_evaluate_general_kinetic_energy_density_horton(screen_basis, tol_screen
541562
542563@pytest .mark .parametrize ("screen_basis" , [True , False ])
543564@pytest .mark .parametrize ("tol_screen" , [1e-8 ])
544- def test_evaluate_general_kinetic_energy_density (screen_basis , tol_screen ):
565+ @pytest .mark .parametrize ("deriv_type" , ["general" , "direct" ])
566+ def test_evaluate_general_kinetic_energy_density (screen_basis , tol_screen , deriv_type ):
545567 """Test density.evaluate_general_kinetic_energy_density."""
546568 basis_dict = parse_nwchem (find_datafile ("data_anorcc.nwchem" ))
547569 points = np .array ([[0 , 0 , 0 ]])
@@ -567,6 +589,7 @@ def test_evaluate_general_kinetic_energy_density(screen_basis, tol_screen):
567589 points ,
568590 1 ,
569591 np .identity (40 ),
592+ deriv_type = deriv_type ,
570593 screen_basis = screen_basis ,
571594 tol_screen = tol_screen ,
572595 ),
0 commit comments