I had to start an answer, since a comment would not fit in the given space. The present "answer" is only showing that the resulting equation of degree six -- even in some particular cases -- is "too generic" to offer a possibility of expressing solutions by "simple means", e.g. radicals (combined with simple algebra.)
First of all, let us rewrite the code, so that it can be copy-pasted.
x,a,b,c,s1,s2,s3,s4,s5,s6 = var( 'x a b c s1 s2 s3 s4 s5 s6' )
k = matrix( [
[-3*a-b+c*s1,a,a,0,a,0],
[a,-2*a-b+c*s2,a,0,0,0],
[a,a,-4*a-b+c*s3,a,a,0],
[0,0,a,-2*a-b+c*s4,a,0],
[a,0,a,a,-4*a-b+c*s5,a],
[0,0,0,0,a, -a-b+c*s6]
] )
B = matrix( k - x*matrix.identity(6) )
print k
And the matrix k is:
[c*s1 - 3*a - b a a 0 a 0]
[ a c*s2 - 2*a - b a 0 0 0]
[ a a c*s3 - 4*a - b a a 0]
[ 0 0 a c*s4 - 2*a - b a 0]
[ a 0 a a c*s5 - 4*a - b a]
[ 0 0 0 0 a c*s6 - a - b]
A first question is: Is this the matrix to be studied?
Now we want to subtract x on the diagonal, apply the determinant, and solve with respect to x.
Then we can forget about b. (It has only a shifting contribution of the eigenvalues.) We can set without loss of generality b=0. The variable c is the next one that we should get rid of. Since s1,s2,…,s6 are general enough, we can also set either c=0, the degenerated case which removes the dependency on the s-variables, or c=1 else. Than, replacing s1−3a by "an other" s1 we have to understand the eigenvalues of a matrix M of the following "too general" shape:
M = matrix( [
[s1,a,a,0,a,0],
[a,s2,a,0,0,0],
[a,a,s3,a,a,0],
[0,0,a,s4,a,0],
[a,0,a,a,s5,a],
[0,0,0,0,a,s6]
] )
M
We get:
[s1 a a 0 a 0]
[ a s2 a 0 0 0]
[ a a s3 a a 0]
[ 0 0 a s4 a 0]
[ a 0 a a s5 a]
[ 0 0 0 0 a s6]
If a=0, a very special case, we have of course no problems. Else, we can multiply the whole matrix by 1/a and get an equivalent problem, namely to find the eigenvalues of the matrix:
M = matrix( [
[s1,1,1,0,1,0],
[1,s2,1,0,0,0],
[1,1,s3,1,1,0],
[0,0,1,s4,1,0],
[1,0,1,1,s5,1],
[0,0,0,0,1,s6]
] )
M
Explicity:
[s1 1 1 0 1 0]
[ 1 s2 1 0 0 0]
[ 1 1 s3 1 1 0]
[ 0 0 1 s4 1 0]
[ 1 0 1 1 s5 1]
[ 0 0 0 0 1 s6]
Some rows / columns are simpler than the other ones.
For instance, the row / column through the entry s6 has only one non-diagonal 1.
This matrix is still too complicated to allow a general formula for its eigenvalues.
For instance, let us plug in some explicit values for s1,s2,…,s6:
def MM( s1, s2, s3, s4, s5, s6 ):
return matrix( [
[s1,1,1,0,1,0],
[1,s2,1,0,0,0],
[1,1,s3,1,1,0],
[0,0,1,s4,1,0],
[1,0,1,1,s5,1],
[0,0,0,0,1,s6]
] )
MM( 0,0,0,0,0,0 ).charpoly()
This gives:
x^6 - 8*x^4 - 6*x^3 + 7*x^2 + 4*x - 1
Well, the above polynomial has no "obvious roots", that can be expressed by radicals. So the more general equation also has no "obvious roots". Which is the origin of the question?