سلام
کافیه بستهٔ hyperref رو قبل از بستهٔ nccmath فرابخونین.
\usepackage{amsfonts,amsthm,amssymb,graphicx,tikz,hyperref,nccmath}
بهتر نیست بستهها رو جدا فرابخونین؟ مثلاً اینطوری:
\usepackage{amsfonts,amsthm,amssymb}
\usepackage{graphicx}
\usepackage{tikz}
\usepackage{hyperref}
\usepackage{nccmath}
\usepackage{xepersian}
ویرایش:
اینکه ارجاعدهی، درست کار نمیکنه، برمیگرده به بستههای amsmath و nccmath (با توجه به دیگر بستههای ریاضی و احیاناً ترتیب فراخوانیشون). برای رفع مشکل بایستی بستهٔ amsmath رو پاک کنین و بستهٔ nccmath هم اینطوری فراخوانی بشه.
\usepackage{hyperref}
\let\subequations\relax
\let\endsubequations\relax
\usepackage{nccmath}
نگران بستهٔ amsmath هم نباشین! چون همراه با بستهٔ nccmath فراخوانی میشه.
اگه قصد دارین همهٔ عبارتهای ریاضی چپچین بشن، دیگه نیازی به بستهٔ nccmath (با دستورهای قبلیش که نوشتم) و محیط fleqn نیست. اونا رو پاک کنین و بستهٔ amsmath رو اینطوری فراخوانی کنین:
\usepackage[fleqn]{amsmath}
\setlength{\mathindent}{0pt}