R/srfht.R

Defines functions srfht

srfht <-
function(A,k,q=0){
	m<-NROW(A)
	mbig<-2^ceiling(log2(m))
	R<-sample(c(-1,1),m,replace=TRUE)
	Astar<-A*R
	idx<-sample(mbig,k)
	AOmega<-fht(Astar)[idx,]/sqrt(k)
	Q<-qr.Q(qr(t(AOmega)))
	for(i in seq_len(q)){
		tildeQ<-qr.Q(qr(crossprod(A,Q)))
		Q<-qr.Q(qr(A%*%tildeQ))
	}
	Q
	}
tslumley/bigQF documentation built on Nov. 26, 2021, 4:38 a.m.