ergo
Main Page
Namespaces
Classes
Files
File List
File Members
matrix_algebra.h
Go to the documentation of this file.
1
/* Ergo, version 3.2, a program for linear scaling electronic structure
2
* calculations.
3
* Copyright (C) 2012 Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek.
4
*
5
* This program is free software: you can redistribute it and/or modify
6
* it under the terms of the GNU General Public License as published by
7
* the Free Software Foundation, either version 3 of the License, or
8
* (at your option) any later version.
9
*
10
* This program is distributed in the hope that it will be useful,
11
* but WITHOUT ANY WARRANTY; without even the implied warranty of
12
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13
* GNU General Public License for more details.
14
*
15
* You should have received a copy of the GNU General Public License
16
* along with this program. If not, see <http://www.gnu.org/licenses/>.
17
*
18
* Primary academic reference:
19
* KohnâSham Density Functional Theory Electronic Structure Calculations
20
* with Linearly Scaling Computational Time and Memory Usage,
21
* Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek,
22
* J. Chem. Theory Comput. 7, 340 (2011),
23
* <http://dx.doi.org/10.1021/ct100611z>
24
*
25
* For further information about Ergo, see <http://www.ergoscf.org>.
26
*/
27
28
#include "
realtype.h
"
29
30
#ifdef __cplusplus
31
#define EXTERN_C extern "C"
32
#else
33
#define EXTERN_C
34
#endif
35
36
EXTERN_C
void
multiply2matrices
(
int
n,
ergo_real
* A,
ergo_real
* B,
ergo_real
* AB);
37
EXTERN_C
void
multiply2matricesSymm
(
int
n,
ergo_real
* A,
ergo_real
* B,
ergo_real
* AB);
38
EXTERN_C
void
multiply2matricesSymmResult
(
int
n,
ergo_real
* A,
ergo_real
* B,
ergo_real
* AB);
39
EXTERN_C
void
computeSquareOfSymmetricMatrix
(
int
n,
40
const
ergo_real
* Aa,
41
const
ergo_real
* Ab,
42
ergo_real
* A2);
43
EXTERN_C
void
multiply_matrices_general
(
int
An1,
int
An2,
int
Bn1,
int
Bn2,
const
ergo_real
* A,
const
ergo_real
* B,
ergo_real
* AB);
44
EXTERN_C
void
multiply_matrices_general_T_1
(
int
An1,
int
An2,
int
Bn1,
int
Bn2,
const
ergo_real
* A,
const
ergo_real
* B,
ergo_real
* AB);
45
EXTERN_C
void
multiply_matrices_general_T_2
(
int
An1,
int
An2,
int
Bn1,
int
Bn2,
const
ergo_real
* A,
const
ergo_real
* B,
ergo_real
* AB);
46
EXTERN_C
void
multiply3matrices
(
int
n,
ergo_real
* A,
ergo_real
* B,
ergo_real
* C,
ergo_real
* ABC);
47
source
utilities_basic
matrix_algebra.h
Generated on Wed Nov 21 2012 09:32:26 for ergo by
1.8.1.2