pari-gp

    1熱度

    3回答

    我正在尋找一種自動化方法,將PARI/GP計算器(gp)中的十進制值轉換爲分數。例如,我想將0.759765625變成389/512。我知道我可以通過輸入'759765625/10^9'手動執行此操作,但我想要一個更簡單的方法,比如'rationalize(0.759765625);'將在千里馬工作。 如果它不能直接做到這一點,也許有一個函數來計算小數位數?然後我可以提高10到該函數的結果。 (該

    1熱度

    1回答

    如何找到給定的總數p的最高功率除以PARI/GP的數字N? E.g。如果我們有p = 7和N = 3087我們得到e = 3與p^e | N但p^(e+1)不分N。 我想避免數字N的完全因式分解。

    2熱度

    1回答

    我已經定義了幾個函數1,比如func1(-)和func2(-)。我測試了他們,看到他們實際上做了他們應該做的事情。 我希望定義第三個函數,func3(-),輸出func1(-)和func2(-)的差值。這是我做的 func3(k) = {j=func1(k)-func2(k); print(j)} 儘管如此,它並沒有返回它應該做的。讓我們假設func1(5)輸出10和func2(5)輸出2.然

    6熱度

    1回答

    如何在PARI/GP中製作跨越每個級別多行的嵌套循環?我經常需要在循環內部做很多事情,爲了可讀性,我不喜歡在單行上編寫循環。對於遍歷一個變量,我一直在做這樣的: for(i=1,10,{ printf("%u\n",i); }) 然而,對於嵌套的循環,我只設法把換行符在一個級別上。這工作: for(i=1, 10, for(j=1, 10, { printf("%2u\t

    1熱度

    1回答

    四捨五入了一些我知道的是,「\ P X [」命令將所有的計算精度,但我正在尋找的東西有點不同。給定一個高精度計算的數字,我想將它舍入到我的代碼的一部分的較低精度。這是因爲複數的絕對值往往會造成一些舍入誤差,從而導致以後出現問題。我希望這些絕對值是相同的,並且沒有現在的微小錯誤。 換句話說,我怎樣才能使1.xxxxxxxxxxxxxx - > 1.xxxxxxx爲一個特定的數字?

    1熱度

    1回答

    中的行向量的總長度,我試圖隨機選擇一個除數。 但是我無法隨機得到一個數字,因爲我找不到任何函數可以使我得到一個行向量的長度。 例如: temp=divisors(12); [1,2,3,4,6,12] vecmax(temp); \\will get me 10 instead of 6 temp[random(vecmax(temp))]; 希望這裏有人能幫助我。謝謝! :)

    1熱度

    1回答

    我運行這個簡單的查詢:3的正常運行 Mod(0, 2) *** at top-level: ...od(100,p);print(a);print(znorder(a));) *** ^------------- *** znorder: not an element of (Z/nZ)* in order. *** Break loo

    2熱度

    1回答

    PARI/GP是否具有找到t_INT的最小素因子或以其他方式執行整數的部分因式分解的函數? 舉例來說,如果我有號: a=261432792226751124747858820445742044652814631500046047326053169701039080900441047539208779404889565067 它需要很長的時間做factor(a)因爲a包含兩個巨大的首要因素。但是

    0熱度

    1回答

    bestappr(sqrt(13),30)給出了18/5我試過的任何精度,但更接近的近似值爲101/28。有什麼我錯過了嗎?

    0熱度

    3回答

    我想if語句這樣 if(denominator([(i-1)! + 1]/i)-1,print(hi),print(ho)) i寫例如可以是10的任意整數,當我設置i 10它給這個錯誤。 ? [(x-1)! + 1]/x *** this should be an integer: [(x-1)!+1]/x ^----------- 我真的只需要檢查是否