support for arbitrary shape sparse array construction