<div dir="ltr"><div>dear dune developers,</div><div><br></div><div>a have a question about building a BCRSMatrix that I would be thankful if someone could enlighten me about.</div><div><br></div><div>I have 3 BCRSMatrix instances A, B and C</div><div>A and B have different sparsity patterns given explicitly and C is the sum of A and B. Is there a way to C get built without having to define explicitly its sparcity pattern (deduce the sparcity pattern of C implicitly through its definition (C = A + B)?</div><div><br></div><div>here is my example:</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>    typedef Dune::BCRSMatrix<Dune::FieldMatrix<double,1,1> > ScalarMatrix;</div><div><br></div><div><span class="Apple-tab-span" style="white-space:pre">    </span>    ScalarMatrix A(2,2,ScalarMatrix::random);</div><div><span class="Apple-tab-span" style="white-space:pre">      </span>    A.setrowsize(0,1);</div><div><span class="Apple-tab-span" style="white-space:pre">     </span>    A.endrowsizes();</div><div><span class="Apple-tab-span" style="white-space:pre">       </span>    A.addindex(0,0);</div><div><span class="Apple-tab-span" style="white-space:pre">       </span>    A.endindices();</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>    Dune::printmatrix(std::cout, A, "A", "row");</div><div><br></div><div><span class="Apple-tab-span" style="white-space:pre">      </span>    ScalarMatrix B(2,2,ScalarMatrix::random);</div><div><span class="Apple-tab-span" style="white-space:pre">      </span>    B.setrowsize(1,1);</div><div><span class="Apple-tab-span" style="white-space:pre">     </span>    B.endrowsizes();</div><div><span class="Apple-tab-span" style="white-space:pre">       </span>    B.addindex(1,1);</div><div><span class="Apple-tab-span" style="white-space:pre">       </span>    B.endindices();</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>    Dune::printmatrix(std::cout, B, "B", "row");</div><div><br></div><div><span class="Apple-tab-span" style="white-space:pre">      </span>    ScalarMatrix C(2,2,ScalarMatrix::implicit<span style="background-color:rgb(255,255,0)">/*unkown*//*random*/</span>);</div><div><span style="background-color:rgb(255,255,0)"><span class="Apple-tab-span" style="white-space:pre">       </span>    // C = A + B;</span></div><div><span style="background-color:rgb(255,255,0)"><span class="Apple-tab-span" style="white-space:pre">       </span>    // don't know what to do to build C?!!</span></div><div><span class="Apple-tab-span" style="white-space:pre">       </span>    Dune::printmatrix(std::cout, C, "C", "row");</div><div><br></div><div>Thanks for your help!</div><div><br></div><div>Adim</div></div>