diff --git a/README.html b/README.html index ff733a59..9342aacc 100644 --- a/README.html +++ b/README.html @@ -3,7 +3,7 @@ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
- +The latest version fo QMCkl can be downloaded @@ -384,8 +384,8 @@
QMCkl is built with GNU Autotools, so the usual @@ -400,8 +400,8 @@
To compile from the source repository, additional dependencies are @@ -422,8 +422,8 @@
The qmckl.h
header file installed in the ${prefix}/include
directory
@@ -452,12 +452,12 @@
In a traditional source code, most of the lines of source files of a program @@ -507,8 +507,8 @@
For a tutorial on literate programming with org-mode, follow this link. @@ -539,8 +539,8 @@
Most of the codes of the TREX CoE are written in Fortran with some @@ -604,8 +604,8 @@
The authors should follow the recommendations of the C99 @@ -625,8 +625,8 @@
The proposed API should allow the library to: deal with memory transfers @@ -637,8 +637,8 @@
To avoid namespace collisions, we use qmckl_
as a prefix for all exported
@@ -659,8 +659,8 @@
In the C language, the number of bits used by the integer types can change @@ -692,15 +692,15 @@
Global variables should be avoided in the library, because it is
possible that one single program needs to use multiple instances
of the library. To solve this problem we propose to use a pointer
to a context
variable, built by the library with the
-qmckl_context_create
function. The =context= contains the global
+qmckl_context_create
function. The =context= contains the global
state of the library, and is used as the first argument of many
QMCkl functions.
A single qmckl.h
header to be distributed by the library
@@ -803,8 +803,8 @@
Low-level functions are very simple functions which are leaves of @@ -813,14 +813,14 @@
These functions are pure, and unaware of the QMCkl
-context
. They are not allowed to allocate/deallocate memory, and
+context
. They are not allowed to allocate/deallocate memory, and
if they need temporary memory it should be provided in input.
High-level functions are at the top of the function call tree. @@ -832,8 +832,8 @@
The minimal number of bits of precision required for a function @@ -841,7 +841,7 @@
context
variable.
+specified in the context
variable.
@@ -909,8 +909,8 @@
Reducing the scaling of an algorithm usually implies also reducing @@ -926,7 +926,7 @@
The atomic basis set is defined as a list of shells. Each shell \(s\) is @@ -463,19 +463,19 @@
The following arrays are stored in the context, and need to be set when initializing the library:
-When the basis set is completely entered, extra data structures may be @@ -1510,8 +1510,8 @@
For faster access, we provide extra arrays for the shell information as: @@ -1541,8 +1541,8 @@
qmckl_exit_code @@ -1555,7 +1555,7 @@2.2.3 Access functions
Returns the array of values, gradients an Laplacian of primitive basis functions evaluated at the current coordinates. -See section 3.2. +See section 3.2.
@@ -1568,7 +1568,7 @@-2.2.3 Access functions
Returns the array of values, gradients an Laplacian of contracted shells -evaluated at the current coordinates. See section 3.3. +evaluated at the current coordinates. See section 3.3.
@@ -1582,7 +1582,7 @@2.2.3 Access functions
Returns the array of values, gradients an Laplacian of the atomic orbitals evaluated at the current coordinates. -See section 5. +See section 5.
@@ -1607,7 +1607,7 @@
2.2.3 Access functions
Returns the array of values of the atomic orbitals evaluated at -the current coordinates. See section 5. +the current coordinates. See section 5.
@@ -1626,12 +1626,12 @@
2.2.3 Access functions
-3 Radial part
++3 Radial part
--3.1 General functions for Gaussian basis functions
++-3.1 General functions for Gaussian basis functions
qmckl_ao_gaussian_vgl
computes the values, gradients and @@ -1805,10 +1805,10 @@3.1 General functions
-3.2 Computation of primitives
++3.2 Computation of primitives
-+
@@ -1968,10 +1968,10 @@ 3.2 Computation of pri -
-3.3 Computation of shells
++3.3 Computation of shells
-+
@@ -2227,8 +2227,8 @@ 3.3 Computation of she -
-4 Polynomial part
++4 Polynomial part
-Going from the atomic basis set to AOs implies a systematic @@ -2248,8 +2248,8 @@
4 Polynomial part
\end{eqnarray}-4.1 General functions for Powers of \(x-X_i\)
++4.1 General functions for Powers of \(x-X_i\)
The
qmckl_ao_power
function computes all the powers of then
@@ -2261,7 +2261,7 @@4.1 General functions \[ P_{ik} = X_i^k \] -
+
@@ -2404,8 +2404,8 @@ 4.1 General functions -
-4.2 General functions for Value, Gradient and Laplacian of a polynomial
++4.2 General functions for Value, Gradient and Laplacian of a polynomial
A polynomial is centered on a nucleus \(\mathbf{R}_i\) @@ -2450,7 +2450,7 @@
4.2 General functions angular momentum up to
lmax
. -+
@@ -3245,18 +3245,18 @@ 4.2 General functions -
-5 Combining radial and polynomial parts
++5 Combining radial and polynomial parts
--5.1 Values only
++5.1 Values only
--5.1.1 Unoptimized version
++5.1.1 Unoptimized version
-+
@@ -3496,10 +3496,10 @@ 5.1.1 Unoptimized vers -
-5.1.2 HPC version
++5.1.2 HPC version
-+
@@ -3657,8 +3657,8 @@ 5.1.2 HPC version
--5.1.3 Interfaces
++5.1.3 Interfaces
-qmckl_exit_code qmckl_compute_ao_value_doc ( @@ -3707,14 +3707,14 @@5.1.3 Interfaces
-5.2 Value, gradients, Laplacian
++5.2 Value, gradients, Laplacian
--5.2.1 Reference version
++5.2.1 Reference version
-+
@@ -3982,10 +3982,10 @@ 5.2.1 Reference versio -
-5.2.2 HPC version
++5.2.2 HPC version
-+
@@ -4144,8 +4144,8 @@ 5.2.2 HPC version
--5.2.3 Interfaces
++5.2.3 Interfaces
-diff --git a/qmckl_blas.html b/qmckl_blas.html index be68eee0..498dc2b0 100644 --- a/qmckl_blas.html +++ b/qmckl_blas.html @@ -3,7 +3,7 @@ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> - + -qmckl_exit_code qmckl_compute_ao_vgl_doc ( @@ -4197,7 +4197,7 @@5.2.3 Interfaces
BLAS functions @@ -346,56 +346,56 @@BLAS functions
Table of Contents
-
- -
-- 1. Data types +
- -
+- 1. Data types
--
- 1.1. Vector
-- 1.2. Matrix
-- 1.3. Tensor
-- 1.4. Reshaping +
- 1.1. Vector
+- 1.2. Matrix
+- 1.3. Tensor
+- 1.4. Reshaping
-- 1.5. Access macros
-- 1.6. Set all elements +
- 1.5. Access macros
+- 1.6. Set all elements
-- 1.7. Copy to/from to
-double*
- 1.8. Allocate and copy to
+double*
- 1.7. Copy to/from to
+double*
- 1.8. Allocate and copy to
double*
- 2. Matrix operations +
- 2. Matrix operations
-- 3. Utilities
+- 3. Utilities
--
-++--
+Basic linear algebra data types and operations are described in this file. The data types are private, so that HPC implementations can use @@ -409,12 +409,12 @@
-
-1 Data types
++1 Data types
--1.1 Vector
++1.1 Vector
@@ -468,8 +468,8 @@
1.1 Vector
--1.2 Matrix
++1.2 Matrix
@@ -529,8 +529,8 @@
1.2 Matrix
--1.3 Tensor
++1.3 Tensor
@@ -597,16 +597,16 @@
1.3 Tensor
--1.4 Reshaping
++1.4 Reshaping
-Reshaping occurs in-place and the pointer to the data is copied.
-1.4.1 Vector -> Matrix
++1.4.1 Vector -> Matrix
-qmckl_matrix @@ -622,8 +622,8 @@1.4.1 Vector -> Mat
-1.4.2 Vector -> Tensor
++1.4.2 Vector -> Tensor
-qmckl_tensor @@ -639,8 +639,8 @@1.4.2 Vector -> Ten
-1.4.3 Matrix -> Vector
++1.4.3 Matrix -> Vector
-qmckl_vector @@ -654,8 +654,8 @@1.4.3 Matrix -> Vec
-1.4.4 Matrix -> Tensor
++1.4.4 Matrix -> Tensor
-qmckl_tensor @@ -671,8 +671,8 @@1.4.4 Matrix -> Ten
-1.4.5 Tensor -> Vector
++1.4.5 Tensor -> Vector
-qmckl_vector @@ -686,8 +686,8 @@1.4.5 Tensor -> Vec
-1.4.6 Tensor -> Matrix
++1.4.6 Tensor -> Matrix
-qmckl_matrix @@ -704,8 +704,8 @@1.4.6 Tensor -> Mat
-1.5 Access macros
++-1.5 Access macros
Macros are provided to ease the access to vectors, matrices and @@ -730,12 +730,12 @@
1.5 Access macros
-1.6 Set all elements
++1.6 Set all elements
--1.6.1 Vector
++1.6.1 Vector
-qmckl_vector @@ -745,8 +745,8 @@1.6.1 Vector
-1.6.2 Matrix
++1.6.2 Matrix
-qmckl_matrix @@ -756,8 +756,8 @@1.6.2 Matrix
-1.6.3 Tensor
++1.6.3 Tensor
-qmckl_tensor @@ -768,8 +768,8 @@1.6.3 Tensor
-1.7 Copy to/from to
+double*
+1.7 Copy to/from to
double*
-qmckl_exit_code @@ -851,8 +851,8 @@1.7 Copy to/from to
-1.8 Allocate and copy to
+double*
+1.8 Allocate and copy to
double*
-double* qmckl_alloc_double_of_vector(const qmckl_context context, @@ -876,12 +876,12 @@1.8 Allocate and copy
-2 Matrix operations
++2 Matrix operations
--2.1
+qmckl_dgemm
+2.1
qmckl_dgemm
Matrix multiplication with a BLAS interface: @@ -893,7 +893,7 @@
2.1
qmckl_dgemm< \] -
+
@@ -1052,8 +1052,8 @@ 2.1
qmckl_dgemm< -
-2.2
+qmckl_dgemm_safe
+2.2
qmckl_dgemm_safe
"Size-safe" proxy function with the same functionality as
qmckl_dgemm
@@ -1062,7 +1062,7 @@2.2
qmckl_dgemm_ NumPy arrays implies that sizes of the input and output arrays are provided. -
+
@@ -1248,8 +1248,8 @@ 2.2
qmckl_dgemm_ -
-2.3
+qmckl_matmul
+2.3
qmckl_matmul
Matrix multiplication using the
qmckl_matrix
data type: @@ -1261,7 +1261,7 @@2.3
qmckl_matmul \] -
+
@@ -1355,8 +1355,8 @@ 2.3
qmckl_matmul -
-2.4
+qmckl_adjugate
+2.4
qmckl_adjugate
Given a matrix \(\mathbf{A}\), the adjugate matrix @@ -1374,7 +1374,7 @@
2.4
qmckl_adjuga See also: https://en.wikipedia.org/wiki/Adjugate_matrix -
+
@@ -1570,8 +1570,8 @@ 2.4
qmckl_adjuga -
-2.5
+qmckl_adjugate_safe
+2.5
qmckl_adjugate_safe
"Size-safe" proxy function with the same functionality as
qmckl_adjugate
@@ -1581,7 +1581,7 @@2.5
qmckl_adjuga -
+
-
@@ -1703,13 +1703,13 @@ 2.5
qmckl_adjuga -
--2.5.1 C interface
++2.5.1 C interface
-2.6
+qmckl_transpose
+-2.6
qmckl_transpose
Transposes a matrix: \(A^\dagger_{ji} = A_{ij}\). @@ -1770,8 +1770,8 @@
2.6
qmckl_transp
-3 Utilities
++-3 Utilities
diff --git a/qmckl_context.html b/qmckl_context.html index 29905543..60ac668e 100644 --- a/qmckl_context.html +++ b/qmckl_context.html @@ -3,7 +3,7 @@ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> - + -Trick to make MKL efficient on AMD @@ -1789,7 +1789,7 @@
3 Utilities
Context @@ -324,21 +324,21 @@Context
Table of Contents
-1 Context handling
++1 Context handling
-The context variable is a handle for the state of the library, @@ -351,7 +351,7 @@
1 Context handling
-@@ -369,8 +369,8 @@typedef int64_t qmckl_context ; +typedef int64_t qmckl_context ; #define QMCKL_NULL_CONTEXT (qmckl_context) 01 Context handling
-1.1 Data structure
++1.1 Data structure
-The qmcklextra pointer lets the other implementation of the library @@ -406,7 +406,7 @@
1.1 Data structure
When a new element is added to the context, the functions -qmckl_context_create
qmckl_context_destroy
andqmckl_context_copy
+qmckl_context_create
qmckl_context_destroy
andqmckl_context_copy
should be updated in order to make deep copies. @@ -427,8 +427,8 @@1.1 Data structure
--1.2 Creation
++1.2 Creation
To create a new context,
qmckl_context_create()
should be used. @@ -445,8 +445,8 @@1.2 Creation
--1.3 Locking
++1.3 Locking
For thread safety, the context may be locked/unlocked. The lock is @@ -462,8 +462,8 @@
1.3 Locking
-1.4 TODO Copy
++1.4 TODO Copy
qmckl_context_copy
makes a deep copy of a context. It returns @@ -471,8 +471,8 @@1.4 -
1.5 Destroy
++-1.5 Destroy
diff --git a/qmckl_determinant.html b/qmckl_determinant.html index a62fa9a8..b57c9c42 100644 --- a/qmckl_determinant.html +++ b/qmckl_determinant.html @@ -3,7 +3,7 @@ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> - + -The context is destroyed with
qmckl_context_destroy
, leaving the ancestors untouched. @@ -490,7 +490,7 @@1.5 Destroy
Slater Determinant @@ -324,32 +324,32 @@Slater Determinant
Table of Contents
-
- 1. Context +
- 1. Context
-- 2. Computation +
- 2. Computation
-
@@ -358,8 +358,8 @@- 2.1. Determinant matrix +
- 2.1. Determinant matrix
-- 2.2. Inverse of Determinant matrix +
- 2.2. Inverse of Determinant matrix
Table of Contents
-1 Context
++1 Context
The following arrays are stored in the context: @@ -535,8 +535,8 @@
1 Context
-1.1 Data structure
++1.1 Data structure
-typedef struct qmckl_determinant_struct { @@ -604,8 +604,8 @@1.1 Data structure
-1.2 Access functions
++-1.2 Access functions
When all the data for the slater determinants have been provided, the following @@ -619,8 +619,8 @@
1.2 Access functions
-1.3 Initialization functions
++-1.3 Initialization functions
To set the basis set, all the following functions need to be @@ -643,24 +643,24 @@
1.3 Initialization fun
-1.4 Fortran Interfaces
++-1.4 Fortran Interfaces
--1.5 Test
++1.5 Test
-2 Computation
++2 Computation
--2.1 Determinant matrix
++2.1 Determinant matrix
--2.1.1 Get
++2.1.1 Get
-qmckl_exit_code qmckl_get_det_vgl_alpha(qmckl_context context, double* const det_vgl_alpha); @@ -670,14 +670,14 @@2.1.1 Get
-2.1.2 Provide
++-2.1.2 Provide
-2.1.3 Compute alpha
++2.1.3 Compute alpha
-+
@@ -851,10 +851,10 @@ 2.1.3 Compute alpha -
-2.1.4 Compute beta
++2.1.4 Compute beta
-+
@@ -1028,18 +1028,18 @@ 2.1.4 Compute beta
---2.1.5 Test
++2.1.5 Test
-2.2 Inverse of Determinant matrix
++2.2 Inverse of Determinant matrix
--2.2.1 Get
++2.2.1 Get
-qmckl_exit_code qmckl_get_det_inv_matrix_alpha(qmckl_context context, double* const det_inv_matrix_alpha); @@ -1053,14 +1053,14 @@2.2.1 Get
-2.2.2 Provide
++-2.2.2 Provide
-2.2.3 Compute alpha
++2.2.3 Compute alpha
-+
@@ -1222,10 +1222,10 @@ 2.2.3 Compute alpha -
-2.2.4 Compute beta
++2.2.4 Compute beta
-+
@@ -1392,7 +1392,7 @@ 2.2.4 Compute beta
diff --git a/qmckl_distance.html b/qmckl_distance.html index 573e5311..50bb21b4 100644 --- a/qmckl_distance.html +++ b/qmckl_distance.html @@ -3,7 +3,7 @@ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> - + -Inter-particle distances @@ -346,54 +346,54 @@Inter-particle distances
Table of Contents
--1 Squared distance
++1 Squared distance
--1.1
+qmckl_distance_sq
+1.1
qmckl_distance_sq
qmckl_distance_sq
computes the matrix of the squared distances @@ -406,7 +406,7 @@1.1
qmckl_distan \] -
+
@@ -679,8 +679,8 @@ 1.1
qmckl_distan -
-