16 lines
		
	
	
		
			318 B
		
	
	
	
		
			R
		
	
	
	
	
	
			
		
		
	
	
			16 lines
		
	
	
		
			318 B
		
	
	
	
		
			R
		
	
	
	
	
	
 | 
						|
p <- c(3L, 5L, 2L, 5L)
 | 
						|
A <- array(rnorm(prod(p)), p)
 | 
						|
 | 
						|
eps <- 1
 | 
						|
Gs <- TTSVD(A, eps = eps)
 | 
						|
 | 
						|
B <- Reduce(function(L, R)
 | 
						|
    ttt(L, R, length(dim(L)), 1)
 | 
						|
, Gs)
 | 
						|
 | 
						|
stopifnot(sqrt(sum((A - B)^2)) <= eps * sqrt(sum(A^2)))
 | 
						|
 | 
						|
unlist(Map(function(M) qr(M)$rank, Map(function(k) mat(A, k), seq_along(dim(A)))))
 | 
						|
attr(Gs, "TT.rank")
 |