33#ifndef MADNESS_TENSOR_MTXMQ_H__INCLUDED
34#define MADNESS_TENSOR_MTXMQ_H__INCLUDED
55 template <
typename aT,
typename bT,
typename cT>
61 cblas::gemm(
cblas::NoTrans,
cblas::Trans,dimj,
dimi,
dimk,
one,
b,dimj,
a,
dimi,zero,
c,dimj);
72 template <
typename aT,
typename bT,
typename cT>
76 for (
long i=0; i<
dimi; ++i,
c+=dimj,++
a) {
77 for (
long j=0; j<dimj; ++j)
c[j] = 0.0;
81 for (
long j=0; j<dimj; ++j) {
95 template <
typename aT,
typename bT,
typename cT>
105 effj = (dimj | 3) + 1;
125 for (
long j=0; j<dimj; ++j)
c_work[j] = 0.0;
129 for (
long j=0; j<dimj; ++j) {
149 double*
c,
const double*
a,
const double*
b);
159 double*
c,
const double*
a,
const double*
b) {
180#elif defined(HAVE_IBMBGP)
182 const double*
a,
const double*
b);
Define BLAS like functions.
std::complex< double > double_complex
Definition cfft.h:14
Macros and tools pertaining to the configuration of MADNESS.
std::complex< double > double_complex
Definition mtxmq.h:42
void gemm(const CBLAS_TRANSPOSE OpA, const CBLAS_TRANSPOSE OpB, const integer m, const integer n, const integer k, const float alpha, const float *a, const integer lda, const float *b, const integer ldb, const float beta, float *c, const integer ldc)
Multiplies a matrix by a vector.
Definition cblas.h:352
@ NoTrans
Definition cblas_types.h:78
@ Trans
Definition cblas_types.h:79
Namespace for all elements and tools of MADNESS.
Definition DFParameters.h:10
void mTxmq_padding(long dimi, long dimj, long dimk, long ext_b, cT *c, const aT *a, const bT *b)
Definition mtxmq.h:96
void bgq_mtxmq_padded(long dimi, long dimj, long dimk, long extb, __complex__ double *c_x, const __complex__ double *a_x, const __complex__ double *b_x)
Definition bgq_mtxm.cc:10
static XNonlinearSolver< std::vector< Function< T, NDIM > >, T, vector_function_allocator< T, NDIM > > nonlinear_vector_solver(World &world, const long nvec)
Definition nonlinsol.h:284
void mTxmq(long dimi, long dimj, long dimk, T *MADNESS_RESTRICT c, const T *a, const T *b, long ldb=-1)
Matrix = Matrix transpose * matrix ... MKL interface version.
Definition mxm.h:257
static const double b
Definition nonlinschro.cc:119
static const double a
Definition nonlinschro.cc:118
static const double c
Definition relops.cc:10
static const long k
Definition rk.cc:44
constexpr coord_t one(1.0)