Printing sigma tensors from cceom

I want to print single and double sigma tensors from cceom module using libdpd. How can i print this term for each root?

Best regards.

Is this a question about where in the code, or how to print it?

There are file2_print and file4_print` functions to print 2/4 index matrices.
Usage example can be found e.g here:

Not sure where exactly the quantities are you need.

Thank you so much for your quick response. This example will be very useful. Does this line look like as follows? Otherwise I get many errors during compilation. I hope this is true.

global_dpd_->file2_init(&CME, PSIF_EOM_CME, C_irr, 0, 1, lbl);
global_dpd_->file2_print(&CME, “outfile”);

I think these two lines look fine, depending on where you’ve put them in the code and the assignments of variables such as lbl. Are you having compilation problems?

You may have figured this out already from looking at the code, but this may help. The C’s are the right-hand subspace basis vectors in the Davidson algorithm, so the current right-hand eigenvector approximation(s) is/are R_i = alpha_ij * C_j. The S’s are the sigma vectors (Hbar.C). Following a “collapse” or reduction of the subspace to the minimum number of vectors (I think default is 2*the number of roots sought, the C’s are the current approximation of the R’s. Such a collapse is also of course done upon convergence.

You can see for RHF, there is only (SIA, SIjAb), for ROHF/UHF you get all the spin cases.

Thank you so much. I guess the previous version (suggested by mr. hokru) is fine when inside the preproccessors. I just wanted to print the sigma tensors as I don’t need the whole eom_debug mod. I don’t have any compilation problems when I use these two lines. Thank you very much for your interest.

Best regards.

I only pointed to an example of how to print a matrix. You need to find the one you want.