def iplot_bloch_multivector(rho, figsize=None):
<EOL>html_template = Template("""<STR_LIT>""")<EOL>javascript_template = Template("""<STR_LIT>""")<EOL>rho = _validate_input_state(rho)<EOL>if figsize is None:<EOL><INDENT>options = {}<EOL><DEDENT>else:<EOL><INDENT>options = {'<STR_LIT:width>': figsize[<NUM_LIT:0>], '<STR_LIT>': figsize[<NUM_LIT:1>]}<EOL><DEDENT>num = int(np.log2(len(rho)))<EOL>bloch_data = []<EOL>for i in range(num):<EOL><INDENT>pauli_singles = [Pauli.pauli_single(num, i, '<STR_LIT:X>'), Pauli.pauli_single(num, i, '<STR_LIT:Y>'),<EOL>Pauli.pauli_single(num, i, '<STR_LIT>')]<EOL>bloch_state = list(map(lambda x: np.real(np.trace(np.dot(x.to_matrix(), rho))),<EOL>pauli_singles))<EOL>bloch_data.append(bloch_state)<EOL><DEDENT>div_number = str(time.time())<EOL>div_number = re.sub('<STR_LIT>', '<STR_LIT>', div_number)<EOL>html = html_template.substitute({<EOL>'<STR_LIT>': div_number<EOL>})<EOL>javascript = javascript_template.substitute({<EOL>'<STR_LIT:data>': bloch_data,<EOL>'<STR_LIT>': div_number,<EOL>'<STR_LIT>': options<EOL>})<EOL>display(HTML(html + javascript))<EOL>
Create a bloch sphere representation.

        Graphical representation of the input array, using as much bloch
        spheres as qubit are required.

        Args:
            rho (array): State vector or density matrix
            figsize (tuple): Figure size in pixels.