diff --git a/R/geometry.R b/R/geometry.R index 4720106..ae43f64 100644 --- a/R/geometry.R +++ b/R/geometry.R @@ -9,7 +9,13 @@ l2_curvenorm <- function(psi, time=seq(0,1,length.out=ncol(psi))){ } inv_exp_map<-function(Psi, psi){ - theta <- acos(inner_product(Psi,psi)) + ip <- inner_product(Psi, psi) + if(ip < -1){ + ip = -1 + }else if(ip > 1){ + ip = 1 + } + theta <- acos(ip) if (theta < 1e-10){ exp_inv = rep(0,length(psi))