Supongamos que $A\in M_{nk,nk}$ . Entonces $(P_n)$ sean las secuencias de matrices definidas como sigue: $P_1=J_n,P_2={J_n}^2-I,P_q=J_nP_{q-1}-P_{q-2}$ .
Entonces $\det(A)=\det(P_k)$ .
EDITAR. Los valores propios de $J_n$ son los $(1+2\cos(\pi \dfrac{p}{n+1})),p=1\cdots n$ Así, si $Q$ es cualquier polinomio, entonces podemos calcular aproximaciones de los valores propios de $Q(J_n)$ y, a continuación, una aproximación de $\det(A)$ . Cuando tenemos suficientes cifras significativas, deducimos el resultado verdadero -porque éste es un número entero-. Por último, no necesitamos calcular ningún producto de matrices. Que sigue calcula -usando Maple- $\det(A)$ cuando $n=k=100$ (duración del cálculo: $1$ "). Primer paso. Eliges Dígitos:=30. Ves que el resultado tiene $1076$ dígitos. Segundo paso. Eliges Digits:=1150 y eso funciona (ver la secuencia de ceros (o eventualmente de $9$ ) que aparece al final del desarrollo del número decimal obtenido).
reiniciar; con(ÁlgebraLineal): k := 100; n := 100; d := time(); B := Matrix(n, n); for i to n do B[i, i] := 1 end do; for i to n-1 do B[i, i+1] := 1; B[i+1, i] := 1 end do; z := CaracterísticaPolinomio(B, x); u := x; v := x^2-1; para i de 3 a k do w := v; v := rem(v x-u, z, x); u := w end do; Dígitos := 1150; Q := unapply(v, x); r := 1; de i a n do r := evalf(r Q(1+2*cos(i*Pi/(n+1)))) end do; print(r); time()-d;
$2.44387846087090290145607732170537391377490420405227812708050615\\ 28277319341932844677382952399933460059814926416716644013099963\\ 42708968356667589737763656457680692376518632271970928028188495\\ 28837548232087652163820090152818313133799717624970641029956038\\ 21298982012250961831581518578716473316074214193004344884914447\\ 80091522565037919891219503197811771573350002012798682732589728\\ 91073456252754229360553614557394171698663316722024355474750138\\ 99058808405660398400447542745412413310559180910765198835081950\\ 16753460456828320406836683930343030087726159407318434195928328\\ 91168720495008933297278988838511004283717390785348840943983494\\ 94573265138514209244141811048121198105502888315873129747553394\\ 28745956498781145738030840450505861505489488623215771119102138\\ 24860932438498432031584839888927118146735452787049842756602723\\ 13071431049603803135820994521439844817046772204723218141987299\\ 65625418270767015593634878034477052797174424114584736827230518\\ 99846006803088990947026408309411889789175194098825709435984858\\ 82242334251648224773936990898407542151092941240200527201190067\\ 27465966535881736354100000000000000000000000000000000143203220\\ 133487059755244617410791395080\times 10^{1075}$
0 votos
Interesante pregunta. ¿Cómo conseguiste este tipo de matrices?
0 votos
Quizá le interese documento relacionado . De lo contrario, probablemente pueda adaptar el relación de recurrencia utilizado para calcular el determinante de matrices tridiagonales.
1 votos
Es $A$ un $n^2\times n^2$ o es el número de bloques en $A$ de alguna manera parametrizado ( $kn\times kn$ )? En el primer caso, se puede utilizar el producto de Kronecker: $A=I_n\otimes K_n+K_n\otimes I_n+I_{n^2}$ donde $K_n=J_n-I_n$ . Existe una expresión analítica para los valores propios de $K_n$ (matriz tridiagonal Toeplitz).
0 votos
@A.P. gracias por mencionar el artículo. Si utilizo este resultado, necesito calcular potencias de $J$ . ¿Se sabe algo al respecto?
0 votos
@AlgebraicPavel En el caso que más me interesa, la matriz $A$ es indedd a $n^2 \times n^2$ matriz. Pero, ¿cómo funciona la fórmula de $A$ que implica el producto de Kronecker me ayudan a calcular el determinante?
1 votos
@ulead86 Esta matriz aparece cuando uno intenta encontrar soluciones para el rompecabezas "Lights Out".
0 votos
Hazlo por un $4 \times 4$ y luego para $5 \times 5$ y así sucesivamente en WolframAlpha... Y entonces supongo que obtendrás un patrón Por ejemplo para un $4 \times 4$ , El enlace de wolframalpha es >>> goo.gl/pbbbrN
1 votos
Publicado en MO: Determinante de matrices tridiagonales en bloque