Skip to content

[pull] master from MRChemSoft:master#54

Open
pull[bot] wants to merge 51 commits into
stigrj:masterfrom
MRChemSoft:master
Open

[pull] master from MRChemSoft:master#54
pull[bot] wants to merge 51 commits into
stigrj:masterfrom
MRChemSoft:master

Conversation

@pull

@pull pull Bot commented Mar 10, 2025

Copy link
Copy Markdown

See Commits and Changes for more details.


Created by pull[bot] (v2.0.0-alpha.1)

Can you help keep this open source service alive? 💖 Please sponsor : )

@pull pull Bot added the ⤵️ pull label Mar 10, 2025
gitpeterwind and others added 22 commits November 18, 2025 14:39
* Copy CompFunction into complex type

* Copy OrbitalVector into complex type

* make real density from complex CompFunction

* remove deprecated warning

* allow Ncomp()=0 in add
Allow to add a Real and a Complex CompFunction
* removed all warnings; tested with clang21 on macOS 26 on M4 processor

* fixed failing tests

* included suggestion; fix for compiling mrchem+mrcpp on mac
* added possibility for population analysis based on grid

* minor cleanup

* also works if rootBox is not centered around 0,0,0

* moved documentation; added small unit test

* renamed the new integrate function for more clarity

* fixed test
* added compile scripts for Saga, Betzy and Olivia, similar to those for MRChem

* updated versions in saga.env

* make unit tests work in the compile scripts

---------

Co-authored-by: Niklas Göllmann <ngoel@uan02.head.cm.americas.sgi.com>
Small refactoring of the CopyTreeToComplex and CopyTreeToReal methods.

Generalized for D=1,2,3
Changed the signature
To be done:
switch from raw pointers to unique_pointers but this requires a refactoring of CompFunction

* Generalizes CopyTreeToComplex and CopyTreeToReal
* Updates all calls of CopyTreeToComplex
* Adds instantiations of CopyTreeToComplex and CopyTreeToReal
* Adds missing flag settings and pointer deletions after CopyTreeToComplex
Adds constructor of complex function tree from two real function trees, passed as input to the constructor.

The new constructor uses SFINAE to make sure it is defined only for CompexDouble as the second template parameter

The current solution is not ideal as it relies on a pre-existing function, which converted a real tree to a (real part only) complex tree. Ideally this part should be incorporated in the constructor and the operation a+ib carried node-by-node in the constructor directly.

It also provides a test file for the FunctionTreeconstructors.

Minor fixes:
* Updates all calls of CopyTreeToComplex
* Adds missing flag settings and pointer deletions after CopyTreeToComplex
* Fixes failing test for Complex FunctionTree
- reintroduced CopyToComplex in CompFunction
- fixed small bugs in CompFunction regarding deletion of real trees
- added license headers to CompFunction.h/cpp

This fixes compilation with MRChem, as well as two failing tests in
MRChem.
…284)

Forgot one template line in #283, added it here.
This version compiles now with current MRChem master.
Function mapping for complex-valued functions.

It is now possible to compose functions g(f(x)) where 
x belongs to R^d (d=1, 2, 3)
f(x) is either a function from R^d to R or from R^d to C (complex-valued)
g(f) is either a mapping from R to R or from C to C
it is not currently possible to map from R to C or from C to R.

Note: "mrcpp::map" has been renamed throughout to "mrcpp::treeMap" to make the name more mrcpp-specific and to avoid confusion with  std::map.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

8 participants