Hacktoberfest 2026: những issue maintainer đã đánh dấu cho tháng Mười, đang mở và phù hợp người mới. Xem issue Hacktoberfest

v2: Allow infinite `nominalValue`

Đang mở
#685 1 bình luận 1 reaction 1 người được giao Xem trên GitHub

@dweindl đang làm issue này rồi.

Từ ngày 24/10/2026.

  • #687 của @dweindl — đang mở

Đánh giá

Độ khó
4/5
Thời gian dự kiến
1-2 ngày
Mức phù hợp với người mới
55/100
Loại issue
Tính năng
Độ rõ ràng
Đặc tả rõ ràng
Mức độ hoạt động
Sôi nổi
Công nghệ
python, yaml
Lĩnh vực
data

Hướng nghiên cứu

Start by reading the PEtab v2 data format documentation and development requirements linked in the issue, then inspect how the specification defines and validates nominalValue. Compare the proposed allowance for inf and -inf with the existing handling of condition table values and the related issues #682 and #684. Done means the specification clearly permits infinite nominal values, keeps NaN invalid, and explains the behavior for estimated and fixed parameters.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Mô tả

In PEtab 2.0.0, nominalValue is NUMERIC, i.e., finite. The resolution of #682 kept it that way. We propose to allow inf and -inf as well, as erratum E2 to PEtab 2.0.0.

Motivation

PEtab v2 removed parameterScale. The list of changes from v1 says: "To obtain the same effect, the model parameters can be transformed in the model file" (documentation_data_format.rst#L176-L182). The development docs require that problems from earlier versions remain specifiable (development.rst#L249-L251).

With finite nominal values, a transformed parameter doesn't give the same effect. In v1, a parameter k1 with parameterScale=log can be fixed at nominalValue=0 (v1 nominal values are on linear scale). This is a common way to switch off a mechanism without changing the model. After the recommended transformation to log_k1, the same fixed value is -inf, which NUMERIC doesn't allow.

Proposal

  • nominalValue becomes NUMERIC or 'inf' or '-inf'. NaN stays invalid.
  • For estimate=false, the value is applied as specified. Undefined results such as 0 * inf are the responsibility of the model author. This already applies to infinite values set via the condition table, whose math expressions support inf and -inf.
  • For estimate=true, the nominal value has no role in the problem definition, so allowing infinite values there has no consequences. Among other things, it allows storing estimation results at the boundary of an infinite parameter domain.

Why an erratum

Like #682, this resolves a conflict between the stated intent of the spec (parameterScale can be replaced by transforming the model) and a type restriction. Admittedly, the conflicting statement is in the informative list of changes, and converters can avoid the issue by not transforming fixed parameters. Still, the restriction doesn't serve a purpose, and allowing infinite values makes the statement about replacing parameterScale accurate.

libpetab-python currently doesn't reject infinite nominal values, so existing tooling already accepts them.

Relates to #682, #684.

🤖 Generated with Claude Code

Ngôn ngữ chính
Không có dữ liệu ngôn ngữ
Star
67
Fork
16
Merge trung bình
1 ngày 19 giờ
Pull request đã merge (30 ngày)
1

Chuẩn bị môi trường

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của PEtab-dev/PEtab

Tất cả issue của PEtab-dev/PEtab

Issue tương tự

Thêm issue về Data Engineering

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.