optional matrix