30 n2.push_back(dinp.size());
46 for (
int i = 0; i < n1; i++)
47 n2.push_back(dinp[i].size());
60 std::vector<std::vector<complex> > res;
61 for (
int i = 0; i < n1; i++)
63 res.push_back(std::vector<complex>(n2.at(i)));
64 for (
int j = 0; j < n2.at(i); j++)
65 res[i][j] = data[i][j].conjugate();
72 std::vector<std::vector<matrix<double> > > res;
73 for (
int i1 = 0; i1 < n1; i1++)
75 res.push_back(std::vector<matrix<double> >(n2.at(i1), matrix<double>(data[0][0].size_i(), data[0][0].size_j(), 0.)));
76 for (
int i2 = 0; i2 < n2.at(i1); i2++)
77 res[i1][i2] = data[i1][i2].transpose();
84 std::vector<std::vector<matrix<complex> > > res;
85 for (
int i1 = 0; i1 < n1; i1++)
87 res.push_back(std::vector<matrix<complex> >(n2.at(i1), matrix<complex>(data[0][0].size_i(), data[0][0].size_j(), 0.)));
88 for (
int i2 = 0; i2 < n2.at(i1); i2++)
89 res[i1][i2] = data[i1][i2].transpose();
96 std::vector<std::vector<double> > res;
97 for (
int i = 0; i < n1; i++)
99 res.push_back(std::vector<double>(n2.at(i), 0.));
100 for (
int j = 0; j < n2.at(i); j++)
101 res[i][j] = data[i][j].real();
108 return ((*
this) * ((*this).conjugate())).real();
115 id = data[0][0].size_i();
116 jd = data[0][0].size_j();
117 return matrix<double>(
id, jd, 0.);
124 id = data[0][0].size_i();
125 jd = data[0][0].size_j();
126 return matrix<complex>(
id, jd, 0.);
133 id = data[0][0].size();
134 return vector<double>(
id, 0.);
141 id = data[0][0].size();
142 return vector<complex>(
id, 0.);
147 if(i == 0 && j == 0)
return (1. / data[0][0]);
149 for(
int n = 0; n <= i; n++)
150 for(
int m = 0; m <= j; m++) {
151 if(n == i && m == j)
continue;
152 res -= invCoeff(n, m) * data[i - n][j - m];
154 return (res / data[0][0]);
159 if(i == 0 && j == 0)
return (1. / data[0][0]);
161 for(
int n = 0; n <= i; n++)
162 for(
int m = 0; m <= j; m++) {
163 if(n == i && m == j)
continue;
164 res -= invCoeff(n, m) * data[i - n][j - m];
166 return (res / data[0][0]);
172 std::vector<std::vector<double> > res;
173 for (
int i1 = 0; i1 < n1; i1++)
175 res.push_back(std::vector<double> (n2.at(i1), 0.));
176 for (
int i2 = 0; i2 < n2.at(i1); i2++)
177 res[i1][i2] = invCoeff(i1, i2);
185 std::vector<std::vector<complex> > res;
186 for (
int i1 = 0; i1 < n1; i1++)
188 res.push_back(std::vector<complex> (n2.at(i1), 0.));
189 for (
int i2 = 0; i2 < n2.at(i1); i2++)
190 res[i1][i2] = invCoeff(i1, i2);
247 return (ex.transpose() * ue);
254 return (ex * ue.transpose());
261 return ((ex.transpose() * ue.transpose()).transpose());