Hi,
which command is for Matrix square root?
it worked before:
julia> X = sqrtm([1.0 -0.9; -0.9 1.0])
2x2 Float64 Array:
  0.847316  -0.531089
 -0.531089   0.847316
But now in Julia 1.1.0
X = sqrtm([1.0 -0.9; -0.9 1.0])
ERROR: UndefVarError: sqrtm not defined
Best
             
            
              
              
              
            
            
           
          
            
            
              you can use just sqrt :
a = [1.0 -0.9; -0.9 1.0]
sqrt(a)
2×2 Array{Float64,2}:
  0.847316  -0.531089
 -0.531089   0.847316
I find this post talking about that
             
            
              
              
              
            
            
           
          
            
            
              sqrt(a) and sqrtm(a) mean not the same, e.g.
>> sqrtm(a)
ans =
   0.5537 + 0.4644i   0.8070 - 0.2124i
   1.2104 - 0.3186i   1.7641 + 0.1458i
>> sqrt(a)
ans =
    1.0000    1.4142
    1.7321    2.0000
             
            
              
              
              
            
            
           
          
            
            
              then, sqrt(complex(a))?
from the help ?sqrt:
  sqrt(A::AbstractMatrix)
  If A has no negative real eigenvalues, compute the principal matrix square root of A, that is the unique matrix X with eigenvalues having
  positive real part such that X^2 = A. Otherwise, a nonprincipal square root is returned.
  If A is symmetric or Hermitian, its eigendecomposition (eigen) is used to compute the square root. Otherwise, the square root is determined
  by means of the Björck-Hammarling method [^BH83], which computes the complex Schur form (schur) and then the complex square root of the
  triangular factor.
             
            
              
              
              2 Likes
            
            
           
          
            
            
              nice, good to know! thanks!
             
            
              
              
              1 Like
            
            
           
          
            
            
              This table may help clear up the confusion.
|  | Matlab | Julia 0.4 | Julia 0.5 | Julia 0.6 | Julia 0.7 | Julia 1.x | 
| sqrtm(a) | M | M | M | M | M* | E | 
| sqrt(a) | P | P | P | P* | M | M | 
| sqrt.(a) | E | E | P | P | P | P | 
| where |  |  |  |  |  |  | 
|  |  |  |  |  |  |  | 
| — | — |  |  |  |  |  | 
| M | Matrix square root |  |  |  |  |  | 
| P | Pointwise square root |  |  |  |  |  | 
| * | Deprecated |  |  |  |  |  | 
| E | Error |  |  |  |  |  | 
 
             
            
              
              
              15 Likes