0

I would like to solve the following equation system:

enter image description here

where: $\alpha$ is the unknown vector; $M$ and $K$ are constant matrices (8 x 8).

I don't really know how to solve this :/ (LinearSolve or some loop?)

Any ideas?

Update

Here is my code. Evaluation of the Solve expression runs indefinitely.

M = {{18.252581868563773`, 0.06705185574759391`, 
   0.5486060924803138`, -0.039621551123578215`, 0.`, 0.`, 0.`, 
   0.`}, {0.06705185574759391`, 0.09741329795773487`, 
   1.3410371149518783`, -0.0027430304624015693`, 0.`, 0.`, 0.`, 
   0.`}, {0.5486060924803138`, 0.039621551123578215`, 
   8.858972456348772`, 0.`, -0.039621551123578215`, 0.`, 0.`, 
   0.`}, {-0.039621551123578215`, -0.0027430304624015693`, 0.`, 
   0.027796042019002567`, -0.0027430304624015693`, 0.`, 0.`, 
   0.`}, {0.`, 0.`, -0.039621551123578215`, -0.0027430304624015693`, 
   0.007314747899737517`, 
   1.3410371149518783`, -0.0027430304624015693`, 0.`}, {0.`, 0.`, 0.`,
    0.`, 0.039621551123578215`, 33.68554113363173`, 
   0.`, -0.039621551123578215`}, {0.`, 0.`, 0.`, 
   0.`, -0.0027430304624015693`, 0.`, 
   0.2974057336718429`, -0.0027430304624015693`}, {0.`, 0.`, 0.`, 0.`,
    0.`, -0.039621551123578215`, -0.0027430304624015693`, 
   0.0036573739498687585`}}

K = {{2.432045103220617*^7, 3.6480676548309256^6, -2.432045103220617`^7, 3.6480676548309256*^6, 0, 0, 0, 0}, {3.6480676548309256^6, 729613.5309661851, -3.6480676548309256^6, 364806.7654830926, 0, 0, 0, 0}, {-2.432045103220617^7, -3.6480676548309256`^6, 4.864090206441234*^7, 0., 3.6480676548309256*^6, 0, 0, 0}, {3.6480676548309256^6, 364806.7654830926, 0., 1.4592270619323703`^6, 364806.7654830926, 0, 0, 0}, {0, 0, 3.6480676548309256^6, 364806.7654830926, 1.4592270619323703^6, -3.6480676548309256*^6, 364806.7654830926, 0}, {0, 0, 0, 0, -3.6480676548309256*^6, 4.864090206441234^7, 0., 3.6480676548309256^6}, {0, 0, 0, 0, 364806.7654830926, 0., 1.4592270619323703*^6, 364806.7654830926}, {0, 0, 0, 0, 0, 3.6480676548309256*^6, 364806.7654830926, 729613.5309661851`}}

freqs = Table[Subscript[α, i], {i, MatrixRank[M]}]; EqOfFreq = -freqs^2 . M + K; Solve[Det[EqOfFreq] == 0, freqs];

Razero
  • 103
  • 2
  • I assume $\alpha$ is the $a$ you're talking about. Then, how do you understand $a^2$? – corey979 Nov 27 '16 at 15:23
  • That equation reminds me of my aeroelasticity home work :) Just find the polynomial with Determinant and then use Solve to find alpha. Why don't you post your matrices? – Mirko Aveta Nov 27 '16 at 15:26
  • @MirkoAveta It's for calculating the vibration frequencies of a stucture accually:) Anyway, I posted my martices and tried your method, but the evaluation won't stop. – Razero Nov 27 '16 at 16:10
  • You have a complicated polynomial equation of degree 16 and with 8 variables. It's impossible that a closed form solution exists. NSolve returns an infinite number of solutions. And I suspect your code doesn't reflect what you want: 1) how do you understand freqs^2., and 2) why did you put a dot after the exponent? – corey979 Nov 27 '16 at 16:14
  • Scalar product of freq and freq. Results a1a1+a2a2+a3*a3...so on, at least this is what I meant. 2) Just a typo, sorry
  • – Razero Nov 27 '16 at 16:25
  • 1
    So: no. Run freqs^2 and see what's the output. A scalar product (a dot product) is performed with the Dot: freqs.freqs. Then, Det[EqOfFreq] is a polynomial with 8 variables with degree 16 and... over 17 thousand terms. – corey979 Nov 27 '16 at 16:28
  • Oh I see! I've alwasy used this form in paper, I thought Mathematica would implement it the same way. Thanks for the correction!:) – Razero Nov 27 '16 at 16:40
  • If you change freqs^2 into some x (being the sum of squares of the alphas), as you multiply the whole matrix M with this scalar, you will then find with small accuracy (using FindRoot) that for the determinant to vanish x = 19176.7. Because you have one equation with 8 variables, you won't get anything more of a constraint, which is poor 'cause the coefficients of the characteristic polynomial span 55 orders of magnitude. – corey979 Nov 27 '16 at 16:44
  • Yes it is a funny annotation used in structural dynamics and also in aeroelasticity. Yet you have to keep in mind that freq^2 is read as power of two by mathematica, and this would mean two roots. – Mirko Aveta Nov 27 '16 at 17:12