ArrayFire: lin_algebra/svd.cpp (original) (raw)
#include
#include
using namespace af;
int main(int argc, char* argv[]) {
try {
int device = argc > 1 ? atoi(argv[1]) : 0;
float h_buffer[] = {1, 4, 2, 5, 3, 6};
array in(2, 3, h_buffer);
svd(u, s_vec, vt, in);
array s_mat = diag(s_vec, 0, false);
array in_recon = matmul(u, s_mat, vt(seq(2), span));
fprintf(stderr, "%s\n", e.what());
throw;
}
return 0;
}
A multi dimensional data container.
An ArrayFire exception class.
virtual const char * what() const
Returns an error message for the exception in a string format.
seq is used to create sequences for indexing af::array
AFAPI void setDevice(const int device)
Sets the current device.