RFFGen
Main Page
Modules
Namespaces
Classes
Files
File List
All
Classes
Namespaces
Files
Functions
Typedefs
Enumerations
Groups
RFFGen
LinearAlgebra
mixedInvariants.hh
1
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
2
/* */
3
/* This file is part of the C++-library RFFGen. */
4
/* Copyright 2015 Lars Lubkoll */
5
/* */
6
/* RFFGen is free software: you can redistribute it and/or modify */
7
/* it under the terms of the GNU General Public License as published by */
8
/* the Free Software Foundation, either version 3 of the License, or */
9
/* (at your option) any later version. */
10
/* */
11
/* RFFGen is distributed in the hope that it will be useful, */
12
/* but WITHOUT ANY WARRANTY; without even the implied warranty of */
13
/* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the */
14
/* GNU General Public License for more details. */
15
/* */
16
/* You should have received a copy of the GNU General Public License */
17
/* along with RFFGen. If not, see <http://www.gnu.org/licenses/>. */
18
/* */
19
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
20
21
#ifndef RFFGEN_LINEAR_ALGEBRA_MIXED_INVARIANTS_HH
22
#define RFFGEN_LINEAR_ALGEBRA_MIXED_INVARIANTS_HH
23
24
#include "../MathematicalOperations/chain.hh"
25
#include "../MathematicalOperations/product.hh"
26
#include "../MathematicalOperations/squared.hh"
27
#include "../constant.hh"
28
#include "../identity.hh"
29
#include "principalInvariants.hh"
30
#include "shiftedInvariant.hh"
31
32
namespace
RFFGen
33
{
34
35
namespace
LinearAlgebra
36
{
41
template
<
class
Matrix>
42
using
FirstMixedInvariant
=
MathematicalOperations::Chain< FirstPrincipalInvariant<Matrix>
,
MathematicalOperations::Product< Identity<Matrix>
,
Constant<Matrix>
> >;
43
48
template
<
class
Matrix>
49
using
SecondMixedInvariant
=
MathematicalOperations::Chain< FirstPrincipalInvariant<Matrix>
,
MathematicalOperations::Product< MathematicalOperations::Squared<Identity<Matrix>
> ,
Constant<Matrix>
> >;
50
55
template
<
class
Matrix>
56
using
ThirdMixedInvariant
=
MathematicalOperations::Chain< FirstPrincipalInvariant<Matrix>
,
MathematicalOperations::Product< Identity<Matrix>
,
MathematicalOperations::Squared< Constant<Matrix>
> > >;
57
62
template
<
class
Matrix>
63
using
ShiftedFirstMixedInvariant
=
ShiftedInvariant< FirstMixedInvariant<Matrix>
, 1 >;
64
69
template
<
class
Matrix>
70
using
ShiftedSecondMixedInvariant
=
ShiftedInvariant< SecondMixedInvariant<Matrix>
, 1 >;
71
76
template
<
class
Matrix>
77
using
ShiftedThirdMixedInvariant
=
ShiftedInvariant< ThirdMixedInvariant<Matrix>
, 1 >;
78
}
79
}
80
81
#endif // RFFGEN_LINEAR_ALGEBRA_MIXED_INVARIANTS_HH
RFFGen::MathematicalOperations::Chain
Chain of functions and of type F resp. G (F and G must satisfy the requirements of Concepts::Funct...
Definition:
chain.hh:61
RFFGen::LinearAlgebra::ShiftedInvariant
Possibly scaled, shifted invariant , where for the first two (principal,modified) invariants and fo...
Definition:
shiftedInvariant.hh:43
RFFGen::MathematicalOperations::Squared
Squared function (F must satisfy the requirements of Concepts::FunctionConcept).
Definition:
squared.hh:59
RFFGen::MathematicalOperations::Product
Product of functions of type F and G (F and G must satisfy the requirements of Concepts::FunctionCon...
Definition:
product.hh:61
RFFGen::Constant
Wrap a constant.
Definition:
constant.hh:41
Generated on Tue Jul 14 2015 18:34:21 for RFFGen by
1.8.6