ApCoCoA-1:Bertini.BPCSolve

From ApCoCoAWiki
Revision as of 11:05, 20 May 2010 by 132.231.10.53 (talk)

Bertini.BPCSolve

Compute numerical irreducible decomposition by finding witness point supersets of a positive dimensional
homogeneous or non-homogeneous polynomial systems of equations. 

Syntax

Bertini.BPCSolve(P:LIST, SysTyp:STRING ,  ConfigSet:LIST):LIST

Description


Please note: The function(s) explained on this page is/are using the ApCoCoAServer. You will have to start the ApCoCoAServer in order to use it/them.

This function uses numerical algebraic geometry to find witness point supersets of a positive dimensional homogeneous or non-homogeneous polynomial systems of equations. It enables you to use all kinds of user configurations provided by Bertini. Please read about configuration settings provided in Bertini manual. The system of polynomials may be homogeneous or nonhomogeneous. The output will be the list of all witness point supersets. Please note that every irreducible component of a solution set of a positive dimensional polynomial system is presented by a witness set whose cardinality equals the degree of the irreducible component. In this sense we refer witness point supersets as solutions of the system.

  • @param P: List of polynomials of the given system.

  • @param SysTyp: Type of polynomials in the system P. Homogeneous ("hom") or nonhomogeneous ("Nhom").

  • @param ConfigSet: List of strings representing configurations to be used. Bertini uses multiple configuration settings. These configurations should be provided by the user. If you want to use default configurations then set ConfigSet := ["TRACKTYPE: 1"]. If you want to provide user specific configurations then simply add them to ConfigSet. Please note that ConfigSet must contain "TRACKTYPE: 1". The use of configuration settings is little tricky but very usefull. You can sifft from one kind of solving to the other just by changing or adding some configurations. For details about configuration settings see Bertini manual http://www.nd.edu/~sommese/bertini/BertiniUsersManual.pdf.

  • @return A list of lists containing witness point supersets.

Example

-- An example of homogeneous positive dimensional solving with default configurations.
-- We want to solve a positive dimensional homogeneous system x^2-wy=0, x^3-zw^2=0.

Use S ::= QQ[x,y,z,w];        
P := [x^2-wy, x^3-zw^2];
SysTyp := <quotes>hom</quotes>;
ConfigSet := [<quotes>TRACKTYPE: 1</quotes>];

-- Then we compute the solution with
Bertini.BPCSolve(P,SysTyp,ConfigSet);

-- And we achieve a list of lists containing witness point supersets.
----------------------------------------
[
[
Vector(-755572432434347/12500000000000000, 1212469385646449/500000000000000000),
 Vector(1298004943638751/5000000000000000, -1142577751598529/10000000000000000), 
Vector(-2342040006871913/2500000000000000, 1179799639878209/1250000000000000),
 Vector(609385691937087/50000000000000000, 211745411898973/50000000000000000)
],
 [
Vector(1261061851901631/2500000000000000, 2488819338268271/5000000000000000),
 Vector(2282600091308383/5000000000000000, -1003166917277761/5000000000000000),
 Vector(-1266611634699783/100000000000000000, -3506599942546397/10000000000000000),
 Vector(-245572945934717/625000000000000, 2318280651577719/2500000000000000)
],
 [
Vector(-5499850009487371/10000000000000000, -1238476107570149/1000000000000000), 
Vector(1731610073705601/2000000000000000, -4674149620192353/10000000000000000),
 Vector(966993267243377/2500000000000000, 1501592012502773/2500000000000000),
 Vector(-1758972965024007/1000000000000000, 6238313035434359/10000000000000000)
], 
[
Vector(-1674674005500441/50000000000000000000000000000000, -139223041258509/4000000000000000000000000000000),
 Vector(2733406006983317/10000000000000000, -210607026124287/2000000000000000),
 Vector(-918496799516071/1000000000000000, 1142768401415781/1250000000000000),
 Vector(13944005158723/1250000000000000000000000000000, -3407948311604289/100000000000000000000000000000000)
]
]


--For Bertini output files please refer to ApCoCoA directory/Bertini.


Example

-- An example of homogenous positive dimensional solving with user configurations.
-- We want to solve a positive dimensional homogenous polynomial system x^2-wy=0, x^3-zw^2=0, for fixed higher precision.

Use S ::= QQ[x,y,z,w];            
P := [x^2-wy, x^3-zw^2];
SysTyp := <quotes>hom</quotes>;
ConfigSet := [<quotes>TRACKTYPE: 1</quotes>, <quotes>MPTYPE: 1</quotes>, <quotes>PRECISION: 128</quotes>];

-- Then we compute the solution with
Bertini.BPCSolve(P,SysTyp,ConfigSet);

-- And we achieve a list of lists containing witness point supersets.
----------------------------------------
[
[
Vector(-3789467495454911613823851164626681463651/10000000000000000000000000000000000000000,
 1200734725407166211921788902942849185503/1000000000000000000000000000000000000000),
 Vector(-246001393466366309986866914393676541221/125000000000000000000000000000000000000,
 -279722792064708736248520972068122497257/500000000000000000000000000000000000000),
 Vector(4083988954899604873030242779673433634501/5000000000000000000000000000000000000000,
 -1611351492565067582850937617799756261201/500000000000000000000000000000000000000),
 Vector(7319342772891341731507480575523588267957/10000000000000000000000000000000000000000,
 19870617690036348352514491511362841819/78125000000000000000000000000000000000)
],
 [
Vector(3048866987455758258878751406208402973051/10000000000000000000000000000000000000000,
 -2898035102105205140344370335032912017083/5000000000000000000000000000000000000000),
 Vector(-5539460172405722710678127397246600460333/10000000000000000000000000000000000000000,
 626442207647239461619975960511872586713/5000000000000000000000000000000000000000),
 Vector(986380263365471019267174885767305829617/2500000000000000000000000000000000000000,
 736987741407866469670001545005869554379/2500000000000000000000000000000000000000),
 Vector(1400107689781321399920833229898425820819/5000000000000000000000000000000000000000,
 2191732091470400698700321524968735909/3125000000000000000000000000000000000)
],
 [
Vector(354996962262331142136973979259558150991/400000000000000000000000000000000000000,
 1816598489416934847206968307485748462499/1000000000000000000000000000000000000000),
 Vector(1967511413109990263685197237623604100867/1000000000000000000000000000000000000000,
 1727412577136936817572423873769337954923/1000000000000000000000000000000000000000),
 Vector(803360350133974614907008034061208613233/250000000000000000000000000000000000000,
 1081558694105850161535777129438751374871/1000000000000000000000000000000000000000),
 Vector(9143301947447558293770285751969676840889/100000000000000000000000000000000000000000,
 155856385824660750993297595625859090071/100000000000000000000000000000000000000)
],
 [
Vector(-825065032224960020386592540685453030181/50000000000000000000000000000000000000000000000000000000000000000000000000,
 -870815934189224420445215323683468742119/50000000000000000000000000000000000000000000000000000000000000000000000000),
 Vector(-2670487187708557160891411850766573823343/1000000000000000000000000000000000000000,
 2412331000084757896737353053811227631099/2500000000000000000000000000000000000000),
 Vector(-2260897026243730139776564722393608088003/1000000000000000000000000000000000000000,
 -5881973549623185468407939053314195499303/10000000000000000000000000000000000000000),
 Vector(-6276316819449156764984023481918376370437/1000000000000000000000000000000000000000000000000000000000000000000000000000,
 -457717591175786069863350181676761297761/25000000000000000000000000000000000000000000000000000000000000000000000000)
]
]

--For Bertini output files please refer to ApCoCoA directory/Bertini.


Example

-- An example of homogeneous positive dimensional solving with user configurations.
-- We want to find the numerical irreducible decomposition of the twisted cubic, x^2-wy=0, xy-wz=0, xz-y^2=0.
-- In addition we want to instruct Bertini to use dimension by dimension slicing for witness superset generation to compute the
-- numerical irreducible decomposition of the twisted cubic. 

Use S ::= QQ[x,y,z,w];        
P := [x^2-wy, xy-wz, xz-y^2];
SysTyp := <quotes>hom</quotes>;
ConfigSet := [<quotes>TRACKTYPE: 1</quotes>, <quotes>WITNESSGENTYPE: 1</quotes>];

-- Then we compute the solution with
Bertini.BPCSolve(P,SysTyp,ConfigSet);

-- And we achieve a list of lists containing witness point supersets.
----------------------------------------
[
[
Vector(-6942026116799083/100000000000000000, 4612445857279657/10000000000000000),
Vector(-660130555588941/2500000000000000, -3406132801364543/10000000000000000), 
Vector(1980599587423497/5000000000000000, 4074862446889013/100000000000000000), 
Vector(258142996733279/625000000000000, -580518904347863/2000000000000000)
],
[
Vector(333984658654543/400000000000000, 2114142485709457/10000000000000000), 
Vector(2502940254499371/5000000000000000, 166534572523981/400000000000000), 
Vector(2057347374261689/10000000000000000, 223561664132829/500000000000000), 
Vector(1117184759814529/1000000000000000, -2238949523369569/10000000000000000)
], 
[
Vector(2522626882012411/10000000000000000, -449777889912661/2500000000000000), 
Vector(-3124384466089009/10000000000000000, -3468473241908347/10000000000000000), 
Vector(-465770235043267/1000000000000000, 2634944111403243/5000000000000000), 
Vector(9964067241416377/100000000000000000, 224882867669343/1250000000000000)
], 
[
Vector(-8958209355386233/10000000000000000, 5991364293445607/10000000000000000), 
Vector(4479104677693117/5000000000000000, 748920536680701/1250000000000000), 
Vector(4479104677693117/5000000000000000, 748920536680701/1250000000000000), 
Vector(4479104677693117/5000000000000000, 748920536680701/1250000000000000)
], 
[
Vector(838951317127217/5000000000000000, 1225282193168769/2000000000000000), 
Vector(2669420883548849/10000000000000000, -542051267199167/1250000000000000), 
Vector(-4000931691247049/10000000000000000, 2026256168319313/25000000000000000), 
Vector(-1753050275159781/2500000000000000, -3689466057646187/10000000000000000)
], 
[
Vector(1994140751299623/5000000000000000, -571186186780739/12500000000000000), 
Vector(417774557591413/2500000000000000, -4720503734495957/10000000000000000), 
Vector(-4376288560752593/10000000000000000, -4457205772193031/10000000000000000), 
Vector(866134273205727/5000000000000000, 2712167348922953/10000000000000000)
], 
[
Vector(-3041727474132977/5000000000000000, -1407307897083329/10000000000000000), 
Vector(129825645247897/312500000000000, -349049200579/1250000000000), 
Vector(-6388578727727609/100000000000000000, 3961667379950517/10000000000000000), 
Vector(3899466643358429/10000000000000000, 3371280434832643/5000000000000000)
], 
[
Vector(-3521791211952947/10000000000000000, 1053118768909601/5000000000000000), 
Vector(3521791211952947/10000000000000000, -1053118768909601/5000000000000000), 
Vector(-3521791211952947/10000000000000000, 1053118768909601/5000000000000000), 
Vector(3521791211952947/10000000000000000, -2106237537819201/10000000000000000)
], 
[
Vector(7754466790293177/10000000000000000, 9327014277087599/1000000000000000000), 
Vector(4140435604899347/10000000000000000, 8742834549314157/10000000000000000), 
Vector(-3766519251579417/5000000000000000, 9426940170746841/10000000000000000), 
Vector(559053891116487/2000000000000000, -5553052894825133/10000000000000000)
], 
[
Vector(0, 0), 
Vector(0, 0), 
Vector(-9187908867396413/10000000000000000, 3764804692184237/10000000000000000),
Vector(9038104431042463/100000000000000000000000000000000, 1369503460549361/10000000000000000000000000000000)
]
]


--For Bertini output files please refer to ApCoCoA directory/Bertini.


Example

-- Deflation Example
-- An example of Non-homogeneous positive dimensional solving with user configurations.
-- We want to find the numerical irreducible decomposition of the curve, (29/16)x^3-2xy=0, y-x^2=0.
-- In addition we want to instruct Bertini to sharpen the witness points for each component to 30 digits. Bertini automatically
-- deates the components that are generically nonreduced. In this case the isolated solution at the origin is correct to at least
-- 30 digits. 

Use S ::= QQ[x,y];        
P := [(29/16)x^3-2xy, y-x^2];
SysTyp := <quotes>Nhom</quotes>;
ConfigSet := [<quotes>TRACKTYPE: 1</quotes>, <quotes>SHARPENDIGITS: 30</quotes>];

-- Then we compute the solution with
Bertini.BPCSolve(P,SysTyp,ConfigSet);

-- And we achieve a list of lists containing witness point supersets.
----------------------------------------
[
[
Vector(-144037547051541/25000000000000000000000000000000000000, 1194673810665003/1250000000000000000000000000000000000000),
Vector(3960923778190771/10000000000000000000000000000000000000000, 2427766741188941/1000000000000000000000000000000000000000)
]
]


--For Bertini output files please refer to ApCoCoA directory/Bertini.




See also

Introduction to CoCoAServer

Bertini.BSolve

Bertini.BPMCSolve