Localized Orbital Scaling Correction (LOSC) C library
local_occupation.h File Reference

The C interface for LOSC local occupation number. More...

#include <c_losc/matrix.h>
#include <stddef.h>

Go to the source code of this file.

Functions

losc_matrix * losc_local_occupation (const losc_matrix *C_lo, const losc_matrix *S, const losc_matrix *D)
 Create the local occupation matrix. More...
 

Detailed Description

The C interface for LOSC local occupation number.

Function Documentation

losc_matrix* losc_local_occupation ( const losc_matrix *  C_lo,
const losc_matrix *  S,
const losc_matrix *  D 
)

Create the local occupation matrix.

Parameters
[in]C_loLO coefficient matrix with dimension [nbasis, nlo].
[in]SAO overlap matrix with dimension [nbasis, nbasis].
[in]DSpin density matrix under AO with dimension [nbasis, nbasis].
Returns
Create a local occupation matrix with dimension [nlo, nlo] and return the pointer.
See also
LoscLocalizerBase.lo: Obtain the LOs' coefficient matrix.
Note
The local occupation matrix is defined as \(\displaystyle \lambda_{ij} = \langle \phi_i|\rho|\phi_j \rangle \), where \( \lambda_{ij} \) is the local occupation matrix element, \( \phi_i \) and \( \phi_j \) are the i-th and j-th localized orbital and \( \rho \) is the spin density operator. In matrix form, local occupation matrix \( L \) is expressed as \( L = C_{\rm{LO}}^T S D S C_{\rm{LO}} \).