View file src/j/vpdefla.ijs - Download


A =:      _183  53  _12  28
A =: A ,. _392 113  _38  65
A =: A ,. _192  56   _1  25
A =: A ,. _538 157   _7  71

B =:      3 2 1 0
B =: B ,.	4 6 3 1
B =: B ,.	2 3 7 2
B =: B ,. 1 3 5 7

abs =: |

step =: 3 : 0
 i =: i + 1
 w =: u +/ . * A
 l1 =: l
 l =: v +/ . * w
 u =: w % l
 l ; u
)

init =: 3 : 0
 A =: y		
 r =: $ A
 n =: 1 { r
 u =: n $ 1
 v =: 1 , (n-1) $ 0
 l =: 1
 l1 =: 0
 i =: 0
)

vppuissance1 =: 3 : 0
 init y
 while. (i < 10000) * ((i < 5) + ((abs (l - l1)) > 0.000000000000001))
 do.
  step 0
 end.
 l ; u ; i
)
 
vppuissance =: 3 : 0
 A =. y
 r =. $ A
 n =. 1 { r
 u =. n $ 1
 v =. 1 , (n-1) $ 0
 l =. 1
 l1 =. 0
 i =. 0 
 while. (i < 10000) * ((i < 5) + ((abs (l - l1)) > 0.000000000000001)) * -. l = 0
 do.
  i =. i + 1
  w =. u +/ . * A
  l1 =. l
  l =. v +/ . * w
  if. -. l = 0
  do. u =. w % l
  end.
 end.		
 l ; u ; i
)

vpdefla1 =: 3 : 0
 A =: y
 l1x1 =: vppuissance A
 lam1 =: > 0 { l1x1
 x1 =: > 1 { l1x1 
 w =: x1 % (x1 +/ . * x1)
 A1 =: A - lam1 * (w */ x1)
 l2x2 =: vppuissance A1
 l2x2
)

vpdefla =: 3 : 0
 A =. y
 r =. 0 $ 0
 valp =. 0 $ 0
 vecp =. 0 $ 0
 i =. 0
 while. i < (0 { $ A) - 1
 do.
  lx =. vppuissance A
  my =. vppuissance (|: A)
  r =. r ; lx
  lam =. > 0 { lx
  valp =. valp , lam
  x =. > 1 { lx
  y =. > 1 { my
  if. i = 0 
  do. vecp =. x
  else. vecp =. vecp ,. x
  end.
  NB. w =. x % (x +/ . * x)
  NB. A =. A - lam * (w */ x)
  w =. x % (y +/ . * x)
  A =. A - lam * (w */ y)
  i =. i + 1
 end.
 lx =. vppuissance A
 r =. r ; < lx
 lam =. > 0 { lx
 valp =. valp , lam
 x =. > 1 { lx
 vecp =. vecp ,. x
 valp ; |: vecp
)