subst, at, and implicit diffs | summary



Just to summarize (for the benefit of semi-newbies like me who might run 
into this):

base : 
matrix([0,0,m_3*s_0,0,0],[(1-sigma_1)*s_1,0,0,0,0],[0,(1-sigma_2)*s_2,s_3,0,0],[sigma_1*s_1,0,0,0,0],[0,sigma_2*s_2,0,s_2,s_3]);
cp_base : charpoly(base,lambda);
depends(lambda,sigma_1);
deriv : diff(cp_base,sigma_1);
lls_sig1 : solve(deriv,'diff(lambda,sigma_1));

So, lls_sig1 is the implicit derivative of the chracteristic polynomial 
for the base matrix. To evaluate it numerically, given some set of 
parameter values, you can use either subst, or at, as shown below:


  subst([s_0=0.35,s_1=0.60,s_2=0.80,s_3=0.90,m_3=1.25,lambda=1.08,sigma_1=0,sigma_2=0],rhs(first(lls_sig1)));

which is entirely equivalent (at least numerically, if not conceptually) to

at(lls_sig1,[s_0=0.35,s_1=0.60,s_2=0.80,s_3=0.90,m_3=1.25,lambda=1.08,sigma_1=0,sigma_2=0]);


Thanks to those who replied to my OP for various reminders, pointers, 
and clarifications...