Meaning of InterpolationOrder -> All for multidimensional interpolation Planned maintenance scheduled April 23, 2019 at 23:30 UTC (7:30pm US/Eastern) Announcing the arrival of Valued Associate #679: Cesar Manara Unicorn Meta Zoo #1: Why another podcast?How to get zeroth-order (piecewise constant) interpolation of scattered data?Interpolation of multidimensional data organized logarithmicallyMultidimensional interpolation with duplicate abscissa valuesSeries expansion of InterpolatingFunction obtained from NDSolveMultidimensional Interpolation with 3 independent Variables with modfied data setHow does ListInterpolation work?Deleting mesh elements from a meshCustom interpolation on unstructured grid (2D, 3D)Interpolation order reduced to 1 due to unstructured grid error; yet proper syntax?Interpolation of a list defined on a region

Is my guitar’s action too high?

Why doesn't the university give past final exams' answers?

Why did Bronn offer to be Tyrion Lannister's champion in trial by combat?

Recursive calls to a function - why is the address of the parameter passed to it lowering with each call?

What could prevent concentrated local exploration?

Assertions In A Mock Callout Test

Does the Pact of the Blade warlock feature allow me to customize the properties of the pact weapon I create?

Like totally amazing interchangeable sister outfit accessory swapping or whatever

How to mute a string and play another at the same time

Why do C and C++ allow the expression (int) + 4*5?

What kind of capacitor is this in the image?

What is the ongoing value of the Kanban board to the developers as opposed to management

What were wait-states, and why was it only an issue for PCs?

Etymology of 見舞い

Why is ArcGIS Pro not symbolizing my entire range of values?

Why these surprising proportionalities of integrals involving odd zeta values?

Why not use the yoke to control yaw, as well as pitch and roll?

What is the evidence that custom checks in Northern Ireland are going to result in violence?

Does traveling In The United States require a passport or can I use my green card if not a US citizen?

How is an IPA symbol that lacks a name (e.g. ɲ) called?

How to charge percentage of transaction cost?

A German immigrant ancestor has a "Registration Affidavit of Alien Enemy" on file. What does that mean exactly?

Converting a text document with special format to Pandas DataFrame

BV functions and wave equation



Meaning of InterpolationOrder -> All for multidimensional interpolation



Planned maintenance scheduled April 23, 2019 at 23:30 UTC (7:30pm US/Eastern)
Announcing the arrival of Valued Associate #679: Cesar Manara
Unicorn Meta Zoo #1: Why another podcast?How to get zeroth-order (piecewise constant) interpolation of scattered data?Interpolation of multidimensional data organized logarithmicallyMultidimensional interpolation with duplicate abscissa valuesSeries expansion of InterpolatingFunction obtained from NDSolveMultidimensional Interpolation with 3 independent Variables with modfied data setHow does ListInterpolation work?Deleting mesh elements from a meshCustom interpolation on unstructured grid (2D, 3D)Interpolation order reduced to 1 due to unstructured grid error; yet proper syntax?Interpolation of a list defined on a region










8












$begingroup$


What specific method does Interpolation use for unstructured multi-dimensional data when we set InterpolationOrder -> All? Documentation links are welcome.



Example 2D data:



data = RandomReal[1, 20, 3];


When the data points are not on a grid, the only allowed settings for InterpolationOrder are 1 and All, according to the error message issued when trying something else.



With 1, it is clear how it works: a Delaunay triangulation is computed and linear interpolation is done over each triangle.



But how does All work, and what determines the actual order that is chosen?



if = Interpolation[data, InterpolationOrder -> All];

if["InterpolationOrder"]
(* 5 *)

Show[
Plot3D[if[x, y], x, 0, 1, y, 0, 1],
Graphics3D[PointSize[Large], Point[data]]
]


enter image description here










share|improve this question









$endgroup$











  • $begingroup$
    Dunno, but the return value of if["InterpolationOrder"] that I get is 9223372036854775806, 9223372036854775806. Oo
    $endgroup$
    – Henrik Schumacher
    Apr 16 at 8:49






  • 1




    $begingroup$
    @HenrikSchumacher Oops ... It seems I tried this with M12.0 (it's available in the cloud).
    $endgroup$
    – Szabolcs
    Apr 16 at 8:54






  • 1




    $begingroup$
    Anyways, very good questions. I am also curious what works there in the background.
    $endgroup$
    – Henrik Schumacher
    Apr 16 at 9:00










  • $begingroup$
    @HenrikSchumacher If this gives a hint, starting from 4 data points, the first 3 data point counts get interpolation order 2, then the next 4 get 3, then the next 5 get 4, etc.
    $endgroup$
    – Szabolcs
    Apr 16 at 9:01






  • 1




    $begingroup$
    That sounds as if they were using straight-forward global interpolation by a polynomial of degree up to n. Then you have Binomial[n, 2] basis functions. In that case, this should become nasty for higher point counts due to Runge's phenomenon and ill-conditioned linear systems (for solving for the coefficients). So I presume, that they will switch to another method when the point count becomes larger...
    $endgroup$
    – Henrik Schumacher
    Apr 16 at 9:06
















8












$begingroup$


What specific method does Interpolation use for unstructured multi-dimensional data when we set InterpolationOrder -> All? Documentation links are welcome.



Example 2D data:



data = RandomReal[1, 20, 3];


When the data points are not on a grid, the only allowed settings for InterpolationOrder are 1 and All, according to the error message issued when trying something else.



With 1, it is clear how it works: a Delaunay triangulation is computed and linear interpolation is done over each triangle.



But how does All work, and what determines the actual order that is chosen?



if = Interpolation[data, InterpolationOrder -> All];

if["InterpolationOrder"]
(* 5 *)

Show[
Plot3D[if[x, y], x, 0, 1, y, 0, 1],
Graphics3D[PointSize[Large], Point[data]]
]


enter image description here










share|improve this question









$endgroup$











  • $begingroup$
    Dunno, but the return value of if["InterpolationOrder"] that I get is 9223372036854775806, 9223372036854775806. Oo
    $endgroup$
    – Henrik Schumacher
    Apr 16 at 8:49






  • 1




    $begingroup$
    @HenrikSchumacher Oops ... It seems I tried this with M12.0 (it's available in the cloud).
    $endgroup$
    – Szabolcs
    Apr 16 at 8:54






  • 1




    $begingroup$
    Anyways, very good questions. I am also curious what works there in the background.
    $endgroup$
    – Henrik Schumacher
    Apr 16 at 9:00










  • $begingroup$
    @HenrikSchumacher If this gives a hint, starting from 4 data points, the first 3 data point counts get interpolation order 2, then the next 4 get 3, then the next 5 get 4, etc.
    $endgroup$
    – Szabolcs
    Apr 16 at 9:01






  • 1




    $begingroup$
    That sounds as if they were using straight-forward global interpolation by a polynomial of degree up to n. Then you have Binomial[n, 2] basis functions. In that case, this should become nasty for higher point counts due to Runge's phenomenon and ill-conditioned linear systems (for solving for the coefficients). So I presume, that they will switch to another method when the point count becomes larger...
    $endgroup$
    – Henrik Schumacher
    Apr 16 at 9:06














8












8








8





$begingroup$


What specific method does Interpolation use for unstructured multi-dimensional data when we set InterpolationOrder -> All? Documentation links are welcome.



Example 2D data:



data = RandomReal[1, 20, 3];


When the data points are not on a grid, the only allowed settings for InterpolationOrder are 1 and All, according to the error message issued when trying something else.



With 1, it is clear how it works: a Delaunay triangulation is computed and linear interpolation is done over each triangle.



But how does All work, and what determines the actual order that is chosen?



if = Interpolation[data, InterpolationOrder -> All];

if["InterpolationOrder"]
(* 5 *)

Show[
Plot3D[if[x, y], x, 0, 1, y, 0, 1],
Graphics3D[PointSize[Large], Point[data]]
]


enter image description here










share|improve this question









$endgroup$




What specific method does Interpolation use for unstructured multi-dimensional data when we set InterpolationOrder -> All? Documentation links are welcome.



Example 2D data:



data = RandomReal[1, 20, 3];


When the data points are not on a grid, the only allowed settings for InterpolationOrder are 1 and All, according to the error message issued when trying something else.



With 1, it is clear how it works: a Delaunay triangulation is computed and linear interpolation is done over each triangle.



But how does All work, and what determines the actual order that is chosen?



if = Interpolation[data, InterpolationOrder -> All];

if["InterpolationOrder"]
(* 5 *)

Show[
Plot3D[if[x, y], x, 0, 1, y, 0, 1],
Graphics3D[PointSize[Large], Point[data]]
]


enter image description here







interpolation






share|improve this question













share|improve this question











share|improve this question




share|improve this question










asked Apr 16 at 8:43









SzabolcsSzabolcs

165k15451954




165k15451954











  • $begingroup$
    Dunno, but the return value of if["InterpolationOrder"] that I get is 9223372036854775806, 9223372036854775806. Oo
    $endgroup$
    – Henrik Schumacher
    Apr 16 at 8:49






  • 1




    $begingroup$
    @HenrikSchumacher Oops ... It seems I tried this with M12.0 (it's available in the cloud).
    $endgroup$
    – Szabolcs
    Apr 16 at 8:54






  • 1




    $begingroup$
    Anyways, very good questions. I am also curious what works there in the background.
    $endgroup$
    – Henrik Schumacher
    Apr 16 at 9:00










  • $begingroup$
    @HenrikSchumacher If this gives a hint, starting from 4 data points, the first 3 data point counts get interpolation order 2, then the next 4 get 3, then the next 5 get 4, etc.
    $endgroup$
    – Szabolcs
    Apr 16 at 9:01






  • 1




    $begingroup$
    That sounds as if they were using straight-forward global interpolation by a polynomial of degree up to n. Then you have Binomial[n, 2] basis functions. In that case, this should become nasty for higher point counts due to Runge's phenomenon and ill-conditioned linear systems (for solving for the coefficients). So I presume, that they will switch to another method when the point count becomes larger...
    $endgroup$
    – Henrik Schumacher
    Apr 16 at 9:06

















  • $begingroup$
    Dunno, but the return value of if["InterpolationOrder"] that I get is 9223372036854775806, 9223372036854775806. Oo
    $endgroup$
    – Henrik Schumacher
    Apr 16 at 8:49






  • 1




    $begingroup$
    @HenrikSchumacher Oops ... It seems I tried this with M12.0 (it's available in the cloud).
    $endgroup$
    – Szabolcs
    Apr 16 at 8:54






  • 1




    $begingroup$
    Anyways, very good questions. I am also curious what works there in the background.
    $endgroup$
    – Henrik Schumacher
    Apr 16 at 9:00










  • $begingroup$
    @HenrikSchumacher If this gives a hint, starting from 4 data points, the first 3 data point counts get interpolation order 2, then the next 4 get 3, then the next 5 get 4, etc.
    $endgroup$
    – Szabolcs
    Apr 16 at 9:01






  • 1




    $begingroup$
    That sounds as if they were using straight-forward global interpolation by a polynomial of degree up to n. Then you have Binomial[n, 2] basis functions. In that case, this should become nasty for higher point counts due to Runge's phenomenon and ill-conditioned linear systems (for solving for the coefficients). So I presume, that they will switch to another method when the point count becomes larger...
    $endgroup$
    – Henrik Schumacher
    Apr 16 at 9:06
















$begingroup$
Dunno, but the return value of if["InterpolationOrder"] that I get is 9223372036854775806, 9223372036854775806. Oo
$endgroup$
– Henrik Schumacher
Apr 16 at 8:49




$begingroup$
Dunno, but the return value of if["InterpolationOrder"] that I get is 9223372036854775806, 9223372036854775806. Oo
$endgroup$
– Henrik Schumacher
Apr 16 at 8:49




1




1




$begingroup$
@HenrikSchumacher Oops ... It seems I tried this with M12.0 (it's available in the cloud).
$endgroup$
– Szabolcs
Apr 16 at 8:54




$begingroup$
@HenrikSchumacher Oops ... It seems I tried this with M12.0 (it's available in the cloud).
$endgroup$
– Szabolcs
Apr 16 at 8:54




1




1




$begingroup$
Anyways, very good questions. I am also curious what works there in the background.
$endgroup$
– Henrik Schumacher
Apr 16 at 9:00




$begingroup$
Anyways, very good questions. I am also curious what works there in the background.
$endgroup$
– Henrik Schumacher
Apr 16 at 9:00












$begingroup$
@HenrikSchumacher If this gives a hint, starting from 4 data points, the first 3 data point counts get interpolation order 2, then the next 4 get 3, then the next 5 get 4, etc.
$endgroup$
– Szabolcs
Apr 16 at 9:01




$begingroup$
@HenrikSchumacher If this gives a hint, starting from 4 data points, the first 3 data point counts get interpolation order 2, then the next 4 get 3, then the next 5 get 4, etc.
$endgroup$
– Szabolcs
Apr 16 at 9:01




1




1




$begingroup$
That sounds as if they were using straight-forward global interpolation by a polynomial of degree up to n. Then you have Binomial[n, 2] basis functions. In that case, this should become nasty for higher point counts due to Runge's phenomenon and ill-conditioned linear systems (for solving for the coefficients). So I presume, that they will switch to another method when the point count becomes larger...
$endgroup$
– Henrik Schumacher
Apr 16 at 9:06





$begingroup$
That sounds as if they were using straight-forward global interpolation by a polynomial of degree up to n. Then you have Binomial[n, 2] basis functions. In that case, this should become nasty for higher point counts due to Runge's phenomenon and ill-conditioned linear systems (for solving for the coefficients). So I presume, that they will switch to another method when the point count becomes larger...
$endgroup$
– Henrik Schumacher
Apr 16 at 9:06











1 Answer
1






active

oldest

votes


















8












$begingroup$

This is code that has been written many moons ago... first an example:



d = 0.4138352728412389, 0.02365673668161028, 0.5509946389658635, 
0.7254061374370833, 0.14521595926324116,
0.6528630823305817, 0.48768962246740544,
0.22066264105073286, 0.8309710560928056,
0.3496966364384875, 0.4553589220242207,
0.9383446951847001, 0.2126873262146789,
0.017512080396716145, 0.967248982535015,
0.6211273372083488, 0.3548669163916416,
0.737108322193581, 0.6919974835480842, 0.9322403408098401;
f = 0.9953617542392983, 0.14070666511222818,
0.285662339441511, 0.7988192898854105, 0.3592646208757597,
0.565455746009103, 0.22110814761432618, 0.2735048548887764,
0.08792348530403005, 0.4202942851818514;
data = Join[d, f, 2];
if = Interpolation[data, InterpolationOrder -> All];
if[0.5, 0.5]

0.268157


And here is roughly what it does:



dt = Transpose[d];
temp = Join[ConstantArray[1., Length[d]], dt, dt[[1]]^2,
dt[[1]]*dt[[2]], dt[[2]]^2, dt[[1]]^3,
dt[[1]]^2*dt[[2]], dt[[1]]*dt[[2]]^2, dt[[2]]^3];
p = Transpose[temp];
ls = LinearSolve[p];
vals = ls[Flatten[f]];
System`Private`EvaluateListPolynomial[vals, 0.5, 0.5]

0.268157





share|improve this answer









$endgroup$













    Your Answer








    StackExchange.ready(function()
    var channelOptions =
    tags: "".split(" "),
    id: "387"
    ;
    initTagRenderer("".split(" "), "".split(" "), channelOptions);

    StackExchange.using("externalEditor", function()
    // Have to fire editor after snippets, if snippets enabled
    if (StackExchange.settings.snippets.snippetsEnabled)
    StackExchange.using("snippets", function()
    createEditor();
    );

    else
    createEditor();

    );

    function createEditor()
    StackExchange.prepareEditor(
    heartbeatType: 'answer',
    autoActivateHeartbeat: false,
    convertImagesToLinks: false,
    noModals: true,
    showLowRepImageUploadWarning: true,
    reputationToPostImages: null,
    bindNavPrevention: true,
    postfix: "",
    imageUploader:
    brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
    contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
    allowUrls: true
    ,
    onDemand: true,
    discardSelector: ".discard-answer"
    ,immediatelyShowMarkdownHelp:true
    );



    );













    draft saved

    draft discarded


















    StackExchange.ready(
    function ()
    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fmathematica.stackexchange.com%2fquestions%2f195279%2fmeaning-of-interpolationorder-all-for-multidimensional-interpolation%23new-answer', 'question_page');

    );

    Post as a guest















    Required, but never shown

























    1 Answer
    1






    active

    oldest

    votes








    1 Answer
    1






    active

    oldest

    votes









    active

    oldest

    votes






    active

    oldest

    votes









    8












    $begingroup$

    This is code that has been written many moons ago... first an example:



    d = 0.4138352728412389, 0.02365673668161028, 0.5509946389658635, 
    0.7254061374370833, 0.14521595926324116,
    0.6528630823305817, 0.48768962246740544,
    0.22066264105073286, 0.8309710560928056,
    0.3496966364384875, 0.4553589220242207,
    0.9383446951847001, 0.2126873262146789,
    0.017512080396716145, 0.967248982535015,
    0.6211273372083488, 0.3548669163916416,
    0.737108322193581, 0.6919974835480842, 0.9322403408098401;
    f = 0.9953617542392983, 0.14070666511222818,
    0.285662339441511, 0.7988192898854105, 0.3592646208757597,
    0.565455746009103, 0.22110814761432618, 0.2735048548887764,
    0.08792348530403005, 0.4202942851818514;
    data = Join[d, f, 2];
    if = Interpolation[data, InterpolationOrder -> All];
    if[0.5, 0.5]

    0.268157


    And here is roughly what it does:



    dt = Transpose[d];
    temp = Join[ConstantArray[1., Length[d]], dt, dt[[1]]^2,
    dt[[1]]*dt[[2]], dt[[2]]^2, dt[[1]]^3,
    dt[[1]]^2*dt[[2]], dt[[1]]*dt[[2]]^2, dt[[2]]^3];
    p = Transpose[temp];
    ls = LinearSolve[p];
    vals = ls[Flatten[f]];
    System`Private`EvaluateListPolynomial[vals, 0.5, 0.5]

    0.268157





    share|improve this answer









    $endgroup$

















      8












      $begingroup$

      This is code that has been written many moons ago... first an example:



      d = 0.4138352728412389, 0.02365673668161028, 0.5509946389658635, 
      0.7254061374370833, 0.14521595926324116,
      0.6528630823305817, 0.48768962246740544,
      0.22066264105073286, 0.8309710560928056,
      0.3496966364384875, 0.4553589220242207,
      0.9383446951847001, 0.2126873262146789,
      0.017512080396716145, 0.967248982535015,
      0.6211273372083488, 0.3548669163916416,
      0.737108322193581, 0.6919974835480842, 0.9322403408098401;
      f = 0.9953617542392983, 0.14070666511222818,
      0.285662339441511, 0.7988192898854105, 0.3592646208757597,
      0.565455746009103, 0.22110814761432618, 0.2735048548887764,
      0.08792348530403005, 0.4202942851818514;
      data = Join[d, f, 2];
      if = Interpolation[data, InterpolationOrder -> All];
      if[0.5, 0.5]

      0.268157


      And here is roughly what it does:



      dt = Transpose[d];
      temp = Join[ConstantArray[1., Length[d]], dt, dt[[1]]^2,
      dt[[1]]*dt[[2]], dt[[2]]^2, dt[[1]]^3,
      dt[[1]]^2*dt[[2]], dt[[1]]*dt[[2]]^2, dt[[2]]^3];
      p = Transpose[temp];
      ls = LinearSolve[p];
      vals = ls[Flatten[f]];
      System`Private`EvaluateListPolynomial[vals, 0.5, 0.5]

      0.268157





      share|improve this answer









      $endgroup$















        8












        8








        8





        $begingroup$

        This is code that has been written many moons ago... first an example:



        d = 0.4138352728412389, 0.02365673668161028, 0.5509946389658635, 
        0.7254061374370833, 0.14521595926324116,
        0.6528630823305817, 0.48768962246740544,
        0.22066264105073286, 0.8309710560928056,
        0.3496966364384875, 0.4553589220242207,
        0.9383446951847001, 0.2126873262146789,
        0.017512080396716145, 0.967248982535015,
        0.6211273372083488, 0.3548669163916416,
        0.737108322193581, 0.6919974835480842, 0.9322403408098401;
        f = 0.9953617542392983, 0.14070666511222818,
        0.285662339441511, 0.7988192898854105, 0.3592646208757597,
        0.565455746009103, 0.22110814761432618, 0.2735048548887764,
        0.08792348530403005, 0.4202942851818514;
        data = Join[d, f, 2];
        if = Interpolation[data, InterpolationOrder -> All];
        if[0.5, 0.5]

        0.268157


        And here is roughly what it does:



        dt = Transpose[d];
        temp = Join[ConstantArray[1., Length[d]], dt, dt[[1]]^2,
        dt[[1]]*dt[[2]], dt[[2]]^2, dt[[1]]^3,
        dt[[1]]^2*dt[[2]], dt[[1]]*dt[[2]]^2, dt[[2]]^3];
        p = Transpose[temp];
        ls = LinearSolve[p];
        vals = ls[Flatten[f]];
        System`Private`EvaluateListPolynomial[vals, 0.5, 0.5]

        0.268157





        share|improve this answer









        $endgroup$



        This is code that has been written many moons ago... first an example:



        d = 0.4138352728412389, 0.02365673668161028, 0.5509946389658635, 
        0.7254061374370833, 0.14521595926324116,
        0.6528630823305817, 0.48768962246740544,
        0.22066264105073286, 0.8309710560928056,
        0.3496966364384875, 0.4553589220242207,
        0.9383446951847001, 0.2126873262146789,
        0.017512080396716145, 0.967248982535015,
        0.6211273372083488, 0.3548669163916416,
        0.737108322193581, 0.6919974835480842, 0.9322403408098401;
        f = 0.9953617542392983, 0.14070666511222818,
        0.285662339441511, 0.7988192898854105, 0.3592646208757597,
        0.565455746009103, 0.22110814761432618, 0.2735048548887764,
        0.08792348530403005, 0.4202942851818514;
        data = Join[d, f, 2];
        if = Interpolation[data, InterpolationOrder -> All];
        if[0.5, 0.5]

        0.268157


        And here is roughly what it does:



        dt = Transpose[d];
        temp = Join[ConstantArray[1., Length[d]], dt, dt[[1]]^2,
        dt[[1]]*dt[[2]], dt[[2]]^2, dt[[1]]^3,
        dt[[1]]^2*dt[[2]], dt[[1]]*dt[[2]]^2, dt[[2]]^3];
        p = Transpose[temp];
        ls = LinearSolve[p];
        vals = ls[Flatten[f]];
        System`Private`EvaluateListPolynomial[vals, 0.5, 0.5]

        0.268157






        share|improve this answer












        share|improve this answer



        share|improve this answer










        answered Apr 16 at 10:59









        user21user21

        20.7k55997




        20.7k55997



























            draft saved

            draft discarded
















































            Thanks for contributing an answer to Mathematica Stack Exchange!


            • Please be sure to answer the question. Provide details and share your research!

            But avoid


            • Asking for help, clarification, or responding to other answers.

            • Making statements based on opinion; back them up with references or personal experience.

            Use MathJax to format equations. MathJax reference.


            To learn more, see our tips on writing great answers.




            draft saved


            draft discarded














            StackExchange.ready(
            function ()
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fmathematica.stackexchange.com%2fquestions%2f195279%2fmeaning-of-interpolationorder-all-for-multidimensional-interpolation%23new-answer', 'question_page');

            );

            Post as a guest















            Required, but never shown





















































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown

































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown







            Popular posts from this blog

            How to write a 12-bar blues melodyI-IV-V blues progressionHow to play the bridges in a standard blues progressionHow does Gdim7 fit in C# minor?question on a certain chord progressionMusicology of Melody12 bar blues, spread rhythm: alternative to 6th chord to avoid finger stretchChord progressions/ Root key/ MelodiesHow to put chords (POP-EDM) under a given lead vocal melody (starting from a good knowledge in music theory)Are there “rules” for improvising with the minor pentatonic scale over 12-bar shuffle?Confusion about blues scale and chords

            What if the end-user didn't have the required library?What is setup.py?What is a clean, pythonic way to have multiple constructors in Python?What does Ruby have that Python doesn't, and vice versa?What is the reason for having '//' in Python?How do I create a namespace package in Python?How to package shared objects that python modules depend on?setuptools vs. distutils: why is distutils still a thing?Navigation in Windows 10 vs code not going to virtualenv library when the same library is installed at user levelPython create package for local usePackaging a project that uses multiple python versionsWhy is permission denied on pip install except for when “--user” is included at end of command?

            Esgonzo ibérico Índice Descrición Distribución Hábitat Ameazas Notas Véxase tamén "Acerca dos nomes dos anfibios e réptiles galegos""Chalcides bedriagai"Chalcides bedriagai en Carrascal, L. M. Salvador, A. (Eds). Enciclopedia virtual de los vertebrados españoles. Museo Nacional de Ciencias Naturales, Madrid. España.Fotos