CONFORMAL MAPS

https://www.chebfun.org/examples/complex/ConformalSquare.html

http://www.oranlooney.com/post/complex-r/

http://sepwww.stanford.edu/data/media/public/docs/sep117/jeff1/paper_html/node2.html#jeff1_fig:map1

https://math.libretexts.org/Bookshelves/Analysis/Complex_Variables_with_Applications_(Orloff)/11%3A_Conformal_Transformations/11.01%3A_Geometric_Definition_of_Conformal_Mappings

Mutually orthogonal parabolas is a conformal map.

x=-10:10 
y=-10:10
coord=expand.grid(x,y)
plot(coord)

z  <- complex(real=coord[,1], imaginary=coord[,2])
fz <- z^2
plot(fz)

Isothermic map and isothermal coordinate

https://matthewmcgonagle.github.io/blog/2017/11/09/ConformalGeometry

https://math.stackexchange.com/questions/1354885/isothermic-surface

https://encyclopediaofmath.org/wiki/Isothermal_coordinates

https://encyclopediaofmath.org/wiki/Conformal_geometry

An isothermic map diagonalizes fundamental coefficients of the first order \(E = G = \lambda(u, v)\), \(F = 0\). \[\left| {\begin{array} *{E= \lambda(u, v)}&{F=0}\\ {F=0}&{G= \lambda(u, v)} \end{array}} \right|\] The First Fundamental Quadratic Form is \[ds^2=Edu^2+2Fdudv+Gdv^2\]

For example catenoid \(\bar r(u,v)=\{\cos(v)\cosh(u),\sin(v)\cosh(u),u\}\), and \(E = G = \cosh(u)^2\), \(F = 0\), \(ds^2=\cosh(u)^2(du^2+dv^2)\).

require(Deriv)
## Loading required package: Deriv
## Warning: package 'Deriv' was built under R version 4.0.5
rbar=c("cos(v)*cosh(u)","sin(v)*cosh(u)","u")

#degree 1 and 2 partial on rbar
drdu=sapply(rbar,function(m) Deriv(m,"u"))
drdv=sapply(rbar,function(m) Deriv(m,"v"))

dot_prod<-function(a,b){
#paste0("(",c("1","2","3"),")")
 a=paste0("(",a,")")
 b=paste0("(",b,")")
 res=Simplify(paste(paste(a,b,sep="*"),collapse="+") )
 return(paste0("(",res,")"))
}

dot_prod(drdu,drdu) #==cosh(u)^2
## [1] "((cos(v)^2 + sin(v)^2) * sinh(u)^2 + 1)"
dot_prod(drdu,drdv) 
## [1] "(0)"
dot_prod(drdv,drdv) 
## [1] "((cos(v)^2 + sin(v)^2) * cosh(u)^2)"
E="cosh(u)^2"
F= 0
G="cosh(u)^2"

Isothermic system/isothermal coordinate is to use one-parameter (u or v) family of curves together with orthogonal trajectories forms an coordinate system on the surface.

Area preserving map

https://math.stackexchange.com/questions/15730/area-preserving-transformations

https://math.stackexchange.com/questions/3920639/is-convolution-area-preserving?noredirect=1

https://mathoverflow.net/questions/338238/area-preserving-map-of-punctured-disk-to-itself

https://wumbo.net/concept/complex-numbers/

This is an example called punctured disk or Pythagorean conjugate. In a plane, given a coordinate vector \(v=\{x,y\}\) and a radius \(r\), we want to find another coordinate vector \(v'=\{f_x(v),f_y(v)\}\) which satisfies Pythagorean theorem, i.e.  \[||v||^2+||v'||^2=r^2\] The vector \(v'\) is vector \(v\) rotated by 90 degree and multiplying a length factor. \[v'=\{f_x(v),f_y(v)\}=\frac{\sqrt{r^2-x^2-y^2}}{\sqrt{x^2+y^2}}\left\{-y,x\right\}\] We have \(v=\{x=1,y=2\}\), \(v'=\{f_x=-1.7888544,f_y=0.8944272\}\) and \(r=3\), so that \(||v||^2+||v'||^2=3^2\).

x=1
y=2
r=3
c(x,y)
## [1] 1 2
fx=sqrt(r^2-x^2-y^2)/sqrt(x^2+y^2)*(-y)
fy=sqrt(r^2-x^2-y^2)/sqrt(x^2+y^2)*(x)
c(fx,fy)
## [1] -1.7888544  0.8944272
sum(c(x,y)^2)+sum(c(fx,fy)^2)#==3^2
## [1] 9

A numeric check Jacobian determinant equals -1.

#jacobian
require(Deriv)
fx="sqrt(r^2-x^2-y^2)/sqrt(x^2+y^2)*(-y)"
fy="sqrt(r^2-x^2-y^2)/sqrt(x^2+y^2)*(x)"
dfxdx=Deriv(fx,"x")
dfxdy=Deriv(fx,"y")
dfydx=Deriv(fy,"x")
dfydy=Deriv(fy,"y")

x=1
y=2
r=3
#cross product
eval(parse(text=dfxdx))*eval(parse(text=dfydy))-eval(parse(text=dfxdy))*eval(parse(text=dfydx)) 
## [1] -1

Fundamental coefficients of the first order satisfy \(EG - F^2 = 1\).

dfxdx=Deriv(fx,"x")
dfydx=Deriv(fy,"x")

dfxdy=Deriv(fx,"y")
dfydy=Deriv(fy,"y")

rx=c(eval(parse(text=dfxdx)),eval(parse(text=dfydx)))
ry=c(eval(parse(text=dfxdy)),eval(parse(text=dfydy)))

E=rx%*%rx
F=rx%*%ry
G=ry%*%ry

E*G-F^2
##      [,1]
## [1,]    1

Let \(v=x+yi\) be a complex number. Rotation is done by multiplying \(i\), and the Pythagorean conjugate v’ is \[v'=vi\frac{\sqrt{r^2-Mod(z)^2}}{Mod(z)}\]

v = complex(real = x, imaginary = y)
i = complex(real = 0, imaginary = 1)

#Multiplying a complex number by i rotates the number 90 degrees counter-clockwise in the complex plane.
fv=v*i*sqrt(r^2-Mod(v)^2)/Mod(v)
fv
## [1] -1.788854+0.894427i
Mod(v)^2+Mod(fv)^2
## [1] 9