diff --git a/adcc/__init__.py b/adcc/__init__.py index 71e94346..40f540af 100644 --- a/adcc/__init__.py +++ b/adcc/__init__.py @@ -47,7 +47,8 @@ # This has to be the last set of import from .guess import (guess_symmetries, guess_zero, guesses_any, guesses_singlet, guesses_spin_flip, guesses_triplet) -from .workflow import run_adc +from .workflow import (run_adc, validate_state_parameters, estimate_n_guesses, + diagonalise_adcmatrix, obtain_guesses_by_inspection) from .exceptions import InputError __all__ = ["run_adc", "InputError", "AdcMatrix", "AdcBlockView", @@ -63,7 +64,8 @@ "guess_symmetries", "guesses_spin_flip", "guess_zero", "LazyMp", "adc0", "cis", "adc1", "adc2", "adc2x", "adc3", "cvs_adc0", "cvs_adc1", "cvs_adc2", "cvs_adc2x", "cvs_adc3", - "banner"] + "banner", "validate_state_parameters", "estimate_n_guesses", + "diagonalise_adcmatrix", "obtain_guesses_by_inspection"] __version__ = "0.15.17" __license__ = "GPL v3" diff --git a/adcc/workflow.py b/adcc/workflow.py index a290032e..8570cc66 100644 --- a/adcc/workflow.py +++ b/adcc/workflow.py @@ -39,7 +39,8 @@ from .solver.explicit_symmetrisation import (IndexSpinSymmetrisation, IndexSymmetrisation) -__all__ = ["run_adc"] +__all__ = ["run_adc", "validate_state_parameters", "estimate_n_guesses", + "obtain_guesses_by_inspection", "diagonalise_adcmatrix"] def run_adc(data_or_matrix, n_states=None, kind="any", conv_tol=None, diff --git a/libadcc/pyiface/export_Tensor.cc b/libadcc/pyiface/export_Tensor.cc index ecff8ac7..a6eccb24 100644 --- a/libadcc/pyiface/export_Tensor.cc +++ b/libadcc/pyiface/export_Tensor.cc @@ -17,6 +17,7 @@ // along with adcc. If not, see . // +#include "../AdcMemory.hh" #include "../Tensor.hh" #include "../exceptions.hh" #include "util.hh" @@ -346,6 +347,13 @@ static py::object Tensor___repr__(const Tensor& self) { return Tensor___str__(self); } +static ten_ptr init_1d_tensor(const py::int_ len, + std::shared_ptr adcmem_ptr) { + // Note, that this function sets up the array without symmetry + std::vector ax{{"x", len}}; + return make_tensor(adcmem_ptr, ax); +} + // // Operations with a scalar // @@ -540,6 +548,7 @@ void export_Tensor(py::module& m) { m.def("trace", &Tensor_trace_2, "tensor"_a); m.def("linear_combination_strict", &linear_combination_strict, "coefficients"_a, "tensors"_a); + m.def("init_1d_tensor", &init_1d_tensor, "len"_a, "adcmem_ptr"_a); } } // namespace libadcc