function Q = quadrature(number)
% Returns a structure containing quadrature nodes and weights as well as their number.

	weights = {
		[0.5],
		[1/6, 1/6, 1/6],
		[],
		[]
	};

	points = {
		[1/3  1/3]',
		[0 0; 1 0; 0 1]',
		[],
		[]
	};

	order = {
		1,
		2,
	        [].
		[]
	};


	% order 3 with 3 points by Hammer/Stroud
	r = 1/6;
	s = 4/6;
	points{3} = [r r; r s; s r]';
	weights{3} = [1/6 1/6 1/6];
	order{3} = 3;
	

	% order 6 with 7 points by Radon, Hammer/Marlowe/Stroud
	t = 1/3;
	r = (6-sqrt(15))/21;
	s = (9+2*sqrt(15))/21;
	u = (6+sqrt(15))/21;
	v = (9-2*sqrt(15))/21;
	points{4} = [t t; r r; r s; s r; u u; u v; v u]';
	
	A = 9/40 * 0.5;
	B = (155-sqrt(15))/1200 * 0.5;
	C = (155+sqrt(15))/1200 * 0.5;
	weights{4} = [A B B B C C C];
	
	order{4} = 6;
	

	Q = struct('size', length(weights{number}), 'points', points{number}, 'weights', weights{number}, 'order', order{number});

end

