La versione più recente è stata modificata il 2006-02-19 16:33:58 da SoNiC
Aggiunzioni:
L'algoritmo MultIntTest stabilisce se ciascun intero della lista L,
Omissioni:
L'algoritmo MultIntTest stabilisce se ciascun intero della lista L,
Modificato il 2006-02-19 16:33:45 da SoNiC
Aggiunzioni:
DiagTest[A]&&MultIntTest[L]&&Apply[And,Table[Li>=0,{i,1,mi-1}]]]]%%
DiagIntForteTest[%]
Omissioni:
DiagTest[A]&&MultIntTest[L]&&Apply[And,Table[Li>=0,{i,1,mi-1}]]]]
DiagIntForteTest[%]
Modificato il 2006-02-19 16:33:17 da SoNiC
Aggiunzioni:
Table[Or[Li-1∞0&&Li
0,
L
i-1∞!=0&& Mod[L
i,L
i-1∞]!=0], {i,2,
MultIntTest[lista]
F[L_]:=For[t=2,t<=Length[L],t++,
If[!MultIntTest[{L[[t-1]],L[[t]]}],Return[t]]]
G[L_]:=Block[{t}, For[t=1,t<=Length[L],t++,If[L[[t]]<0,Return[t]]];
Return[0]]
L'algoritmo DiagIntForteTest stabilisce se la matrice ad elementi interi A è in forma diagonale forte.
%%(c)DiagIntForteTest[A_]:=Block[{},
m=Length[A];n=Length[A
1];mi=Min[m,n];
L=Table[A
i,i,{i,1,mi}];
If[m!=n,
DiagTest[A]&&
MultIntTest[L]&&Apply[And,Table[L
i>=0,{i,1,mi}]],
DiagTest[A]&&
MultIntTest[L]&&Apply[And,Table[L
i>=0,{i,1,mi-1}]]]]
DiagInt[T]
Torna all'elenco dei capitoli
Omissioni:
Table[Or[Li-1∞\[Equal]0&&Li\[Equal]0,
MultIntTest[lista]
F[L_]:=For[t=2,t\[LessEqual]Length[L],t,
G[L_]:=Block[{t}, For[t=1,t<=Length[L],t,If[L[[t]]<0,Return[t]]];
L'algoritmo DiagIntForteTest stabilisce se la matrice ad elementi interi A è in forma diagonale forte.
DiagIntForteTest[A_]:=Block[{},
m=Length[A];n=Length[A[[1]]];mi=Min[m,n];
L=Table[A[[i,i]],{i,1,mi}];
If[m\[
NotEqual]n,
DiagTest[A]&&
MultIntTest[L]&&Apply[And,Table[L[[i]]>=0,{i,1,mi}]],
DiagTest[A]&&
MultIntTest[L]&&Apply[And,Table[L[[i]]>=0,{i,1,mi-1}]]]]
DiagInt[T]
La versione più vecchia di questa pagina è stata modificata il 2006-02-19 16:27:48 da SoNiC []
Vista della pagina:
Test di diagonalità forte di una matrice a valori interi
L'algoritmo
MultIntTest stabilisce se ciascun intero della lista L,
a partire dal secondo, è multiplo del precedente.
INPUT: la lista di interi L;
OUTPUT: True o False.
MultIntTest[L_]:=
Apply[And,
Table[Or[L[[i-1]]\[Equal]0&&L[[i]]\[Equal]0,
L[[i-1]]\[NotEqual]0&& Mod[L[[i]],L[[i-1]]]\[Equal]0], {i,2,
Length[L]}]]
Esempio
lista={1,2,-4,0,5,10}
{1,2,-4,0,5,10}
MultIntTest[lista]
False
L'algoritmo F deternina la posizione del primo elemento della lista di numeri interi L che non è multiplo del precedente.
INPUT: la lista L.
OUTPUT: l'indice del primo elemento della lista L che non è multiplo del precedente.
F[L_]:=For[t=2,t\[
LessEqual]Length[L],t
,
Esempio
F[lista]
5
L'algoritmo G deternina la posizione del primo elemento negativo della lista di numeri interi L.
INPUT: la lista L.
OUTPUT: l'indice del primo elemento negativo della lista L.
G[L_]:=Block[{t}, For[t=1,t<=Length[L],t,If[L[[t]]<0,Return[t]]];
Esempio
G[lista]
3
L'algoritmo
DiagIntForteTest stabilisce se la matrice ad elementi interi A è in forma diagonale forte.
INPUT: la matrice A.
OUTPUT: True o False.
DiagIntForteTest[A_]:=Block[{},
m=Length[A];n=Length[A[[1]]];mi=Min[m,n];
L=Table[A[[i,i]],{i,1,mi}];
If[m\[
NotEqual]n,
DiagTest[A]&&
MultIntTest[L]&&Apply[And,Table[L[[i]]>=0,{i,1,mi}]],
DiagTest[A]&&
MultIntTest[L]&&Apply[And,Table[L[[i]]>=0,{i,1,mi-1}]]]]
Esempio
T={{3,-1,0,2,-3},{3,1,1,0,0},{2,0,0,0,5}}
{{3,-1,0,2,-3},{3,1,1,0,0},{2,0,0,0,5}}
DiagInt[T]
{{1,0,0,0,0},{0,1,0,0,0},{0,0,1,0,0}}
DiagIntForteTest[%]
True