v0.16.0
Loading...
Searching...
No Matches
Public Types | Public Member Functions | Private Attributes | Friends | List of all members
EigenMatrix::EigenMatrixImp< T1, T2, NB, Dim > Struct Template Reference

#include "src/ftensor/src/MatrixFunctionTemplate.hpp"

Collaboration diagram for EigenMatrix::EigenMatrixImp< T1, T2, NB, Dim >:
[legend]

Public Types

using Val = const FTensor::Tensor1< T1, Dim >
 
using Vec = const FTensor::Tensor2< T2, Dim, Dim >
 
using Fun = boost::function< double(const double)>
 
using V = double
 
template<int N>
using Number = FTensor::Number< N >
 
template<char c>
using I = typename FTensor::Index< c, Dim >
 
using NumberNb = Number< NB >
 
using NumberDim = Number< Dim >
 

Public Member Functions

 EigenMatrixImp (Val &t_val, Vec &t_vec)
 
auto getMat (Fun f)
 Get matrix.
 
auto getDiffMat (Fun f, Fun d_f)
 Get derivative of matrix.
 
template<typename T >
auto getDiffDiffMat (Fun f, Fun d_f, Fun dd_f, T &t_S)
 Get second directive of matrix.
 

Private Attributes

ValtVal
 
VectVec
 
FTensor::Tensor2_symmetric< V, Dim > aM [Dim]
 
FTensor::Ddg< V, Dim, Dim > aMM [Dim][Dim]
 
FTensor::Ddg< V, Dim, Dim > aG [Dim][Dim]
 
FTensor::Ddg< V, Dim, Dim > aS [(Dim *(Dim+1))/2]
 
FTensor::Ddg< V, Dim, Dim > aSM [(Dim - 1) *Dim][(Dim *(Dim+1))/2]
 
FTensor::Ddg< V, Dim, Dim > d2MType0 [Dim][(Dim *(Dim+1))/2]
 
FTensor::Ddg< V, Dim, Dim > d2MType1 [Dim][(Dim *(Dim+1))/2]
 
FTensor::Tensor2_symmetric< V, Dim > aF2
 
FTensor::Tensor2< V, Dim, Dim > aF
 
FTensor::Tensor1< V, Dim > fVal
 
FTensor::Tensor1< V, Dim > dfVal
 
FTensor::Tensor1< V, Dim > ddfVal
 

Friends

template<typename E , typename C >
struct d2MCoefficients
 
template<typename E , typename C , typename G >
struct d2MImpl
 
template<typename E , typename C >
struct Fdd4MImpl
 
template<typename E , typename C >
struct ReconstructMatImpl
 
template<typename E , typename C >
struct FirstMatrixDirectiveImpl
 
template<typename E , typename C >
struct SecondMatrixDirectiveImpl
 
template<typename E , typename C , typename T >
struct GetDiffMatImpl
 
template<typename E , typename C , typename T3 , typename T4 >
struct GetDiffDiffMatImpl
 

Detailed Description

template<typename T1, typename T2, int NB, int Dim>
struct EigenMatrix::EigenMatrixImp< T1, T2, NB, Dim >

Definition at line 931 of file MatrixFunctionTemplate.hpp.

Member Typedef Documentation

◆ Fun

template<typename T1 , typename T2 , int NB, int Dim>
using EigenMatrix::EigenMatrixImp< T1, T2, NB, Dim >::Fun = boost::function<double(const double)>

Definition at line 935 of file MatrixFunctionTemplate.hpp.

◆ I

template<typename T1 , typename T2 , int NB, int Dim>
template<char c>
using EigenMatrix::EigenMatrixImp< T1, T2, NB, Dim >::I = typename FTensor::Index<c, Dim>

Definition at line 939 of file MatrixFunctionTemplate.hpp.

◆ Number

template<typename T1 , typename T2 , int NB, int Dim>
template<int N>
using EigenMatrix::EigenMatrixImp< T1, T2, NB, Dim >::Number = FTensor::Number<N>

Definition at line 938 of file MatrixFunctionTemplate.hpp.

◆ NumberDim

template<typename T1 , typename T2 , int NB, int Dim>
using EigenMatrix::EigenMatrixImp< T1, T2, NB, Dim >::NumberDim = Number<Dim>

Definition at line 942 of file MatrixFunctionTemplate.hpp.

◆ NumberNb

template<typename T1 , typename T2 , int NB, int Dim>
using EigenMatrix::EigenMatrixImp< T1, T2, NB, Dim >::NumberNb = Number<NB>

Definition at line 941 of file MatrixFunctionTemplate.hpp.

◆ V

template<typename T1 , typename T2 , int NB, int Dim>
using EigenMatrix::EigenMatrixImp< T1, T2, NB, Dim >::V = double

Definition at line 936 of file MatrixFunctionTemplate.hpp.

◆ Val

template<typename T1 , typename T2 , int NB, int Dim>
using EigenMatrix::EigenMatrixImp< T1, T2, NB, Dim >::Val = const FTensor::Tensor1<T1, Dim>

Definition at line 933 of file MatrixFunctionTemplate.hpp.

◆ Vec

template<typename T1 , typename T2 , int NB, int Dim>
using EigenMatrix::EigenMatrixImp< T1, T2, NB, Dim >::Vec = const FTensor::Tensor2<T2, Dim, Dim>

Definition at line 934 of file MatrixFunctionTemplate.hpp.

Constructor & Destructor Documentation

◆ EigenMatrixImp()

template<typename T1 , typename T2 , int NB, int Dim>
EigenMatrix::EigenMatrixImp< T1, T2, NB, Dim >::EigenMatrixImp ( Val t_val,
Vec t_vec 
)
inline

Definition at line 944 of file MatrixFunctionTemplate.hpp.

944 : tVal(t_val), tVec(t_vec) {
945
946 FTensor::Index<'i', Dim> i;
947 FTensor::Index<'j', Dim> j;
948 FTensor::Index<'k', Dim> k;
949 FTensor::Index<'l', Dim> l;
950
951 for (auto aa = 0; aa != Dim; ++aa) {
952 auto &M = aM[aa];
953 for (auto ii = 0; ii != Dim; ++ii)
954 for (auto jj = 0; jj <= ii; ++jj)
955 M(ii, jj) = tVec(aa, ii) * tVec(aa, jj);
956 }
957
958 for (auto aa = 0; aa != Dim; ++aa) {
959 for (auto bb = 0; bb != Dim; ++bb) {
960 auto &Ma = aM[aa];
961 auto &Mb = aM[bb];
962 auto &MM = aMM[aa][bb];
963 MM(i, j, k, l) = Ma(i, j) * Mb(k, l);
964 }
965 }
966
967 for (auto aa = 0; aa != Dim; ++aa) {
968 for (auto bb = 0; bb != Dim; ++bb) {
969 if (aa != bb) {
970 auto &MM = aMM[aa][bb];
971 auto &G = aG[aa][bb];
972 G(i, j, k, l) = MM(i, k, j, l) || MM(i, l, j, k);
973 }
974 }
975 }
976
977 for (auto aa = 0; aa != Dim; ++aa) {
978 for (auto bb = 0; bb != Dim; ++bb) {
979 if (aa != bb) {
980 auto &Gab = aG[aa][bb];
981 auto &Gba = aG[bb][aa];
982 auto &S = aS[get_sym_index(aa, bb, Dim)];
983 S(i, j, k, l) = Gab(i, j, k, l) + Gba(i, j, k, l);
984 }
985 }
986 }
987 }
FTensor::Index< 'i', SPACE_DIM > i
constexpr IntegrationType G
Definition level_set.cpp:33
FTensor::Index< 'l', 3 > l
FTensor::Index< 'j', 3 > j
FTensor::Index< 'k', 3 > k
auto get_sym_index(const Number< N1 > &, const Number< N2 > &, const Number< Dim > &)
FTensor::Ddg< V, Dim, Dim > aMM[Dim][Dim]
FTensor::Ddg< V, Dim, Dim > aS[(Dim *(Dim+1))/2]
FTensor::Tensor2_symmetric< V, Dim > aM[Dim]
FTensor::Ddg< V, Dim, Dim > aG[Dim][Dim]

Member Function Documentation

◆ getDiffDiffMat()

template<typename T1 , typename T2 , int NB, int Dim>
template<typename T >
auto EigenMatrix::EigenMatrixImp< T1, T2, NB, Dim >::getDiffDiffMat ( Fun  f,
Fun  d_f,
Fun  dd_f,
T &  t_S 
)
inline

Get second directive of matrix.

\[ LS_{klmn} = S_{ij} \frac{\partial^2 B_{ij}}{\partial A_{kl} \partial A_{mn} } \]

Template Parameters
T
Parameters
t_valeigen values vector
t_veceigen vectors matrix
ffunction
d_fderivative of function
dd_fsecond derivative of function
t_Ssecond rank tensor S
Returns
auto second derivatives, forth order tensor with minor symmetries

Definition at line 1072 of file MatrixFunctionTemplate.hpp.

1072 {
1073
1074 for (auto aa = 0; aa != Dim; ++aa)
1075 fVal(aa) = f(tVal(aa));
1076
1077 for (auto aa = 0; aa != Dim; ++aa)
1078 dfVal(aa) = d_f(tVal(aa));
1079
1080 for (auto aa = 0; aa != Dim; ++aa)
1081 ddfVal(aa) = dd_f(tVal(aa));
1082
1083 for (auto aa = 0; aa != Dim; ++aa)
1084 for (auto bb = 0; bb != aa; ++bb) {
1085 aF(aa, bb) = 1 / (tVal(aa) - tVal(bb));
1086 aF(bb, aa) = -aF(aa, bb);
1087 aF2(aa, bb) = aF(aa, bb) * aF(aa, bb);
1088 }
1089
1090 FTensor::Index<'i', Dim> i;
1091 FTensor::Index<'j', Dim> j;
1092 FTensor::Index<'k', Dim> k;
1093 FTensor::Index<'l', Dim> l;
1094
1095 for (auto aa = 0; aa != Dim; ++aa) {
1096 for (auto bb = 0; bb != Dim; ++bb) {
1097 if (aa != bb) {
1098 const auto &S = aS[get_sym_index(aa, bb, Dim)];
1099 const auto &M = aM[aa];
1100 auto &SMmn = aSM[get_nodiag_index(aa, bb, Dim)];
1101 for (auto mm = 0; mm != Dim; ++mm) {
1102 for (auto nn = mm; nn != Dim; ++nn) {
1103 SMmn[get_sym_index(mm, nn, Dim)](i, j, k, l) =
1104 S(i, j, k, l) * M(mm, nn);
1105 }
1106 }
1107 }
1108 }
1109 }
1110
1111 for (auto aa = 0; aa != Dim; ++aa) {
1112 for (auto mm = 0; mm != Dim; ++mm) {
1113 for (auto nn = mm; nn != Dim; ++nn) {
1114 d2MType0[aa][get_sym_index(mm, nn, Dim)](i, j, k, l) = 0;
1115 }
1116 }
1117 }
1118
1119 if constexpr (NB == 3)
1120 for (auto aa = 0; aa != Dim; ++aa) {
1121 for (auto bb = 0; bb != Dim; ++bb) {
1122 if (aa != bb) {
1123 const V v = dfVal(aa) * aF(aa, bb);
1124 for (auto mm = 0; mm != Dim; ++mm) {
1125 for (auto nn = mm; nn != Dim; ++nn) {
1126 d2MType0[aa][get_sym_index(mm, nn, Dim)](i, j, k, l) +=
1127 v * aSM[get_nodiag_index(aa, bb, Dim)]
1128 [get_sym_index(mm, nn, Dim)](i, j, k, l);
1129 }
1130 }
1131 }
1132 }
1133 }
1134
1135 if constexpr (NB == 2)
1136 for (auto aa = 0; aa != Dim; ++aa) {
1137 for (auto bb = 0; bb != Dim; ++bb) {
1138 if (aa != bb) {
1139 V v;
1140 if (aa == 1 || bb == 1)
1141 v = dfVal(aa) * aF(aa, bb);
1142 else
1143 v = ddfVal(aa) / 2;
1144 for (auto mm = 0; mm != Dim; ++mm) {
1145 for (auto nn = mm; nn != Dim; ++nn) {
1146 d2MType0[aa][get_sym_index(mm, nn, Dim)](i, j, k, l) +=
1147 v * aSM[get_nodiag_index(aa, bb, Dim)]
1148 [get_sym_index(mm, nn, Dim)](i, j, k, l);
1149 }
1150 }
1151 }
1152 }
1153 }
1154
1155 if constexpr (NB == 1)
1156 for (auto aa = 0; aa != Dim; ++aa) {
1157 for (auto bb = 0; bb != Dim; ++bb) {
1158 if (aa != bb) {
1159 const V v = ddfVal(aa) / 2;
1160 for (auto mm = 0; mm != Dim; ++mm) {
1161 for (auto nn = mm; nn != Dim; ++nn) {
1162 d2MType0[aa][get_sym_index(mm, nn, Dim)](i, j, k, l) +=
1163 v * aSM[get_nodiag_index(aa, bb, Dim)]
1164 [get_sym_index(mm, nn, Dim)](i, j, k, l);
1165 }
1166 }
1167 }
1168 }
1169 }
1170
1171 for (auto aa = 0; aa != Dim; ++aa) {
1172 for (auto mm = 0; mm != Dim; ++mm) {
1173 for (auto nn = 0; nn != Dim; ++nn) {
1174 if (nn != mm)
1175 d2MType1[mm][get_sym_index(aa, nn, Dim)](i, j, k, l) = 0;
1176 }
1177 }
1178 }
1179
1180 if constexpr (NB == 3)
1181 for (auto aa = 0; aa != Dim; ++aa) {
1182 for (auto bb = 0; bb != Dim; ++bb) {
1183 if (aa != bb) {
1184 const auto &S = aS[get_sym_index(aa, bb, Dim)];
1185 const auto v0 = aF(aa, bb);
1186 for (auto cc = 0; cc != Dim; ++cc) {
1187 for (auto dd = 0; dd != Dim; ++dd) {
1188 if (cc != dd) {
1189 const double v1 = fVal(cc) * aF(cc, dd);
1190 d2MType1[dd][get_sym_index(aa, cc, Dim)](i, j, k, l) +=
1191 (v1 * v0) * S(i, j, k, l);
1192 }
1193 }
1194 }
1195 }
1196 }
1197 }
1198
1199 if constexpr (NB == 2)
1200 for (auto aa = 0; aa != Dim; ++aa) {
1201 for (auto bb = 0; bb != Dim; ++bb) {
1202 if (aa != bb)
1203 for (auto cc = 0; cc != Dim; ++cc) {
1204 for (auto dd = 0; dd != Dim; ++dd)
1205 if (cc != dd) {
1206
1207 V r;
1208
1209 if ((cc == 1 || dd == 1) && (aa == 1 || bb == 1))
1210 r = fVal(cc) * aF(cc, dd) * aF(aa, bb);
1211 else if (cc != 1 && dd != 1 && aa != 1 && bb != 1) {
1212
1213 if ((aa != bb && bb != dd) && (aa != dd && bb != cc))
1214 r = ddfVal(cc) / 4;
1215 else
1216 r = 0;
1217
1218 } else if ((cc != 1 && dd != 1) && (aa == 1 || bb == 1))
1219 r = dfVal(cc) * aF(aa, bb) / 2;
1220 else if ((cc == 1 || dd == 1) && (aa != 1 && bb != 1)) {
1221
1222 if ((cc == 2 && dd == 1) || (cc == 1 && dd == 2))
1223 r = (
1224
1225 dfVal(cc)
1226
1227 - (fVal(cc) - fVal(dd)) * aF(cc, dd)
1228
1229 ) *
1230 aF(cc, dd);
1231
1232 else
1233 r = 0;
1234
1235 } else
1236 r = 0;
1237
1238 if (r)
1239 d2MType1[dd][get_sym_index(aa, cc, Dim)](i, j, k, l) +=
1240 r * aS[get_sym_index(aa, bb, Dim)](i, j, k, l);
1241 }
1242 }
1243 }
1244 }
1245
1246 if constexpr (NB == 1)
1247 for (auto aa = 0; aa != Dim; ++aa) {
1248 for (auto bb = 0; bb != Dim; ++bb) {
1249 if (aa != bb) {
1250 for (auto cc = 0; cc != Dim; ++cc) {
1251 for (auto dd = 0; dd != Dim; ++dd) {
1252 if (cc != dd) {
1253 if ((bb != dd) && (aa != dd && bb != cc)) {
1254 const double r = ddfVal(cc) / 4;
1255 d2MType1[dd][get_sym_index(aa, cc, Dim)](i, j, k, l) +=
1256 r * aS[get_sym_index(aa, bb, Dim)](i, j, k, l);
1257 }
1258 }
1259 }
1260 }
1261 }
1262 }
1263 }
1264
1265 using THIS = EigenMatrixImp<T1, T2, NB, Dim>;
1266 using T3 = FTensor::Ddg<V, Dim, Dim>;
1267
1268 T3 t_diff_A;
1269 GetDiffDiffMatImpl<THIS, V, T3, T>(*this, t_diff_A, t_S)
1270 .set(Number<Dim>(), Number<Dim>(), Number<Dim>(), Number<Dim>());
1271 return t_diff_A;
1272 }
const double v
phase velocity of light in medium (cm/ns)
auto get_nodiag_index(const Number< N1 > &, const Number< N2 > &, const Number< Dim > &)
const Tensor2_symmetric_Expr< const ddTensor0< T, Dim, i, j >, typename promote< T, double >::V, Dim, i, j > dd(const Tensor0< T * > &a, const Index< i, Dim > index1, const Index< j, Dim > index2, const Tensor1< int, Dim > &d_ijk, const Tensor1< double, Dim > &d_xyz)
Definition ddTensor0.hpp:33
int r
Definition sdf.py:205
FTensor::Ddg< V, Dim, Dim > d2MType0[Dim][(Dim *(Dim+1))/2]
FTensor::Tensor2_symmetric< V, Dim > aF2
FTensor::Ddg< V, Dim, Dim > d2MType1[Dim][(Dim *(Dim+1))/2]
FTensor::Tensor1< V, Dim > ddfVal
FTensor::Ddg< V, Dim, Dim > aSM[(Dim - 1) *Dim][(Dim *(Dim+1))/2]
FTensor::Tensor2< V, Dim, Dim > aF

◆ getDiffMat()

template<typename T1 , typename T2 , int NB, int Dim>
auto EigenMatrix::EigenMatrixImp< T1, T2, NB, Dim >::getDiffMat ( Fun  f,
Fun  d_f 
)
inline

Get derivative of matrix.

\[ P_{ijkl} = \frac{\partial B_{ij}}{\partial A_{kl}} \]

Parameters
t_valeiegn values vector
t_veceiegn vectors matrix
ffunction
d_fdirective of function
Returns
auto derivatives, forth order tensor with minor simetries

Definition at line 1032 of file MatrixFunctionTemplate.hpp.

1032 {
1033
1034 for (auto aa = 0; aa != Dim; ++aa)
1035 fVal(aa) = f(tVal(aa));
1036
1037 for (auto aa = 0; aa != Dim; ++aa)
1038 dfVal(aa) = d_f(tVal(aa));
1039
1040 for (auto aa = 0; aa != Dim; ++aa)
1041 for (auto bb = 0; bb != aa; ++bb) {
1042 aF(aa, bb) = 1 / (tVal(aa) - tVal(bb));
1043 aF(bb, aa) = -aF(aa, bb);
1044 aF2(aa, bb) = aF(aa, bb) * aF(aa, bb);
1045 }
1046
1047 using T3 = FTensor::Ddg<V, Dim, Dim>;
1048 T3 t_diff_A;
1049 GetDiffMatImpl<EigenMatrixImp<T1, T2, NB, Dim>, V, T3>(*this, t_diff_A)
1050 .set(NumberDim(), NumberDim(), NumberDim(), NumberDim());
1051 return t_diff_A;
1052 }

◆ getMat()

template<typename T1 , typename T2 , int NB, int Dim>
auto EigenMatrix::EigenMatrixImp< T1, T2, NB, Dim >::getMat ( Fun  f)
inline

Get matrix.

\[ \mathbf{B} = f(\mathbf{A}) \]

\[ B_{ij} = \sum_{a}^3 f(\lambda^a) n^a_i n^a_j \]

where \(a\) is eigen value number.

Parameters
t_valeiegn values vector
t_veceigen vectors matrix
ffunction
Returns
auto function symmetric tensor rank two

Definition at line 1006 of file MatrixFunctionTemplate.hpp.

1006 {
1007
1008 for (auto aa = 0; aa != Dim; ++aa)
1009 fVal(aa) = f(tVal(aa));
1010
1011 using T3 =
1013 T3 t_A;
1014 GetMatImpl<EigenMatrixImp<T1, T2, NB, Dim>, V, T3>(*this, t_A)
1015 .set(NumberDim(), NumberDim());
1016 return t_A;
1017 }

Friends And Related Symbol Documentation

◆ d2MCoefficients

template<typename T1 , typename T2 , int NB, int Dim>
template<typename E , typename C >
friend struct d2MCoefficients
friend

Definition at line 1290 of file MatrixFunctionTemplate.hpp.

◆ d2MImpl

template<typename T1 , typename T2 , int NB, int Dim>
template<typename E , typename C , typename G >
friend struct d2MImpl
friend

Definition at line 1291 of file MatrixFunctionTemplate.hpp.

◆ Fdd4MImpl

template<typename T1 , typename T2 , int NB, int Dim>
template<typename E , typename C >
friend struct Fdd4MImpl
friend

Definition at line 1292 of file MatrixFunctionTemplate.hpp.

◆ FirstMatrixDirectiveImpl

template<typename T1 , typename T2 , int NB, int Dim>
template<typename E , typename C >
friend struct FirstMatrixDirectiveImpl
friend

Definition at line 1294 of file MatrixFunctionTemplate.hpp.

◆ GetDiffDiffMatImpl

template<typename T1 , typename T2 , int NB, int Dim>
template<typename E , typename C , typename T3 , typename T4 >
friend struct GetDiffDiffMatImpl
friend

Definition at line 1298 of file MatrixFunctionTemplate.hpp.

◆ GetDiffMatImpl

template<typename T1 , typename T2 , int NB, int Dim>
template<typename E , typename C , typename T >
friend struct GetDiffMatImpl
friend

Definition at line 1296 of file MatrixFunctionTemplate.hpp.

◆ ReconstructMatImpl

template<typename T1 , typename T2 , int NB, int Dim>
template<typename E , typename C >
friend struct ReconstructMatImpl
friend

Definition at line 1293 of file MatrixFunctionTemplate.hpp.

◆ SecondMatrixDirectiveImpl

template<typename T1 , typename T2 , int NB, int Dim>
template<typename E , typename C >
friend struct SecondMatrixDirectiveImpl
friend

Definition at line 1295 of file MatrixFunctionTemplate.hpp.

Member Data Documentation

◆ aF

template<typename T1 , typename T2 , int NB, int Dim>
FTensor::Tensor2<V, Dim, Dim> EigenMatrix::EigenMatrixImp< T1, T2, NB, Dim >::aF
private

Definition at line 1285 of file MatrixFunctionTemplate.hpp.

◆ aF2

template<typename T1 , typename T2 , int NB, int Dim>
FTensor::Tensor2_symmetric<V, Dim> EigenMatrix::EigenMatrixImp< T1, T2, NB, Dim >::aF2
private

Definition at line 1284 of file MatrixFunctionTemplate.hpp.

◆ aG

template<typename T1 , typename T2 , int NB, int Dim>
FTensor::Ddg<V, Dim, Dim> EigenMatrix::EigenMatrixImp< T1, T2, NB, Dim >::aG[Dim][Dim]
private

Definition at line 1279 of file MatrixFunctionTemplate.hpp.

◆ aM

template<typename T1 , typename T2 , int NB, int Dim>
FTensor::Tensor2_symmetric<V, Dim> EigenMatrix::EigenMatrixImp< T1, T2, NB, Dim >::aM[Dim]
private

Definition at line 1277 of file MatrixFunctionTemplate.hpp.

◆ aMM

template<typename T1 , typename T2 , int NB, int Dim>
FTensor::Ddg<V, Dim, Dim> EigenMatrix::EigenMatrixImp< T1, T2, NB, Dim >::aMM[Dim][Dim]
private

Definition at line 1278 of file MatrixFunctionTemplate.hpp.

◆ aS

template<typename T1 , typename T2 , int NB, int Dim>
FTensor::Ddg<V, Dim, Dim> EigenMatrix::EigenMatrixImp< T1, T2, NB, Dim >::aS[(Dim *(Dim+1))/2]
private

Definition at line 1280 of file MatrixFunctionTemplate.hpp.

◆ aSM

template<typename T1 , typename T2 , int NB, int Dim>
FTensor::Ddg<V, Dim, Dim> EigenMatrix::EigenMatrixImp< T1, T2, NB, Dim >::aSM[(Dim - 1) *Dim][(Dim *(Dim+1))/2]
private

Definition at line 1281 of file MatrixFunctionTemplate.hpp.

◆ d2MType0

template<typename T1 , typename T2 , int NB, int Dim>
FTensor::Ddg<V, Dim, Dim> EigenMatrix::EigenMatrixImp< T1, T2, NB, Dim >::d2MType0[Dim][(Dim *(Dim+1))/2]
private

Definition at line 1282 of file MatrixFunctionTemplate.hpp.

◆ d2MType1

template<typename T1 , typename T2 , int NB, int Dim>
FTensor::Ddg<V, Dim, Dim> EigenMatrix::EigenMatrixImp< T1, T2, NB, Dim >::d2MType1[Dim][(Dim *(Dim+1))/2]
private

Definition at line 1283 of file MatrixFunctionTemplate.hpp.

◆ ddfVal

template<typename T1 , typename T2 , int NB, int Dim>
FTensor::Tensor1<V, Dim> EigenMatrix::EigenMatrixImp< T1, T2, NB, Dim >::ddfVal
private

Definition at line 1288 of file MatrixFunctionTemplate.hpp.

◆ dfVal

template<typename T1 , typename T2 , int NB, int Dim>
FTensor::Tensor1<V, Dim> EigenMatrix::EigenMatrixImp< T1, T2, NB, Dim >::dfVal
private

Definition at line 1287 of file MatrixFunctionTemplate.hpp.

◆ fVal

template<typename T1 , typename T2 , int NB, int Dim>
FTensor::Tensor1<V, Dim> EigenMatrix::EigenMatrixImp< T1, T2, NB, Dim >::fVal
private

Definition at line 1286 of file MatrixFunctionTemplate.hpp.

◆ tVal

template<typename T1 , typename T2 , int NB, int Dim>
Val& EigenMatrix::EigenMatrixImp< T1, T2, NB, Dim >::tVal
private

Definition at line 1275 of file MatrixFunctionTemplate.hpp.

◆ tVec

template<typename T1 , typename T2 , int NB, int Dim>
Vec& EigenMatrix::EigenMatrixImp< T1, T2, NB, Dim >::tVec
private

Definition at line 1276 of file MatrixFunctionTemplate.hpp.


The documentation for this struct was generated from the following file: