Automatically create QUBO which select K qubits from N qubits
	.. code-block:: python
		print(wq.sel(5,2))
		#=>
		[[-3  2  2  2  2]
		[ 0 -3  2  2  2]
		[ 0  0 -3  2  2]
		[ 0  0  0 -3  2]
		[ 0  0  0  0 -3]]
		
	if you set array on the 3rd params, the result likely to choose the nth qubit in the array
	.. code-block:: python
		print(wq.sel(5,2,[0,2]))
		#=>
		[[-3.5  2.   2.   2.   2. ]
		[ 0.  -3.   2.   2.   2. ]
		[ 0.   0.  -3.5  2.   2. ]
		[ 0.   0.   0.  -3.   2. ]
		[ 0.   0.   0.   0.  -3. ]]

def sel(selN,selK,selarr=[]):
	"""
	Automatically create QUBO which select K qubits from N qubits
	.. code-block:: python
		print(wq.sel(5,2))
		#=>
		[[-3  2  2  2  2]
		[ 0 -3  2  2  2]
		[ 0  0 -3  2  2]
		[ 0  0  0 -3  2]
		[ 0  0  0  0 -3]]
		
	if you set array on the 3rd params, the result likely to choose the nth qubit in the array
	.. code-block:: python
		print(wq.sel(5,2,[0,2]))
		#=>
		[[-3.5  2.   2.   2.   2. ]
		[ 0.  -3.   2.   2.   2. ]
		[ 0.   0.  -3.5  2.   2. ]
		[ 0.   0.   0.  -3.   2. ]
		[ 0.   0.   0.   0.  -3. ]]
	"""
	selres = np.diag([1-2*selK]*selN)+np.triu([[2] * selN for i in range(selN)],k=1)
	selmat = np.zeros(selN)
	for i in range(len(selarr)):
		selmat[selarr[i]] += 1
	selres = np.asarray(selres) - 0.5*np.diag(selmat)
	return selres