یک برنامه پایتون بنویسید که با استفاده از 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 روی پردازش‌های عددی، برنامه را با اندازه‌های مختلف ماتریس امتحان کنید.

توسط پژوهشگر در 202 روز قبل ساعت 02:39
دسته بندی ها: Python Python for beginner
sara در 202 روز قبل ساعت 08:55

برای تکرارپذیری بهتر، مقدار seed را با numpy.random.seed(seed) ثابت کنید تا نتایج قابل بازتولید باشند. از ضرب ماتریس با استفاده از @ یا numpy.dot استفاده کنید تا از بهینگی‌های BLAS استفاده شود و از حلقه‌های پایتون خودداری کنید. مطمئن شوید ابعاد ماتریس‌ها سازگارند (n یکسان در هر دو ماتریس) و برای اندازه‌گیری زمان از time.perf_counter استفاده کنید. با تغییر اندازه‌های m, n, p، اثر بهینه‌سازی‌های کتابخانه‌های عددی مانند BLAS را می‌توانید مقایسه کنید و نتایج سریع‌تر یا کندتر را مشاهده کنید.

گزارش

1 پاسخ

جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من

در حال بارگیری...
ورود به حساب کاربری