Professional Documents
Culture Documents
A(n x n)
B(n x m)
C(p x n)
D(p x m)
E(n x n)
{{1}}
{{2}}
{{3}}
Print["MATRIZ B"]
With{rows = n[[1, 1]], cols = m[[1, 1]], fieldSize = 6}, Manipulate
Column[{TableForm @ mat}], {mat, None}, {initialized, None}, Dynamic[B = mat],
Evaluate @ With[{makeRow = Function[{rowIndex}, Map[Function[{colIndex},
InputField[Dynamic[mat[[rowIndex, colIndex]]], FieldSize fieldSize]],
Range[cols]], HoldAll]}, Grid[Map[makeRow, Range[rows]]]],
Initialization If[Not[initialized === True], mat = Table[0, {rows}, {cols}]];
MolinariRetardadoV2.nb 3
Print["MATRIZ C"]
With{rows = p[[1, 1]], cols = n[[1, 1]], fieldSize = 6},
ManipulateColumn[{TableForm @ mat}], {mat, None},
{initialized, None}, Dynamic[G0 = mat], Evaluate @
With[{makeRow = Function[{rowIndex}, Map[Function[{colIndex}, InputField[
Dynamic[mat[[rowIndex, colIndex]]], FieldSize fieldSize]],
Range[cols]], HoldAll]}, Grid[Map[makeRow, Range[rows]]]],
Initialization If[Not[initialized === True], mat = Table[0, {rows}, {cols}]];
initialized = True, SaveDefinitions True
Print["MATRIZ D"]
With{rows = p[[1, 1]], cols = m[[1, 1]], fieldSize = 6},
ManipulateColumn[{TableForm @ mat}], {mat, None},
{initialized, None}, Dynamic[F0 = mat], Evaluate @
With[{makeRow = Function[{rowIndex}, Map[Function[{colIndex}, InputField[
Dynamic[mat[[rowIndex, colIndex]]], FieldSize fieldSize]],
Range[cols]], HoldAll]}, Grid[Map[makeRow, Range[rows]]]],
Initialization If[Not[initialized === True], mat = Table[0, {rows}, {cols}]];
initialized = True, SaveDefinitions True
Print["MATRIZ E"]
With{rows = n[[1, 1]], cols = n[[1, 1]], fieldSize = 6},
ManipulateColumn[{TableForm @ mat}], {mat, None},
{initialized, None}, Dynamic[EE = mat], Evaluate @
With[{makeRow = Function[{rowIndex}, Map[Function[{colIndex}, InputField[
Dynamic[mat[[rowIndex, colIndex]]], FieldSize fieldSize]],
Range[cols]], HoldAll]}, Grid[Map[makeRow, Range[rows]]]],
Initialization If[Not[initialized === True], mat = Table[0, {rows}, {cols}]];
initialized = True, SaveDefinitions True
MATRIZ A
{{0}}
MATRIZ B
4 MolinariRetardadoV2.nb
{{0, 0}}
0 0
0 0
MATRIZ C
0
0
0
MATRIZ D
0 0
0 0
0 0
0 0
0 0
0 0
MATRIZ E
{{0}}
<< PolynomialMatrices`
Print"PASO 3: CLCULO Y RESULTADOS"
MolinariRetardadoV2.nb 5
IN = - 1 * IdentityMatrix[Part[Dimensions[EE], 1]];
(* Genera matriz identidad negativa con las dimensiones de matriz E *)
ZIEZN[1] = ConstantArray[0, {Part[Dimensions[De[1]], 1], Part[Dimensions[IN], 2]}];
(* Genera matriz ceros con #filas de
Delta1 y #columnas matriz identidad negativa*)
MatrixForm /@ {JRHZd[1], S[1]} = ExtendedHermiteForm[Join[EE, De[1]]];
(*Hermitiana a la union de matriz E y Delta1,
obteniendo parte der. de matriz concatenada JRHZ y matriz S1 *)
R[1] = JRHZd[1][[1 ;; Rank[Join[EE, De[1]]], 1 ;; All]];
(* Matriz R1 a partir del lado der. de JRHZ, con #filas del rango de la
concatenacion de E y Delta1 y #columnas igual al lado der. de JRHZ *)
ZJRHZ[1] = Drop[JRHZd[1], {1, Rank[Join[EE, De[1]]]}];
(* Separa matriz ceros del lado derecho de JRHZ,
eliminando las primeras filas del lado der. de JRHZ hasta
el valor del rango de la union de las matrices E y Delta1 *)
JRHZi[1] = S[1].Join[IN, ZIEZN[1]]; (* Genera lado izq. de matriz JRHZ,
multiplicando matriz S1 por la union de las matrices identidad
negativa y la matriz de ceros de la matriz concatenada IEZN *)
J[1] = JRHZi[1][[1 ;; Rank[Join[EE, De[1]]], 1 ;; All]];
(* Genera matriz J1 a partir del lado izq. de matriz JRHZ,
con #filas del valor del rango de la union del lado derecho de la matriz IEZN *)
H[1] = Drop[JRHZi[1], {1, Rank[Join[EE, De[1]]]}];(* Genera H1,
eliminando las primeras filas del lado izq. de matriz JRHZ hasta
6 MolinariRetardadoV2.nb
k = 3;
While[True, If[Diagonal[M[k - 1]] == Diagonal[M[k - 2]], Break[]];
Print[k];
HHGFd[k] = Join[H[k - 1].B, F[k - 1]];
MatrixForm /@ ({GFDZd[k], T[k]} = ExtendedHermiteForm[HHGFd[k]]);
F[k] = GFDZd[k][[1 ;; Rank[Join[H[k - 1].B, F[k - 1]]], 1 ;; All]];
ZGFDZ[k] = Simplify[Drop[GFDZd[k], {1, Rank[HHGFd[k]]}]];
GFDZi[k] = Simplify[T[k].Join[H[k - 1].A, G[k - 1]]];
G[k] = Simplify[GFDZi[k][[1 ;; Rank[HHGFd[k]], 1 ;; All]]];
De[k] = Simplify[Drop[GFDZi[k], {1, Rank[HHGFd[k]]}]];
MolinariRetardadoV2.nb 7
ZIEZN[k] =
ConstantArray[0, {Part[Dimensions[De[k]], 1], Part[Dimensions[IN], 2]}];
MatrixForm /@ ({JRHZd[k], S[k]} = ExtendedHermiteForm[Join[EE, De[k]]]);
R[k] = JRHZd[k][[1 ;; Rank[Join[EE, De[k]]], 1 ;; All]];
ZJRHZ[k] = Drop[JRHZd[k], {1, Rank[Join[EE, De[k]]]}];
JRHZi[k] = S[k].Join[IN, ZIEZN[k]];
J[k] = JRHZi[k][[1 ;; Rank[Join[EE, De[k]]], 1 ;; All]];
H[k] = Drop[JRHZi[k], {1, Rank[Join[EE, De[k]]]}];
RESULTADO
{0}
{0}
{{0, s, 0, 0}}
{s}
{{s, 0, 0, 0}}
8 MolinariRetardadoV2.nb
{1, s, s, 0}
{1, 1, s, 0}
{- 1, 0, 0, 0}, {- 1 + 2 s + 6 s2 + 2 s3 , s2 (2 + 4 s + s2 ), s (2 + 4 s + s2 ), 2 s (2 + 4 s + s2 )},
{- 2 - s2 , - s (1 + s2 ), - 1 - s2 , - 2 (1 + s2 )},
(1 + s)2 (1 + 2 s), s (2 + 3 s + 3 s2 + s3 ), 2 + 3 s + 3 s2 + s3 , 2 (2 + 3 s + 3 s2 + s3 ),
{1 + 2 s + 6 s2 + 2 s3 , s (1 + 2 s + 4 s2 + s3 ), 1 + 2 s + 4 s2 + s3 , 2 (1 + 2 s + 4 s2 + s3 )}
{1, 1, s, 0}
{{1, 0, 0, 0}, {0, 1, 0, 0}, {0, 0, s, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0},
{0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}}
RESULTADO
k* = 3
- 2 s2 - 2 s - 1 - s2 (s + 2) - s (s + 2) - 2 s (s + 2)
-1 0 0 0
Delta k* =
- 2 s (s + 1) - s (s2 + 2 s - 1) - s2 - 2 s + 1 - 2 (s2 + 2 s - 1)
- 2 s2 - 2 s + 1 - s (s2 + 2 s - 1) - s2 - 2 s + 1 - 2 (s2 + 2 s - 1)
1 0 0 0
0 1 0 0
0 0 s 0
Matriz k* = 0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
Diagonal M[k*] = {1, 1, s, 0}