void bidiag(BB & A){ typename BB::Field::Element d; A.field().assign(d, A.field().one); A.setEntry(0,0, d); size_t n = A.coldim() > A.rowdim() ? A.rowdim() : A.coldim(); for(size_t i = 1; i < n; ++i) { A.setEntry(i,i, d); A.setEntry(i,i-1, d); } }
void randBuild(BB & A, size_t nnz){ for(size_t i = 0; i < nnz; ++i) { typename BB::Field::Element d; A.field().init(d, rand()); size_t ii = rand()%A.rowdim(); size_t jj = rand()%A.coldim(); A.setEntry(ii,jj, d); } }