message: Improving ParSesquilinearForm::FormLinearSystem
diff: @@ -557,6 +557,7 @@ ParSesquilinearForm::FormLinearSystem(const Array<int> &ess_tdof_list,
  pblfi_->FormLinearSystem(ess_tdof_list, x_i, b_0, A_i, X_r, B_0, ci);
  B_r -= B_0;
  + b_0 = 0.0;
  pblfr_->FormLinearSystem(ess_tdof_list, x_i, b_i, A_r, X_i, B_i, ci);
  pblfi_->FormLinearSystem(ess_tdof_list, x_r, b_0, A_i, X_i, B_0, ci);
  B_i += B_0;
  @@ -572,8 +573,17 @@ ParSesquilinearForm::FormLinearSystem(const Array<int> &ess_tdof_list,
  A_r.OwnsOperator(),
  A_i.OwnsOperator(),
  conv_);
  - A.ConvertFrom(A_hyp);
  - A.SetOperatorOwner();
  + A.Reset<ComplexHypreParMatrix>(A_hyp, true);
  + }
  + else
  + {
  + ComplexOperator * A_op =
  + new ComplexOperator(A_r.As<Operator>(),
  + A_i.As<Operator>(),
  + A_r.OwnsOperator(),
  + A_i.OwnsOperator(),
  + conv_);
  + A.Reset<ComplexOperator>(A_op, true);
  }
  }
  