fix(ga): Derivative of a constant now returns 0 instead of a throwing an error
All checks were successful
Run Python Tests / test (3.12) (pull_request) Successful in 24s
Run Python Tests / test (3.10) (pull_request) Successful in 30s
Run Python Tests / test (3.8) (pull_request) Successful in 22s
Publish Python Package to PyPI / deploy (push) Successful in 20s

This commit was merged in pull request #22.
This commit is contained in:
2025-10-31 11:17:29 -04:00
parent b7ea6c2e23
commit f4c5d245e4

View File

@@ -265,7 +265,9 @@ class Function:
""" """
self._check_initialized() self._check_initialized()
if self._largest_exponent == 0: if self._largest_exponent == 0:
raise ValueError("Cannot differentiate a constant (Function of degree 0).") diff_func = Function(0)
diff_func.set_coeffs([0])
return diff_func
derivative_coefficients = np.polyder(self.coefficients) derivative_coefficients = np.polyder(self.coefficients)
@@ -681,7 +683,7 @@ class Function:
def _multiply_by_scalar(self, scalar: Union[int, float]) -> 'Function': def _multiply_by_scalar(self, scalar: Union[int, float]) -> 'Function':
"""Helper method to multiply the function by a scalar constant.""" """Helper method to multiply the function by a scalar constant."""
self._check_initialized() # It's good practice to check here too self._check_initialized()
if scalar == 0: if scalar == 0:
result_func = Function(0) result_func = Function(0)