38 #include <itpp/itexports.h>
63 for (
int i = 0;i < v.
length();i++)
79 it_assert((dim == 1) || (dim == 2),
"sum: dimension need to be 1 or 2");
85 for (
int i = 0; i < m.
cols(); i++)
91 for (
int i = 0; i < m.
rows(); i++)
103 const T * X_data = X.
_data();
107 for (
int i = 0;i < X_datasize;i++)
120 for (
int i = 0; i < v.
length(); i++)
136 it_assert((dim == 1) || (dim == 2),
"sum_sqr: dimension need to be 1 or 2");
142 for (
int i = 0; i < m.
cols(); i++)
148 for (
int i = 0; i < m.
rows(); i++)
162 for (
int i = 1; i < v.
size(); i++)
163 out(i) = out(i - 1) + v(i);
178 it_assert((dim == 1) || (dim == 2),
"cumsum: dimension need to be 1 or 2");
182 for (
int i = 0; i < m.
cols(); i++)
186 for (
int i = 0; i < m.
rows(); i++)
197 it_assert(v.
size() >= 1,
"prod: size of vector should be at least 1");
200 for (
int i = 1; i < v.
size(); i++)
216 it_assert((dim == 1) || (dim == 2),
"prod: dimension need to be 1 or 2");
221 "prod: number of columns should be at least 1");
222 out.set_size(m.
cols(),
false);
224 for (
int i = 0; i < m.
cols(); i++)
229 "prod: number of rows should be at least 1");
230 out.set_size(m.
rows(),
false);
232 for (
int i = 0; i < m.
rows(); i++)
243 "cross: vectors should be of size 3");
247 r(0) = v1(1) * v2(2) - v1(2) * v2(1);
248 r(1) = v1(2) * v2(0) - v1(0) * v2(2);
249 r(2) = v1(0) * v2(1) - v1(1) * v2(0);
259 it_assert(n >= v.
size(),
"zero_pad() cannot shrink the vector!");
261 v2.set_subvector(0, v);
263 v2.set_subvector(v.
size(), n - 1, T(0));
282 "zero_pad() cannot shrink the matrix!");
299 if (index >= 0 && index < v.
size())
335 template<
class Num_T>
354 template<
class Num_T>
374 Vec<T> repmat(
const Vec<T> &v,
int n)
376 it_assert(n > 0,
"repmat(): Wrong repetition parameter");
377 int data_length = v.length();
378 it_assert(data_length > 0,
"repmat(): Input vector can not be empty");
379 Vec<T> assembly(data_length * n);
380 for (
int j = 0; j < n; ++j) {
381 assembly.set_subvector(j * data_length, v);
397 Mat<T> repmat(
const Mat<T> &data,
int m,
int n)
399 it_assert((m > 0) && (n > 0),
"repmat(): Wrong repetition parameters");
400 int data_rows = data.rows();
401 int data_cols = data.cols();
402 it_assert((data_rows > 0) && (data_cols > 0),
"repmat(): Input matrix can "
404 Mat<T> assembly(data_rows*m, data_cols*n);
405 for (
int i = 0; i < m; ++i) {
406 for (
int j = 0; j < n; ++j) {
407 assembly.set_submatrix(i*data_rows, j*data_cols, data);
424 template<
class T>
inline
425 Mat<T> repmat(
const Vec<T> &v,
int m,
int n,
bool transpose =
false)
427 return repmat((
transpose ? v.T() : Mat<T>(v)), m, n);
442 template<
class Num_T>
447 for (
int i = 0; i < X.
rows(); i++)
448 for (
int j = 0; j < X.
cols(); j++)
467 ITPP_EXPORT cmat
sqrtm(
const cmat& A);
481 ITPP_EXPORT cmat
sqrtm(
const mat& A);
497 if ((rows == 0) || (cols == 0))
500 vec sing_val =
svd(m);
503 tol =
eps * sing_val(0) * (rows > cols ? rows : cols);
508 while ((r < sing_val.length()) && (sing_val(r) > tol)) {
517 int rank(
const imat &m,
double tol)
524 int rank(
const smat &m,
double tol)
533 it_error(
"rank(bmat): Function not implemented for GF(2) algebra");
562 for (
int i = v.
size() - 1; i >= 0; i--)
565 for (
int i = v.
size() - 1; i >= 0; i--)
585 for (
int i = v.
size() - 1; i >= 0; i--)
601 for (
int i = 0; i < t.
size(); i++)
624 for (
int i = 0; i < n - 1; i++) {
626 m(i, i + 1) = sup(i);
628 m(n - 1, n - 1) = main(n - 1);
650 for (
int i = 0; i < n - 1; i++) {
652 m(i, i + 1) = sup(i);
654 m(n - 1, n - 1) = main(n - 1);
673 for (
int i = 0; i < n - 1; i++) {
675 sup(i) = m(i, i + 1);
677 main(n - 1) = m(n - 1, n - 1);
697 for (
int i = 0; i < n - 1; i++) {
699 m(i, i + 1) = sup(i);
700 m(i + 1, i) = sub(i);
702 m(n - 1, n - 1) = main(n - 1);
724 for (
int i = 0; i < n - 1; i++) {
726 m(i, i + 1) = sup(i);
727 m(i + 1, i) = sub(i);
729 m(n - 1, n - 1) = main(n - 1);
749 for (
int i = 0; i < n - 1; i++) {
751 sup(i) = m(i, i + 1);
752 sub(i) = m(i + 1, i);
754 main(n - 1) = m(n - 1, n - 1);
782 for (i = 0;i < s;i++)
791 int i, j, n = 0, r = m.
rows(), c = m.
cols();
794 for (i = 0; i < r; i++)
795 for (j = 0; j < c; j++)
805 int i, j, n = 0, r = m.
rows(), c = m.
cols();
808 for (j = 0; j < c; j++)
809 for (i = 0; i < r; i++)
826 int i, j, ii = 0, jj = 0;
827 for (j = 0; j < m.
cols(); j++) {
828 for (i = 0; i < m.
rows(); i++) {
829 temp(ii++, jj) = m(i, j);
851 for (j = 0; j < cols; j++) {
852 for (i = 0; i < rows; i++) {
853 temp(i, j) = v(ii++);
863 ITPP_EXPORT
bool all(
const bvec &testvec);
865 ITPP_EXPORT
bool any(
const bvec &testvec);
873 ITPP_EXPORT_TEMPLATE
template ITPP_EXPORT
int length(
const vec &v);
874 ITPP_EXPORT_TEMPLATE
template ITPP_EXPORT
int length(
const cvec &v);
875 ITPP_EXPORT_TEMPLATE
template ITPP_EXPORT
int length(
const svec &v);
876 ITPP_EXPORT_TEMPLATE
template ITPP_EXPORT
int length(
const ivec &v);
877 ITPP_EXPORT_TEMPLATE
template ITPP_EXPORT
int length(
const bvec &v);
879 ITPP_EXPORT_TEMPLATE
template ITPP_EXPORT
double sum(
const vec &v);
880 ITPP_EXPORT_TEMPLATE
template ITPP_EXPORT std::complex<double>
sum(
const cvec &v);
881 ITPP_EXPORT_TEMPLATE
template ITPP_EXPORT
short sum(
const svec &v);
882 ITPP_EXPORT_TEMPLATE
template ITPP_EXPORT
int sum(
const ivec &v);
883 ITPP_EXPORT_TEMPLATE
template ITPP_EXPORT bin
sum(
const bvec &v);
885 ITPP_EXPORT_TEMPLATE
template ITPP_EXPORT
double sum_sqr(
const vec &v);
886 ITPP_EXPORT_TEMPLATE
template ITPP_EXPORT std::complex<double>
sum_sqr(
const cvec &v);
887 ITPP_EXPORT_TEMPLATE
template ITPP_EXPORT
short sum_sqr(
const svec &v);
888 ITPP_EXPORT_TEMPLATE
template ITPP_EXPORT
int sum_sqr(
const ivec &v);
889 ITPP_EXPORT_TEMPLATE
template ITPP_EXPORT bin
sum_sqr(
const bvec &v);
891 ITPP_EXPORT_TEMPLATE
template ITPP_EXPORT vec
cumsum(
const vec &v);
892 ITPP_EXPORT_TEMPLATE
template ITPP_EXPORT cvec
cumsum(
const cvec &v);
893 ITPP_EXPORT_TEMPLATE
template ITPP_EXPORT svec
cumsum(
const svec &v);
894 ITPP_EXPORT_TEMPLATE
template ITPP_EXPORT ivec
cumsum(
const ivec &v);
895 ITPP_EXPORT_TEMPLATE
template ITPP_EXPORT bvec
cumsum(
const bvec &v);
897 ITPP_EXPORT_TEMPLATE
template ITPP_EXPORT
double prod(
const vec &v);
898 ITPP_EXPORT_TEMPLATE
template ITPP_EXPORT std::complex<double>
prod(
const cvec &v);
899 ITPP_EXPORT_TEMPLATE
template ITPP_EXPORT
short prod(
const svec &v);
900 ITPP_EXPORT_TEMPLATE
template ITPP_EXPORT
int prod(
const ivec &v);
901 ITPP_EXPORT_TEMPLATE
template ITPP_EXPORT bin
prod(
const bvec &v);
903 ITPP_EXPORT_TEMPLATE
template ITPP_EXPORT vec
cross(
const vec &v1,
const vec &v2);
904 ITPP_EXPORT_TEMPLATE
template ITPP_EXPORT cvec
cross(
const cvec &v1,
const cvec &v2);
905 ITPP_EXPORT_TEMPLATE
template ITPP_EXPORT ivec
cross(
const ivec &v1,
const ivec &v2);
906 ITPP_EXPORT_TEMPLATE
template ITPP_EXPORT svec
cross(
const svec &v1,
const svec &v2);
907 ITPP_EXPORT_TEMPLATE
template ITPP_EXPORT bvec
cross(
const bvec &v1,
const bvec &v2);
909 ITPP_EXPORT_TEMPLATE
template ITPP_EXPORT vec
reverse(
const vec &in);
910 ITPP_EXPORT_TEMPLATE
template ITPP_EXPORT cvec
reverse(
const cvec &in);
911 ITPP_EXPORT_TEMPLATE
template ITPP_EXPORT svec
reverse(
const svec &in);
912 ITPP_EXPORT_TEMPLATE
template ITPP_EXPORT ivec
reverse(
const ivec &in);
913 ITPP_EXPORT_TEMPLATE
template ITPP_EXPORT bvec
reverse(
const bvec &in);
915 ITPP_EXPORT_TEMPLATE
template ITPP_EXPORT vec
zero_pad(
const vec &v,
int n);
916 ITPP_EXPORT_TEMPLATE
template ITPP_EXPORT cvec
zero_pad(
const cvec &v,
int n);
917 ITPP_EXPORT_TEMPLATE
template ITPP_EXPORT ivec
zero_pad(
const ivec &v,
int n);
918 ITPP_EXPORT_TEMPLATE
template ITPP_EXPORT svec
zero_pad(
const svec &v,
int n);
919 ITPP_EXPORT_TEMPLATE
template ITPP_EXPORT bvec
zero_pad(
const bvec &v,
int n);
921 ITPP_EXPORT_TEMPLATE
template ITPP_EXPORT vec
zero_pad(
const vec &v);
922 ITPP_EXPORT_TEMPLATE
template ITPP_EXPORT cvec
zero_pad(
const cvec &v);
923 ITPP_EXPORT_TEMPLATE
template ITPP_EXPORT ivec
zero_pad(
const ivec &v);
924 ITPP_EXPORT_TEMPLATE
template ITPP_EXPORT svec
zero_pad(
const svec &v);
925 ITPP_EXPORT_TEMPLATE
template ITPP_EXPORT bvec
zero_pad(
const bvec &v);
927 ITPP_EXPORT_TEMPLATE
template ITPP_EXPORT mat
zero_pad(
const mat &,
int,
int);
928 ITPP_EXPORT_TEMPLATE
template ITPP_EXPORT cmat
zero_pad(
const cmat &,
int,
int);
929 ITPP_EXPORT_TEMPLATE
template ITPP_EXPORT imat
zero_pad(
const imat &,
int,
int);
930 ITPP_EXPORT_TEMPLATE
template ITPP_EXPORT smat
zero_pad(
const smat &,
int,
int);
931 ITPP_EXPORT_TEMPLATE
template ITPP_EXPORT
bmat zero_pad(
const bmat &,
int,
int);
933 ITPP_EXPORT_TEMPLATE
template ITPP_EXPORT vec
sum(
const mat &m,
int dim);
934 ITPP_EXPORT_TEMPLATE
template ITPP_EXPORT cvec
sum(
const cmat &m,
int dim);
935 ITPP_EXPORT_TEMPLATE
template ITPP_EXPORT svec
sum(
const smat &m,
int dim);
936 ITPP_EXPORT_TEMPLATE
template ITPP_EXPORT ivec
sum(
const imat &m,
int dim);
937 ITPP_EXPORT_TEMPLATE
template ITPP_EXPORT bvec
sum(
const bmat &m,
int dim);
939 ITPP_EXPORT_TEMPLATE
template ITPP_EXPORT
double sumsum(
const mat &X);
940 ITPP_EXPORT_TEMPLATE
template ITPP_EXPORT std::complex<double>
sumsum(
const cmat &X);
941 ITPP_EXPORT_TEMPLATE
template ITPP_EXPORT
short sumsum(
const smat &X);
942 ITPP_EXPORT_TEMPLATE
template ITPP_EXPORT
int sumsum(
const imat &X);
943 ITPP_EXPORT_TEMPLATE
template ITPP_EXPORT bin
sumsum(
const bmat &X);
945 ITPP_EXPORT_TEMPLATE
template ITPP_EXPORT vec
sum_sqr(
const mat & m,
int dim);
946 ITPP_EXPORT_TEMPLATE
template ITPP_EXPORT cvec
sum_sqr(
const cmat &m,
int dim);
947 ITPP_EXPORT_TEMPLATE
template ITPP_EXPORT svec
sum_sqr(
const smat &m,
int dim);
948 ITPP_EXPORT_TEMPLATE
template ITPP_EXPORT ivec
sum_sqr(
const imat &m,
int dim);
949 ITPP_EXPORT_TEMPLATE
template ITPP_EXPORT bvec
sum_sqr(
const bmat &m,
int dim);
951 ITPP_EXPORT_TEMPLATE
template ITPP_EXPORT mat
cumsum(
const mat &m,
int dim);
952 ITPP_EXPORT_TEMPLATE
template ITPP_EXPORT cmat
cumsum(
const cmat &m,
int dim);
953 ITPP_EXPORT_TEMPLATE
template ITPP_EXPORT smat
cumsum(
const smat &m,
int dim);
954 ITPP_EXPORT_TEMPLATE
template ITPP_EXPORT imat
cumsum(
const imat &m,
int dim);
955 ITPP_EXPORT_TEMPLATE
template ITPP_EXPORT
bmat cumsum(
const bmat &m,
int dim);
957 ITPP_EXPORT_TEMPLATE
template ITPP_EXPORT vec
prod(
const mat &m,
int dim);
958 ITPP_EXPORT_TEMPLATE
template ITPP_EXPORT cvec
prod(
const cmat &v,
int dim);
959 ITPP_EXPORT_TEMPLATE
template ITPP_EXPORT svec
prod(
const smat &m,
int dim);
960 ITPP_EXPORT_TEMPLATE
template ITPP_EXPORT ivec
prod(
const imat &m,
int dim);
961 ITPP_EXPORT_TEMPLATE
template ITPP_EXPORT bvec
prod(
const bmat &m,
int dim);
963 ITPP_EXPORT_TEMPLATE
template ITPP_EXPORT vec
diag(
const mat &in);
964 ITPP_EXPORT_TEMPLATE
template ITPP_EXPORT cvec
diag(
const cmat &in);
965 ITPP_EXPORT_TEMPLATE
template ITPP_EXPORT
void diag(
const vec &in, mat &m);
966 ITPP_EXPORT_TEMPLATE
template ITPP_EXPORT
void diag(
const cvec &in, cmat &m);
967 ITPP_EXPORT_TEMPLATE
template ITPP_EXPORT mat
diag(
const vec &v,
const int K);
968 ITPP_EXPORT_TEMPLATE
template ITPP_EXPORT cmat
diag(
const cvec &v,
const int K);
970 ITPP_EXPORT_TEMPLATE
template ITPP_EXPORT mat
bidiag(
const vec &,
const vec &);
971 ITPP_EXPORT_TEMPLATE
template ITPP_EXPORT cmat
bidiag(
const cvec &,
const cvec &);
972 ITPP_EXPORT_TEMPLATE
template ITPP_EXPORT
void bidiag(
const vec &,
const vec &, mat &);
973 ITPP_EXPORT_TEMPLATE
template ITPP_EXPORT
void bidiag(
const cvec &,
const cvec &, cmat &);
974 ITPP_EXPORT_TEMPLATE
template ITPP_EXPORT
void bidiag(
const mat &, vec &, vec &);
975 ITPP_EXPORT_TEMPLATE
template ITPP_EXPORT
void bidiag(
const cmat &, cvec &, cvec &);
977 ITPP_EXPORT_TEMPLATE
template ITPP_EXPORT mat
tridiag(
const vec &main,
const vec &,
const vec &);
978 ITPP_EXPORT_TEMPLATE
template ITPP_EXPORT cmat
tridiag(
const cvec &main,
const cvec &,
const cvec &);
979 ITPP_EXPORT_TEMPLATE
template ITPP_EXPORT
void tridiag(
const vec &main,
const vec &,
const vec &, mat &);
980 ITPP_EXPORT_TEMPLATE
template ITPP_EXPORT
void tridiag(
const cvec &main,
const cvec &,
const cvec &, cmat &);
981 ITPP_EXPORT_TEMPLATE
template ITPP_EXPORT
void tridiag(
const mat &m, vec &, vec &, vec &);
982 ITPP_EXPORT_TEMPLATE
template ITPP_EXPORT
void tridiag(
const cmat &m, cvec &, cvec &, cvec &);
984 ITPP_EXPORT_TEMPLATE
template ITPP_EXPORT
double trace(
const mat &in);
985 ITPP_EXPORT_TEMPLATE
template ITPP_EXPORT std::complex<double>
trace(
const cmat &in);
986 ITPP_EXPORT_TEMPLATE
template ITPP_EXPORT
short trace(
const smat &in);
987 ITPP_EXPORT_TEMPLATE
template ITPP_EXPORT
int trace(
const imat &in);
988 ITPP_EXPORT_TEMPLATE
template ITPP_EXPORT bin
trace(
const bmat &in);
990 ITPP_EXPORT_TEMPLATE
template ITPP_EXPORT
void transpose(
const mat &m, mat &out);
991 ITPP_EXPORT_TEMPLATE
template ITPP_EXPORT
void transpose(
const cmat &m, cmat &out);
992 ITPP_EXPORT_TEMPLATE
template ITPP_EXPORT
void transpose(
const smat &m, smat &out);
993 ITPP_EXPORT_TEMPLATE
template ITPP_EXPORT
void transpose(
const imat &m, imat &out);
994 ITPP_EXPORT_TEMPLATE
template ITPP_EXPORT
void transpose(
const bmat &m,
bmat &out);
996 ITPP_EXPORT_TEMPLATE
template ITPP_EXPORT mat
transpose(
const mat &m);
997 ITPP_EXPORT_TEMPLATE
template ITPP_EXPORT cmat
transpose(
const cmat &m);
998 ITPP_EXPORT_TEMPLATE
template ITPP_EXPORT smat
transpose(
const smat &m);
999 ITPP_EXPORT_TEMPLATE
template ITPP_EXPORT imat
transpose(
const imat &m);
1002 ITPP_EXPORT_TEMPLATE
template ITPP_EXPORT
void hermitian_transpose(
const mat &m, mat &out);
1003 ITPP_EXPORT_TEMPLATE
template ITPP_EXPORT
void hermitian_transpose(
const cmat &m, cmat &out);
1004 ITPP_EXPORT_TEMPLATE
template ITPP_EXPORT
void hermitian_transpose(
const smat &m, smat &out);
1005 ITPP_EXPORT_TEMPLATE
template ITPP_EXPORT
void hermitian_transpose(
const imat &m, imat &out);
1014 ITPP_EXPORT_TEMPLATE
template ITPP_EXPORT
bool is_hermitian(
const mat &X);
1015 ITPP_EXPORT_TEMPLATE
template ITPP_EXPORT
bool is_hermitian(
const cmat &X);
1017 ITPP_EXPORT_TEMPLATE
template ITPP_EXPORT
bool is_unitary(
const mat &X);
1018 ITPP_EXPORT_TEMPLATE
template ITPP_EXPORT
bool is_unitary(
const cmat &X);
1020 ITPP_EXPORT_TEMPLATE
template ITPP_EXPORT vec
rvectorize(
const mat &m);
1021 ITPP_EXPORT_TEMPLATE
template ITPP_EXPORT cvec
rvectorize(
const cmat &m);
1022 ITPP_EXPORT_TEMPLATE
template ITPP_EXPORT ivec
rvectorize(
const imat &m);
1023 ITPP_EXPORT_TEMPLATE
template ITPP_EXPORT svec
rvectorize(
const smat &m);
1024 ITPP_EXPORT_TEMPLATE
template ITPP_EXPORT bvec
rvectorize(
const bmat &m);
1026 ITPP_EXPORT_TEMPLATE
template ITPP_EXPORT vec
cvectorize(
const mat &m);
1027 ITPP_EXPORT_TEMPLATE
template ITPP_EXPORT cvec
cvectorize(
const cmat &m);
1028 ITPP_EXPORT_TEMPLATE
template ITPP_EXPORT ivec
cvectorize(
const imat &m);
1029 ITPP_EXPORT_TEMPLATE
template ITPP_EXPORT svec
cvectorize(
const smat &m);
1030 ITPP_EXPORT_TEMPLATE
template ITPP_EXPORT bvec
cvectorize(
const bmat &m);
1032 ITPP_EXPORT_TEMPLATE
template ITPP_EXPORT mat
reshape(
const mat &m,
int rows,
int cols);
1033 ITPP_EXPORT_TEMPLATE
template ITPP_EXPORT cmat
reshape(
const cmat &m,
int rows,
int cols);
1034 ITPP_EXPORT_TEMPLATE
template ITPP_EXPORT imat
reshape(
const imat &m,
int rows,
int cols);
1035 ITPP_EXPORT_TEMPLATE
template ITPP_EXPORT smat
reshape(
const smat &m,
int rows,
int cols);
1036 ITPP_EXPORT_TEMPLATE
template ITPP_EXPORT
bmat reshape(
const bmat &m,
int rows,
int cols);
1038 ITPP_EXPORT_TEMPLATE
template ITPP_EXPORT mat
reshape(
const vec &m,
int rows,
int cols);
1039 ITPP_EXPORT_TEMPLATE
template ITPP_EXPORT cmat
reshape(
const cvec &m,
int rows,
int cols);
1040 ITPP_EXPORT_TEMPLATE
template ITPP_EXPORT imat
reshape(
const ivec &m,
int rows,
int cols);
1041 ITPP_EXPORT_TEMPLATE
template ITPP_EXPORT smat
reshape(
const svec &m,
int rows,
int cols);
1042 ITPP_EXPORT_TEMPLATE
template ITPP_EXPORT
bmat reshape(
const bvec &m,
int rows,
int cols);
1044 ITPP_EXPORT_TEMPLATE
template ITPP_EXPORT mat
kron(
const mat &X,
const mat &Y);
1045 ITPP_EXPORT_TEMPLATE
template ITPP_EXPORT cmat
kron(
const cmat &X,
const cmat &Y);
1046 ITPP_EXPORT_TEMPLATE
template ITPP_EXPORT imat
kron(
const imat &X,
const imat &Y);
1047 ITPP_EXPORT_TEMPLATE
template ITPP_EXPORT smat
kron(
const smat &X,
const smat &Y);
1048 ITPP_EXPORT_TEMPLATE
template ITPP_EXPORT
bmat kron(
const bmat &X,
const bmat &Y);
1050 ITPP_EXPORT_TEMPLATE
template ITPP_EXPORT vec repmat(
const vec &v,
int n);
1051 ITPP_EXPORT_TEMPLATE
template ITPP_EXPORT cvec repmat(
const cvec &v,
int n);
1052 ITPP_EXPORT_TEMPLATE
template ITPP_EXPORT ivec repmat(
const ivec &v,
int n);
1053 ITPP_EXPORT_TEMPLATE
template ITPP_EXPORT svec repmat(
const svec &v,
int n);
1054 ITPP_EXPORT_TEMPLATE
template ITPP_EXPORT bvec repmat(
const bvec &v,
int n);
1056 ITPP_EXPORT_TEMPLATE
template ITPP_EXPORT mat repmat(
const vec &v,
int m,
int n,
bool transpose);
1057 ITPP_EXPORT_TEMPLATE
template ITPP_EXPORT cmat repmat(
const cvec &v,
int m,
int n,
bool transpose);
1058 ITPP_EXPORT_TEMPLATE
template ITPP_EXPORT imat repmat(
const ivec &v,
int m,
int n,
bool transpose);
1059 ITPP_EXPORT_TEMPLATE
template ITPP_EXPORT smat repmat(
const svec &v,
int m,
int n,
bool transpose);
1060 ITPP_EXPORT_TEMPLATE
template ITPP_EXPORT
bmat repmat(
const bvec &v,
int m,
int n,
bool transpose);
1062 ITPP_EXPORT_TEMPLATE
template ITPP_EXPORT mat repmat(
const mat &data,
int m,
int n);
1063 ITPP_EXPORT_TEMPLATE
template ITPP_EXPORT cmat repmat(
const cmat &data,
int m,
int n);
1064 ITPP_EXPORT_TEMPLATE
template ITPP_EXPORT imat repmat(
const imat &data,
int m,
int n);
1065 ITPP_EXPORT_TEMPLATE
template ITPP_EXPORT smat repmat(
const smat &data,
int m,
int n);
1066 ITPP_EXPORT_TEMPLATE
template ITPP_EXPORT
bmat repmat(
const bmat &data,
int m,
int n);
1072 #endif // #ifndef MATFUNC_H