26 lines
		
	
	
		
			353 B
		
	
	
	
		
			Matlab
		
	
	
		
		
			
		
	
	
			26 lines
		
	
	
		
			353 B
		
	
	
	
		
			Matlab
		
	
	
|  | scale = 1e-10; | ||
|  | length = 10000; | ||
|  | 
 | ||
|  | A = spalloc(length, length, 2*length); | ||
|  | b = zeros(length, 1); | ||
|  | 
 | ||
|  | A(1,1) = 1; | ||
|  | 
 | ||
|  | for i = 2:length | ||
|  |     A(i, i-1) = 1e2*scale; | ||
|  |     A(i, i) = -scale; | ||
|  | end | ||
|  | 
 | ||
|  | L = A'*A; | ||
|  | eta = A'*b; | ||
|  | 
 | ||
|  | R = choleskyNaive(L); | ||
|  | clear opts | ||
|  | opts.LT = true; | ||
|  | d = R' \ eta; %linsolve(R', eta, opts); | ||
|  | 
 | ||
|  | clear opts | ||
|  | opts.UT = true; | ||
|  | x = R \ d; %linsolve(R, d, opts); | ||
|  | 
 |