# Section 9.7# Example 1 with(linalg):A := matrix([[1,-2,2],[-2,1,2],[2,2,1]]);NiM+JSJBR0slJ21hdHJpeEc2IzclNyUiIiIhIiMiIiM3JUYrRipGLDclRixGLEYqUSlwcHJpbnQxNzYig := vector([-9,0,-18]);NiM+JSJnR0slJ3ZlY3Rvckc2IzclISIqIiIhISM9USlwcHJpbnQxODYia := vector(3); b := vector(3);NiM+JSJhRy0lJmFycmF5RzYkOyIiIiIiJDciNiM+JSJiRy0lJmFycmF5RzYkOyIiIiIiJDcixp := evalm(t*a+b);NiM+JSN4cEdLJSd2ZWN0b3JHNiM3JSwmKiYlInRHIiIiJiUiYUc2I0YsRixGLCYlImJHRi9GLCwmKiZGK0YsJkYuNiMiIiNGLEYsJkYxRjVGLCwmKiZGK0YsJkYuNiMiIiRGLEYsJkYxRjtGLFEpcHByaW50MTk2Ig==de := -map(diff,xp,t) + (A&*xp+t*g)=[0,0,0];# This is equivalent to the 2nd to last eqn on P.551NiM+JSNkZUcvLChLJSd2ZWN0b3JHNiM3JSYlImFHNiMiIiImRiw2IyIiIyZGLDYjIiIkUSlwcHJpbnQyMDYiISIiLSUjJipHNiQlIkFHJSN4cEdGLiomJSJ0R0YuJSJnR0YuRi43JSIiIUZBRkE=de := evalm(%);NiM+JSNkZUcvSyUndmVjdG9yRzYjNyUsMiYlImFHNiMiIiIhIiIqJiUidEdGLkYrRi5GLiYlImJHRi1GLiooIiIjRi5GMUYuJkYsNiNGNUYuRi8qJkY1Ri4mRjNGN0YuRi8qKEY1Ri5GMUYuJkYsNiMiIiRGLkYuKiZGNUYuJkYzRjxGLkYuKiYiIipGLkYxRi5GLywwRjZGLyooRjVGLkYxRi5GK0YuRi8qJkY1Ri5GMkYuRi8qJkYxRi5GNkYuRi5GOUYuKihGNUYuRjFGLkY7Ri5GLiomRjVGLkY/Ri5GLiwyRjtGLyooRjVGLkYxRi5GK0YuRi4qJkY1Ri5GMkYuRi4qKEY1Ri5GMUYuRjZGLkYuKiZGNUYuRjlGLkYuKiZGMUYuRjtGLkYuRj9GLiomIiM9Ri5GMUYuRi9RKXBwcmludDIxNiJLRic2IzclIiIhRlVGVVEpcHByaW50MjJGUQ==map(diff,lhs(de),t)=[0,0,0]; # This is the "coefficient" of t, or eqn (3), P. 552NiMvSyUndmVjdG9yRzYjNyUsKiYlImFHNiMiIiJGLComIiIjRiwmRio2I0YuRiwhIiIqJkYuRiwmRio2IyIiJEYsRiwiIipGMSwoKiZGLkYsRilGLEYxRi9GLComRi5GLEYzRixGLCwqKiZGLkYsRilGLEYsKiZGLkYsRi9GLEYsRjNGLCIjPUYxUSlwcHJpbnQyMzYiNyUiIiFGQUZBeq1 := %;NiM+JSRlcTFHL0slJ3ZlY3Rvckc2IzclLComJSJhRzYjIiIiRi4qJiIiI0YuJkYsNiNGMEYuISIiKiZGMEYuJkYsNiMiIiRGLkYuIiIqRjMsKComRjBGLkYrRi5GM0YxRi4qJkYwRi5GNUYuRi4sKiomRjBGLkYrRi5GLiomRjBGLkYxRi5GLkY1Ri4iIz1GM1EpcHByaW50MjQ2IjclIiIhRkNGQw==# The following verifies eq1 is equivalent to eqn(3) in the text:evalm(A&*a+g=[0,0,0]);NiMvSyUndmVjdG9yRzYjNyUsKiYlImFHNiMiIiJGLComIiIjRiwmRio2I0YuRiwhIiIqJkYuRiwmRio2IyIiJEYsRiwiIipGMSwoKiZGLkYsRilGLEYxRi9GLComRi5GLEYzRixGLCwqKiZGLkYsRilGLEYsKiZGLkYsRi9GLEYsRjNGLCIjPUYxUSlwcHJpbnQyNTYiS0YlNiM3JSIiIUZDRkNRKXBwcmludDI2Rj8=eq2 := subs(t=0,lhs(de))=[0,0,0]; # This is the "coefficient" of 1, or eqn (4), P 552NiM+JSRlcTJHL0slJ3ZlY3Rvckc2IzclLComJSJhRzYjIiIiISIiJiUiYkdGLUYuKiYiIiNGLiZGMTYjRjNGLkYvKiZGM0YuJkYxNiMiIiRGLkYuLComRixGNUYvKiZGM0YuRjBGLkYvRjRGLiomRjNGLkY3Ri5GLiwqJkYsRjhGLyomRjNGLkYwRi5GLiomRjNGLkY0Ri5GLkY3Ri5RKXBwcmludDI3NiI3JSIiIUZFRkU=# The following verifies eq2 is equivalent to eqn(4):evalm(A&*b-a=[0,0,0]);NiMvSyUndmVjdG9yRzYjNyUsKiYlImFHNiMiIiIhIiImJSJiR0YrRiwqJiIiI0YsJkYvNiNGMUYsRi0qJkYxRiwmRi82IyIiJEYsRiwsKiZGKkYzRi0qJkYxRixGLkYsRi1GMkYsKiZGMUYsRjVGLEYsLComRipGNkYtKiZGMUYsRi5GLEYsKiZGMUYsRjJGLEYsRjVGLFEpcHByaW50Mjg2IktGJTYjNyUiIiFGRUZFUSlwcHJpbnQyOUZB# The following solve for a and b:linsolve(A,-g);NiNLJSd2ZWN0b3JHNiM3JSIiJiIiIyIiJVEpcHByaW50MzA2Ig==a := %;NiM+JSJhR0slJ3ZlY3Rvckc2IzclIiImIiIjIiIlUSlwcHJpbnQzMTYilinsolve(A,a);NiNLJSd2ZWN0b3JHNiM3JSIiIiIiISIiI1EpcHByaW50MzI2Ig==b := %;NiM+JSJiR0slJ3ZlY3Rvckc2IzclIiIiIiIhIiIjUSlwcHJpbnQzMzYixp := evalm(a*t+b);NiM+JSN4cEdLJSd2ZWN0b3JHNiM3JSwmKiYiIiYiIiIlInRHRixGLEYsRiwsJComIiIjRixGLUYsRiwsJiomIiIlRixGLUYsRixGMEYsUSlwcHJpbnQzNDYi# Example 2X := matrix([[3*exp(t),exp(-t)],[exp(t),exp(-t)]]);NiM+JSJYR0slJ21hdHJpeEc2IzckNyQsJComIiIkIiIiLSUkZXhwRzYjJSJ0R0YtRi0tRi82IywkRjEhIiI3JEYuRjJRKXBwcmludDM1NiI=I := matrix([[1,0],[0,1]]);NiM+JSJJR0slJ21hdHJpeEc2IzckNyQiIiIiIiE3JEYrRipRKXBwcmludDM2NiI=XI := augment(X,I);NiM+JSNYSUdLJSdtYXRyaXhHNiM3JDcmLCQqJiIiJCIiIi0lJGV4cEc2IyUidEdGLUYtLUYvNiMsJEYxISIiRi0iIiE3JkYuRjJGNkYtUSlwcHJpbnQzNzYi#We will use elementary row operations to reduce this to the form [I:X^(-1]:mulrow(XI,1,1/(3*exp(t)));#This multiplies row 1 by 1/(3*exp(t))NiNLJSdtYXRyaXhHNiM3JDcmIiIiLCQqJiNGKCIiJEYoKiYtJSRleHBHNiMlInRHISIiLUYvNiMsJEYxRjJGKEYoRigsJComRitGKComRihGKEYuRjJGKEYoIiIhNyZGLkYzRjlGKFEpcHByaW50Mzg2Ig==addrow(%,1,2,-exp(t));#This adds -exp(t) times row 1 to row 2NiNLJSdtYXRyaXhHNiM3JDcmIiIiLCQqJiNGKCIiJEYoKiYtJSRleHBHNiMlInRHISIiLUYvNiMsJEYxRjJGKEYoRigsJComRitGKComRihGKEYuRjJGKEYoIiIhNyZGOSwkKiYjIiIjRixGKEYzRihGKCNGMkYsRihRKXBwcmludDM5NiI=mulrow(%,2,3*exp(t)/2); #This multiplies row 2 by 3*exp(t)/2NiNLJSdtYXRyaXhHNiM3JDcmIiIiLCQqJiNGKCIiJEYoKiYtJSRleHBHNiMlInRHISIiLUYvNiMsJEYxRjJGKEYoRigsJComRitGKComRihGKEYuRjJGKEYoIiIhNyZGOSomRi5GKEYzRigsJComI0YoIiIjRihGLkYoRjIsJComI0YsRj9GKEYuRihGKFEpcHByaW50NDA2Ig==simplify(%);NiNLJSdtYXRyaXhHNiM3JDcmIiIiLCQqJiNGKCIiJEYoLSUkZXhwRzYjLCQqJiIiI0YoJSJ0R0YoISIiRihGKCwkKiZGK0YoLUYuNiMsJEYzRjRGKEYoIiIhNyZGOkYoLCQqJiNGKEYyRigtRi42I0YzRihGNCwkKiYjRixGMkYoRj9GKEYoUSlwcHJpbnQ0MTYiaddrow(%,2,1,-1/3*exp(-2*t));NiNLJSdtYXRyaXhHNiM3JDcmIiIiIiIhLCYqJiNGKCIiJ0YoKiYtJSRleHBHNiMsJComIiIjRiglInRHRighIiJGKC1GMDYjRjVGKEYoRigqJiNGKCIiJEYoLUYwNiMsJEY1RjZGKEYoLCQqJiNGKEY0RihGLkYoRjY3JkYpRigsJComI0YoRjRGKEY3RihGNiwkKiYjRjtGNEYoRjdGKEYoUSlwcHJpbnQ0MjYisimplify(%);NiNLJSdtYXRyaXhHNiM3JDcmIiIiIiIhLCQqJiNGKCIiI0YoLSUkZXhwRzYjLCQlInRHISIiRihGKCwkKiYjRihGLUYoRi5GKEYzNyZGKUYoLCQqJiNGKEYtRigtRi82I0YyRihGMywkKiYjIiIkRi1GKEY7RihGKFEpcHByaW50NDM2Ig==# This right 2 by 2 matrix is the inverse of X.# Another way is to use Maple's "inverse" command:evalm(X);NiNLJSdtYXRyaXhHNiM3JDckLCQqJiIiJCIiIi0lJGV4cEc2IyUidEdGK0YrLUYtNiMsJEYvISIiNyRGLEYwUSlwcHJpbnQ0NDYiinverse(X);NiNLJSdtYXRyaXhHNiM3JDckLCQqJiMiIiIiIiNGKyomRitGKy0lJGV4cEc2IyUidEchIiJGK0YrLCQqJiNGK0YsRitGLUYrRjI3JCwkKiYjRitGLEYrKiZGK0YrLUYvNiMsJEYxRjJGMkYrRjIsJComIyIiJEYsRitGOkYrRitRKXBwcmludDQ1NiI=Xinv := simplify(%);NiM+JSVYaW52R0slJ21hdHJpeEc2IzckNyQsJComIyIiIiIiI0YtLSUkZXhwRzYjLCQlInRHISIiRi1GLSwkKiYjRi1GLkYtRi9GLUY0NyQsJComI0YtRi5GLS1GMDYjRjNGLUY0LCQqJiMiIiRGLkYtRjxGLUYtUSlwcHJpbnQ0NjYi# We next compute the integral in formula (13):subs(t=s,evalm(Xinv));NiNLJSdtYXRyaXhHNiM3JDckLCQqJiMiIiIiIiNGKy0lJGV4cEc2IywkJSJzRyEiIkYrRissJComI0YrRixGK0YtRitGMjckLCQqJiNGK0YsRistRi42I0YxRitGMiwkKiYjIiIkRixGK0Y6RitGK1EpcHByaW50NDc2Ig==Xinvs := %;NiM+JSZYaW52c0dLJSdtYXRyaXhHNiM3JDckLCQqJiMiIiIiIiNGLS0lJGV4cEc2IywkJSJzRyEiIkYtRi0sJComI0YtRi5GLUYvRi1GNDckLCQqJiNGLUYuRi0tRjA2I0YzRi1GNCwkKiYjIiIkRi5GLUY8Ri1GLVEpcHByaW50NDg2Ig==fs := vector([exp(2*s),1]);NiM+JSNmc0dLJSd2ZWN0b3JHNiM3JC0lJGV4cEc2IywkKiYiIiMiIiIlInNHRi9GL0YvUSlwcHJpbnQ0OTYievalm(Xinvs&*fs);NiNLJSd2ZWN0b3JHNiM3JCwmKiYjIiIiIiIjRioqJi0lJGV4cEc2IywkJSJzRyEiIkYqLUYuNiMsJComRitGKkYxRipGKkYqRipGKiomI0YqRitGKkYtRipGMiwmKiYjRipGK0YqKiYtRi42I0YxRipGM0YqRipGMiomIyIiJEYrRipGPUYqRipRKXBwcmludDUwNiI=simplify(%);NiNLJSd2ZWN0b3JHNiM3JCwmKiYjIiIiIiIjRiotJSRleHBHNiMlInNHRipGKiomI0YqRitGKi1GLTYjLCRGLyEiIkYqRjUsJiomI0YqRitGKi1GLTYjLCQqJiIiJEYqRi9GKkYqRipGNSomI0Y9RitGKkYsRipGKlEpcHByaW50NTE2Ig==map(int,%,s=0..t);NiNLJSd2ZWN0b3JHNiM3JCwoKiYjIiIiIiIjRiotJSRleHBHNiMlInRHRipGKiomRilGKi1GLTYjLCRGLyEiIkYqRipGKkY0LCgqJiNGKiIiJ0YqLUYtNiMsJComIiIkRipGL0YqRipGKkY0KiYjRj1GK0YqRixGKkYqIyIiJUY9RjRRKXBwcmludDUyNiI=temp := %; # Save this while we work on the first term in formula (13)NiM+JSV0ZW1wR0slJ3ZlY3Rvckc2IzckLCgqJiMiIiIiIiNGLC0lJGV4cEc2IyUidEdGLEYsKiZGK0YsLUYvNiMsJEYxISIiRixGLEYsRjYsKComI0YsIiInRiwtRi82IywkKiYiIiRGLEYxRixGLEYsRjYqJiNGP0YtRixGLkYsRiwjIiIlRj9GNlEpcHByaW50NTM2Ig==subs(t=0,evalm(Xinv));NiNLJSdtYXRyaXhHNiM3JDckLCQqJiMiIiIiIiNGKy0lJGV4cEc2IyIiIUYrRissJComI0YrRixGK0YtRishIiI3JEYxLCQqJiMiIiRGLEYrRi1GK0YrUSlwcHJpbnQ1NDYisimplify(%);NiNLJSdtYXRyaXhHNiM3JDckIyIiIiIiIyMhIiJGKjckRisjIiIkRipRKXBwcmludDU1NiI=evalm(%&*[-1,0]);NiNLJSd2ZWN0b3JHNiM3JCMhIiIiIiMjIiIiRilRKXBwcmludDU2NiI=# Next, we add this to temp, and then left-multiply the sum by X:evalm(%+temp);NiNLJSd2ZWN0b3JHNiM3JCwoIyIiJCIiIyEiIiomIyIiIkYqRi4tJSRleHBHNiMlInRHRi5GLiomRi1GLi1GMDYjLCRGMkYrRi5GLiwoIyIiJiIiJ0YrKiYjRi5GOkYuLUYwNiMsJComRilGLkYyRi5GLkYuRisqJiNGKUYqRi5GL0YuRi5RKXBwcmludDU3NiI=evalm(X &* %);NiNLJSd2ZWN0b3JHNiM3JCwmKigiIiQiIiItJSRleHBHNiMlInRHRiosKCNGKSIiIyEiIiomI0YqRjFGKkYrRipGKiomRjRGKi1GLDYjLCRGLkYyRipGKkYqRioqJkY2RiosKCMiIiYiIidGMiomI0YqRj1GKi1GLDYjLCQqJkYpRipGLkYqRipGKkYyKiYjRilGMUYqRitGKkYqRipGKiwmKiZGK0YqRi9GKkYqRjlGKlEpcHByaW50NTg2Ig==simplify(%);NiNLJSd2ZWN0b3JHNiM3JCwqKiYjIiIqIiIjIiIiLSUkZXhwRzYjJSJ0R0YsISIiKiYjIiIlIiIkRiwtRi42IywkKiZGK0YsRjBGLEYsRixGLEY1RiwqJiMiIiYiIidGLC1GLjYjLCRGMEYxRixGMSwqKiYjRjVGK0YsRi1GLEYxKiYjRixGNUYsRjZGLEYsRitGLComI0Y8Rj1GLEY+RixGMVEpcHByaW50NTk2Ig==