mars-project / mars-project/mars

Implement operand for ```scipy.special.fresnel_zeros```

Open
#3,179 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Python
Stars
2.7k
Forks
325
PR merge metrics
No merged PRs in 30d

Description

**Is your feature request related to a problem? Please describe.**
We currently support all scipy special error functions and fresnel integrals except ```fresnel_zeros```, so it would be good to support it as well.

**Describe the solution you'd like**
As ```fresnel_zeros``` only accepts scalar inputs, it is not a typical scipy.special function. Thus it should be treated as something like ```mt.ones``` which accepts scalar dimensions and outputs tensors with multiple chunks other than simple arithmetic operands. We would want to implement a separate operand class just for ```fresnel_zeros```, and the operand should produce multiple chunks given ```options.chunk_store_limit``` or some ```chunk_size``` value provided by the caller.

**Additional context**
- Scipy special error functions and fresnel integrals: https://docs.scipy.org/doc/scipy/reference/special.html#error-function-and-fresnel-integrals
- Context: #3157

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reviewing the existing operands for SciPy special error functions and Fresnel integrals, using scipy.special.fresnel_zeros and the mt.ones behavior as the entry points. Check the discussion in #3157, then verify that the new operand accepts scalar inputs, honors chunk_store_limit or caller-provided chunk_size, and produces the expected multiple chunks.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
data
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
28/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.