C++QEDCore  v2 Milestone 10
a framework for simulating open quantum dynamics – core
Operators.h
Go to the documentation of this file.
1 // Copyright András Vukics 2006–2014. Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE.txt)
3 // -*- C++ -*-
4 #ifndef CPPQEDCORE_UTILS_OPERATORS_H_INCLUDED
5 #define CPPQEDCORE_UTILS_OPERATORS_H_INCLUDED
6 
7 #include "ComplexExtensions.h"
8 
9 #include <boost/operators.hpp>
10 
11 
12 namespace linalg {
13 
14 namespace details { struct EmptyBase {}; }
15 
17 
24 template<typename T, typename B=details::EmptyBase>
26  : boost::additive1 <T, // Abel group
27  boost::multiplicative<T,double, // Vector space
28  boost::multiplicative<T,dcomp, // "
29  /* boost::multipliable1 <T, // Direct product */
30  boost::equality_comparable<T> > > > {};
31 
32 
33 } // linalg
34 
35 #endif // CPPQEDCORE_UTILS_OPERATORS_H_INCLUDED
Contains utilities for linear algebra.
Definition: CMatrix.h:11
Additional helpers for dcomp.
Operator aggregate for a complex vector space built on top of Boost.Operator.
Definition: Operators.h:25