%*****************************************************************
% File: CHOL3.M
%
% Scopo: Decomposizione di Cholesky (matrici tridiagonali)
%
% Uso:	 [v1,v2]=chol3(d1,d2)
%
% Input: d1 diagonale principale di una matrice tridiagonale A
%	 d2 diagonale secondaria di A (prima componente = 0 per
%	    avere uguale dimensione di d1)
%
% Output: v1,v2 vettori contenenti le componenti delle diagonali
%	  principale e sopradiagonale della matrice V di decom-
%	  posizione (V'*V=A)
%
% Richiami:
% Commenti: Questo programma ha lo scopo di ridurre sia il numero
%	    di operazioni che l'occupazione di memoria.
%
% Autori: mf
%*****************************************************************
%
function [v1,v2]=chol3(d1,d2)
n=max(size(d1));
indk=[0:n];  % per evitare operazione calcolo indice di v1 in for
v1=zeros(d1);v2=zeros(d2);
v1(1)=sqrt(d1(1));
for k=2:n;
  v2(k)=d2(k)/v1(indk(k));
  v1(k)=sqrt(d1(k)-v2(k)^2);
end