یک برنامه پایتون بنویسید که با استفاده از numpy.random.randint دو ماتریس تصادفی صحیح به ابعاد m×n و n×p بسازد، آنها را ضرب کند، نورم فروبنیوس حاصل را محاسبه کند و زمان اجرا را گزارش دهد.
6.0 بازدید آخرین ویرایش در 202 روز قبل ساعت 02:39 0.0
برای حل این مسئله از کتابخانه NumPy استفاده کنید: با numpy.random.randint ماتریسها را تولید کنید (برای تکرارپذیری میتوانید یک seed تنظیم کنید)، از عملگر @ یا numpy.dot برای ضرب ماتریسی بهره ببرید، سپس با numpy.linalg.norm نورم فروبنیوس (ord='fro' یا پیشفرض) را محاسبه کنید و با time.perf_counter یا time.time زمان اجرای ضرب ماتریسی را اندازهگیری کنید. نکتههای کاربردی: ابعاد باید سازگار باشند (n یکسان)، از عملگرهای برداریشده NumPy بهجای حلقههای پایتون استفاده کنید و برای مشاهده تاثیر بهینهسازیهای BLAS روی پردازشهای عددی، برنامه را با اندازههای مختلف ماتریس امتحان کنید.
1 پاسخ
جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من
در حال بارگیری...
برای ارسال پاسخ باید با حساب کاربری وارد شوید.
ورود به حساب کاربری
برای تکرارپذیری بهتر، مقدار seed را با numpy.random.seed(seed) ثابت کنید تا نتایج قابل بازتولید باشند. از ضرب ماتریس با استفاده از @ یا numpy.dot استفاده کنید تا از بهینگیهای BLAS استفاده شود و از حلقههای پایتون خودداری کنید. مطمئن شوید ابعاد ماتریسها سازگارند (n یکسان در هر دو ماتریس) و برای اندازهگیری زمان از time.perf_counter استفاده کنید. با تغییر اندازههای m, n, p، اثر بهینهسازیهای کتابخانههای عددی مانند BLAS را میتوانید مقایسه کنید و نتایج سریعتر یا کندتر را مشاهده کنید.
گزارش