# How to multiply vector with list items

I want to draw a point on every vertex of an instanced mesh in a particle system. I put together this short script to do that. It runs without error but nothing happens. The console puts out this message:

File "C:\XXXXXX\XXXXXXX\XXXXXXXX\particle draw.blend\Draw Particle Points", line 23, in draw
TypeError: Vector multiplication: not supported between 'Vector' and 'list' types


So it's not possible to multiply a vector with a list which makes sense. What do i have to do to multiply the vector p.location with all inst_verts_coords list items

import bpy
import gpu
from mathutils import Matrix

# get the depsgraph and the evaluated object
dg = bpy.context.evaluated_depsgraph_get()
eva_obj = bpy.context.object.evaluated_get(dg)
# assume context object has a ps, use active
ps = eva_obj.particle_systems.active

#obj = bpy.context.active_object
inst_obj = ps.settings.instance_object
inst_obj_verts = inst_obj.data.vertices[0]
inst_verts_coords = [(inst_obj.matrix_world @ inst_obj_verts.co) for inst_obj_verts in inst_obj.data.vertices]

def draw():
for p in ps.particles:
#make a matrix for the particles
M = p.rotation.to_matrix().to_4x4()
M.translation = p.location

#translate instance object vertex coords to particle coords
part_obj_coords = [p.location @ inst_verts_coords]
#store vertex coordinates of instance object



In case I'm missing something else give me a heads up.

inst_verts_coords is a list of coordinates (Vectors). So you won't be able to apply a matrix to this list. Maybe you want to change the following line (assuming you want to apply matrix to each individual Vector element of the list):
part_obj_coords = [p.location @ inst_verts_coords]

part_obj_coords = [M @ co for co in inst_verts_coords]