Skip to content

Adding CCi to M2#4040

Open
MichaelABurr wants to merge 222 commits intoMacaulay2:developmentfrom
MichaelABurr:intervals
Open

Adding CCi to M2#4040
MichaelABurr wants to merge 222 commits intoMacaulay2:developmentfrom
MichaelABurr:intervals

Conversation

@MichaelABurr
Copy link
Member

This is work started at the M2 conference in Madison. This is the pull request to add CCi support to M2. This includes implementations in the M2 language, the D-language, and aring support for polynomials and matrices in the back-end.

d-torrance and others added 30 commits June 30, 2025 10:58
Matrix internals have changed
RRb and CCb will be added later and will use GC-allocated memory.
Copy link
Contributor

@antonleykin antonleykin left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm taken away a bit by

i8 : # methods regularizedBeta                                                                       
                                                                                                     
o8 = 125  

for a method with basic usage:

regularizedBeta(x, a, b)                                                                
       * Inputs:                                                                                     
           * x, a "real number",                                                                     
           * a, a "real number",                                                                     
           * b, a "real number",                                                                     
       * Outputs:                                                                                    
           * a "real number",   

Indeed, $125 = 5^3$, but isn't it a bit too much?

@d-torrance
Copy link
Member

Yeah, we could probably replace most of those with something like regularizedBeta(InexactNumber, InexactNumber, InexactNumber). I'll play around with it

Previously, we were just adding/subtracting 1 first, and thus losing
precision for small inputs.
This way, we don't have to worry about storing them as methods for all
four different InexactNumber types.
@d-torrance
Copy link
Member

This is a bit more manageable!

i1 : methods regularizedBeta

o1 = {0 => (regularizedBeta, Number, InexactNumber, InexactNumber)       }
     {1 => (regularizedBeta, InexactNumber, Number, InexactNumber)       }
     {2 => (regularizedBeta, InexactNumber, InexactNumber, Number)       }
     {3 => (regularizedBeta, Number, Number, InexactNumber)              }
     {4 => (regularizedBeta, Number, InexactNumber, Number)              }
     {5 => (regularizedBeta, InexactNumber, Number, Number)              }
     {6 => (regularizedBeta, Number, Number, Number)                     }
     {7 => (regularizedBeta, InexactNumber, InexactNumber, InexactNumber)}

o1 : NumberedVerticalList

@d-torrance d-torrance added this to the version 1.26.05 milestone Mar 2, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants