예제 #1
0
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);
	}
}
예제 #2
0
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);
	}
}