Implement vector product