Tính ma trận Jacobian cho ánh xạ vector (Jacobian Matrix Computation)
Cho ánh xạ đa biến vector F: RN → RM biến đổi vector x = [x1, …, xN]T thành vector F(x) = [f1(x), …, fM(x)]T.
Tiến độ của tôi ở bài này
Điểm được lưu vào tài khoản sau khi chấm bài.
Đang tải điểm của bạn…
Kiến thức và chủ đề
Kiến thức tiên quyết: numerical-gradient-finite-differences, batched-matrix-multiplication-bmm.
Nội dung đề bài
Mô tả bài toán
Cho ánh xạ đa biến vector F: RN → RM biến đổi vector x = [x1, …, xN]T thành vector F(x) = [f1(x), …, fM(x)]T. Ma trận Jacobian J ∈ RM × N tập hợp tất cả các đạo hàm riêng cấp 1: Ji, j = ∂ fi(x)∂ xj
Hãy viết hàm compute_jacobian(F, x, h=1e-5) nhận vào:
F: hàm nhận vào mảng 1D NumPy kích thước (N,) và trả về mảng 1D NumPy kích thước (M,).x: mảng NumPy 1D kích thước (N,).h: bước nhảy vi phân (mặc định 10-5).
Hàm trả về ma trận Jacobian NumPy 2D kích thước (M, N) kiểu np.float64 sử dụng sai phân trung tâm. Ném ValueError nếu x không phải mảng 1 chiều.
Input
- Hàm
compute_jacobian(F,x,h): Các tham số đầu vào chứa dữ liệu Tensor/mảng NumPy hoặc giá trị siêu tham số tương ứng.
Output
- Hàm
compute_jacobian: Trả về kết quả kiểunp.ndarraytheo đúng đặc tả kỹ thuật và kích thước quy định.
Ràng buộc
- Thời gian chạy tối đa: 6000ms.
- Giới hạn bộ nhớ: 512MB.
- Dữ liệu đầu vào hợp lệ theo đúng kiểu dữ liệu và miền giá trị được mô tả.
Ví dụ 1
Input
F = lambda v: np.array([2.0 * v[0] + 3.0 * v[1], 4.0 * v[0] - v[1]])
x = np.array([1.0, 1.0])
J = compute_jacobian(F, x)Output
[[ 2., 3.],
[ 4., -1.]]Giải thích
Hàm/lớp được gọi với các tham số mẫu trên và trả về kết quả số học / kích thước tensor tương ứng theo đúng thiết kế.
Ví dụ 2
Input
F = lambda v: np.array([v[0] * v[1], v[1] * v[2] ** 2])
x = np.array([2.0, 3.0, 4.0])
J = compute_jacobian(F, x)Output
[[ 3., 2., 0.],
[ 0., 16., 24.]]Giải thích
Hàm/lớp được gọi với các tham số mẫu trên và trả về kết quả số học / kích thước tensor tương ứng theo đúng thiết kế.
Gợi ý và lời giải chỉ mở sau khi bạn bấm Nộp bài. Giáo viên và quản trị viên mở được ngay.
Góp ý & báo lỗi bài tập
Đề bài chưa rõ, test có vấn đề hay bạn có ý tưởng giúp bài tốt hơn? Gửi cho đội ngũ AI Empire nhé — mỗi góp ý đều được đọc.
