general

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Last revisionBoth sides next revision
general [2012/03/06 08:02] – [Configuration] gawrilowgeneral [2019/01/29 21:46] – external edit 127.0.0.1
Line 3: Line 3:
 Here you can find instructions and tips concerning general use practice rather than specific mathematical questions. Here you can find instructions and tips concerning general use practice rather than specific mathematical questions.
  
-> Please be aware that in rare cases this introduction and other Wiki pages might describe features implemented very recently without explicitly marking them as "new" or "unavailable to broad public" We apologize for this inconvenience and kindly ask you to have patience till the next polymake release, should you really miss the feature in question.+> Please be aware that in rare cases this introduction and other Wiki pages might describe features implemented very recently without explicitly marking them as "new" or "available since that and that date" We apologize for this inconvenience and kindly ask you to download the latest [[perpetualbeta|perpetual beta]] should you really urgently need the feature in question.
  
 ===== Interactive Shell ===== ===== Interactive Shell =====
Line 39: Line 39:
 ===== Most Important Commands ===== ===== Most Important Commands =====
  
-Precisely speaking, polymake commands are quite normal perl functions, either built-in like ''print'' or ''exit'', or specially written for polymake.  As long as you are not concerned about implementation details, you won't feel any difference.  All commands taking arguments may be written in two fashions: with argument list enclosed in parentheses or separated by a blank from the command keyword.  For example:+Precisely speaking, polymake commands are quite normal perl functions, either built-in ones like ''print'' or ''exit'', or specially written for polymake.  As long as you are not concerned about implementation details, you won't feel any difference.  All commands taking arguments may be written in two fashions: with argument list enclosed in parentheses or separated by a blank from the command keyword.  For example:
  
 <code> <code>
Line 59: Line 59:
 help 'custom/$history_size';</code> help 'custom/$history_size';</code>
   -- Keyword search.  You enter ''%%help "WORD";%%'' and get a list of all help topics matching the given word. If there are only few topics matching your input, they will be displayed immediately; if there are many of them, they will be loaded in the history buffer of the interactive shell, so that you can choose the topic of your interest using the regular history navigation (ArrowUp/ArrowDown keys).   -- Keyword search.  You enter ''%%help "WORD";%%'' and get a list of all help topics matching the given word. If there are only few topics matching your input, they will be displayed immediately; if there are many of them, they will be loaded in the history buffer of the interactive shell, so that you can choose the topic of your interest using the regular history navigation (ArrowUp/ArrowDown keys).
-  .. For partial matches, please use regular expressions like ''%%help "POINT.*"%%'';  -- right, it is a perl regular expression and not a unix shell wildcard, therefore this example reads as "word starting with ''POINT''" Only topic names are matched, no full-text search is performed. 
   -- Context-sensitive help.  Having typed in a part of an expression, you press the F1 key.  If the cursor stands within or immediately after a name of a function, method, or property, the corresponding help topic is shown.  For functions and methods, only a brief description listing the order of parameters and options is displayed; to get the full explanation, you must press F1 once again.   -- Context-sensitive help.  Having typed in a part of an expression, you press the F1 key.  If the cursor stands within or immediately after a name of a function, method, or property, the corresponding help topic is shown.  For functions and methods, only a brief description listing the order of parameters and options is displayed; to get the full explanation, you must press F1 once again.
 +  -- Partial word search.  You enter ''%%apropos "SUBSTRING";%%'' and get all matching headlines.  Paste one of them with your mouse into a ''help'' command.  You can use regular expressions in the search string, e.g. ''%%.*%%'' for an arbitrary substring in the middle of your pattern.  The search is case-insensitive and only involves the item names, no full-text search is performed.
  
 Finally, you can just enter a bare ''help;'' command and get a //very// brief summary of the page you are currently reading. Finally, you can just enter a bare ''help;'' command and get a //very// brief summary of the page you are currently reading.
- 
-There is also another command searching for the help topics matching the given substring: ''%%apropos "TEXT FRAGMENT";%%'' 
-It does not involve any sophisticated interaction, but simply dumps all the matching headlines to the screen. 
-You can then paste one of them with your mouse into a ''help'' command. 
  
 ==== Handling "big" objects ==== ==== Handling "big" objects ====
Line 96: Line 92:
 The complete list of commands related to polymake "big" objects can be found in the [[scripting:start#Object|reference part]]. The complete list of commands related to polymake "big" objects can be found in the [[scripting:start#Object|reference part]].
  
-==== Loading and saving arbitrary data ==== 
  
-Apart from the full objects, you can also persistently store arbitrary data structures like matrices or graphs.  There are two commands working with data pieces: 
-  $x=load_data("filename"); 
-  save_data($x, "filename", "description"); 
-   
-The description is optional; it can be an arbitrary text, even stretching over several lines. 
 ==== Switching between applications ==== ==== Switching between applications ====
  
Line 134: Line 124:
     ? ''%%reset_custom $name{key};%%''     ? ''%%reset_custom $name{key};%%''
     :: restore the default value     :: restore the default value
-  .. Both commands come into effect immediately, but also mark the variable as changed, so that the new value will also appear in your personal customization file after the session end.  You can also change the custom variables for the rest of current session only, without updating the file -- by a plain assignment.  If you want to change some value temporarily, just to influence the evaluation of the next expression, write ''local'' keyword in front of the assignment.  (It's not polymake's black magic, just normal perl operator.)+  .. Both commands come into effect immediately, but also mark the variable as changed, so that the new value will also appear in your personal customization file after the session end.  You can also change the custom variables for the rest of current session only, without updating the file -- by a plain assignment.  If you want to change some value temporarily, just to influence the evaluation of the next expression, write the ''local'' keyword instead of ''set_custom''.  (It's not polymake's black magic, just normal perl operator.)
  
 ==== Preferences ==== ==== Preferences ====