<div class="gmail_quote">On Fri, Sep 30, 2011 at 10:51, Hui Zhang <span dir="ltr">&lt;<a href="mailto:mike.hui.zhang@hotmail.com">mike.hui.zhang@hotmail.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<div id=":gd">Do you know what type of the resulting vector y by MatMult of a MatNest A and a Vec x, i.e. y = Ax?<br></div></blockquote><div><br></div><div>MatMult does not change the types of vectors. This function works with any types.</div>
<div><br></div><div>Note, however, that many Vec operations require all arguments to have the same type, so you can&#39;t freely mix native Vec with VecNest. I don&#39;t recommend using VecNest unless you have a very specific use case and can explain to me why you should use it. (I do recommend using MatNest, but generally with the MatGetLocalSubMatrix() so you don&#39;t depend on it---I always try to avoid depending on implementations.)</div>
<div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;"><div id=":gd">
Because after that I want to modify a SubVec of the result y. If it is a VectNest, I think<br>
VecNestGetSubVec should be used but not VecGetSubVector.</div></blockquote></div><br><div>This is why VecNest implements VecGetSubVector (see VecGetSubVector_Nest).</div>