sparse product fixed