// AngleThetaComplex returns the angle theta between VectorComplex A and VectorComplex B using the dot product func AngleThetaComplex(vectorA ct.VectorComplex, vectorB ct.VectorComplex) (complex128, error) { normA := vectorA.Norm() normB := vectorB.Norm() if normA == 0 || normB == 0 { return nil, errors.New("Either Vector A or Vector B is the zero vector") } dotProduct, err := InnerProductComplex(vectorA, vectorB) if err != nil { return nil, err } theta := cmplx.Acos(dotProduct / (normA * normB)) return theta }