text:
summaryrefslogtreecommitdiff log msg author committer range
path: root/bits/bbdb-filters/doc/lgpl.tex
blob: 74275708def3651bca0d536ebe5c38527d852389 (plain)
 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552  .highlight .hll { background-color: #ffffcc } .highlight .c { color: #888888 } /* Comment */ .highlight .err { color: #a61717; background-color: #e3d2d2 } /* Error */ .highlight .k { color: #008800; font-weight: bold } /* Keyword */ .highlight .ch { color: #888888 } /* Comment.Hashbang */ .highlight .cm { color: #888888 } /* Comment.Multiline */ .highlight .cp { color: #cc0000; font-weight: bold } /* Comment.Preproc */ .highlight .cpf { color: #888888 } /* Comment.PreprocFile */ .highlight .c1 { color: #888888 } /* Comment.Single */ .highlight .cs { color: #cc0000; font-weight: bold; background-color: #fff0f0 } /* Comment.Special */ .highlight .gd { color: #000000; background-color: #ffdddd } /* Generic.Deleted */ .highlight .ge { font-style: italic } /* Generic.Emph */ .highlight .gr { color: #aa0000 } /* Generic.Error */ .highlight .gh { color: #333333 } /* Generic.Heading */ .highlight .gi { color: #000000; background-color: #ddffdd } /* Generic.Inserted */ .highlight .go { color: #888888 } /* Generic.Output */ .highlight .gp { color: #555555 } /* Generic.Prompt */ .highlight .gs { font-weight: bold } /* Generic.Strong */ .highlight .gu { color: #666666 } /* Generic.Subheading */ .highlight .gt { color: #aa0000 } /* Generic.Traceback */ .highlight .kc { color: #008800; font-weight: bold } /* Keyword.Constant */ .highlight .kd { color: #008800; font-weight: bold } /* Keyword.Declaration */ .highlight .kn { color: #008800; font-weight: bold } /* Keyword.Namespace */ .highlight .kp { color: #008800 } /* Keyword.Pseudo */ .highlight .kr { color: #008800; font-weight: bold } /* Keyword.Reserved */ .highlight .kt { color: #888888; font-weight: bold } /* Keyword.Type */ .highlight .m { color: #0000DD; font-weight: bold } /* Literal.Number */ .highlight .s { color: #dd2200; background-color: #fff0f0 } /* Literal.String */ .highlight .na { color: #336699 } /* Name.Attribute */ .highlight .nb { color: #003388 } /* Name.Builtin */ .highlight .nc { color: #bb0066; font-weight: bold } /* Name.Class */ .highlight .no { color: #003366; font-weight: bold } /* Name.Constant */ .highlight .nd { color: #555555 } /* Name.Decorator */ .highlight .ne { color: #bb0066; font-weight: bold } /* Name.Exception */ .highlight .nf { color: #0066bb; font-weight: bold } /* Name.Function */ .highlight .nl { color: #336699; font-style: italic } /* Name.Label */ .highlight .nn { color: #bb0066; font-weight: bold } /* Name.Namespace */ .highlight .py { color: #336699; font-weight: bold } /* Name.Property */ .highlight .nt { color: #bb0066; font-weight: bold } /* Name.Tag */ .highlight .nv { color: #336699 } /* Name.Variable */ .highlight .ow { color: #008800 } /* Operator.Word */ .highlight .w { color: #bbbbbb } /* Text.Whitespace */ .highlight .mb { color: #0000DD; font-weight: bold } /* Literal.Number.Bin */ .highlight .mf { color: #0000DD; font-weight: bold } /* Literal.Number.Float */ .highlight .mh { color: #0000DD; font-weight: bold } /* Literal.Number.Hex */ .highlight .mi { color: #0000DD; font-weight: bold } /* Literal.Number.Integer */ .highlight .mo { color: #0000DD; font-weight: bold } /* Literal.Number.Oct */ .highlight .sa { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Affix */ .highlight .sb { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Backtick */ .highlight .sc { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Char */ .highlight .dl { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Delimiter */ .highlight .sd { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Doc */ .highlight .s2 { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Double */ .highlight .se { color: #0044dd; background-color: #fff0f0 } /* Literal.String.Escape */ .highlight .sh { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Heredoc */ .highlight .si { color: #3333bb; background-color: #fff0f0 } /* Literal.String.Interpol */ .highlight .sx { color: #22bb22; background-color: #f0fff0 } /* Literal.String.Other */ .highlight .sr { color: #008800; background-color: #fff0ff } /* Literal.String.Regex */ .highlight .s1 { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Single */ .highlight .ss { color: #aa6600; background-color: #fff0f0 } /* Literal.String.Symbol */ .highlight .bp { color: #003388 } /* Name.Builtin.Pseudo */ .highlight .fm { color: #0066bb; font-weight: bold } /* Name.Function.Magic */ .highlight .vc { color: #336699 } /* Name.Variable.Class */ .highlight .vg { color: #dd7700 } /* Name.Variable.Global */ .highlight .vi { color: #3333bb } /* Name.Variable.Instance */ .highlight .vm { color: #336699 } /* Name.Variable.Magic */ .highlight .il { color: #0000DD; font-weight: bold } /* Literal.Number.Integer.Long */\c This LGPL is meant to be included from other files. \c To format a standalone LGPL, use liblic.texi. \chapter{GNU LIBRARY GENERAL PUBLIC LICENSE} \begin{center} Version 2, June 1991 \end{center} \begin{example} Copyright \copyright{} 1991 Free Software Foundation, Inc. 675 Mass Ave, Cambridge, MA 02139, USA Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. [This is the first released version of the library GPL. It is numbered 2 because it goes with version 2 of the ordinary GPL.] \end{example} \section*{Preamble} The licenses for most software are designed to take away your freedom to share and change it. By contrast, the GNU General Public Licenses are intended to guarantee your freedom to share and change free software---to make sure the software is free for all its users. This license, the Library General Public License, applies to some specially designated Free Software Foundation software, and to any other libraries whose authors decide to use it. You can use it for your libraries, too. When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for this service if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs; and that you know you can do these things. To protect your rights, we need to make restrictions that forbid anyone to deny you these rights or to ask you to surrender the rights. These restrictions translate to certain responsibilities for you if you distribute copies of the library, or if you modify it. For example, if you distribute copies of the library, whether gratis or for a fee, you must give the recipients all the rights that we gave you. You must make sure that they, too, receive or can get the source code. If you link a program with the library, you must provide complete object files to the recipients so that they can relink them with the library, after making changes to the library and recompiling it. And you must show them these terms so they know their rights. Our method of protecting your rights has two steps: (1) copyright the library, and (2) offer you this license which gives you legal permission to copy, distribute and/or modify the library. Also, for each distributor's protection, we want to make certain that everyone understands that there is no warranty for this free library. If the library is modified by someone else and passed on, we want its recipients to know that what they have is not the original version, so that any problems introduced by others will not reflect on the original authors' reputations. Finally, any free program is threatened constantly by software patents. We wish to avoid the danger that companies distributing free software will individually obtain patent licenses, thus in effect transforming the program into proprietary software. To prevent this, we have made it clear that any patent must be licensed for everyone's free use or not licensed at all. Most GNU software, including some libraries, is covered by the ordinary GNU General Public License, which was designed for utility programs. This license, the GNU Library General Public License, applies to certain designated libraries. This license is quite different from the ordinary one; be sure to read it in full, and don't assume that anything in it is the same as in the ordinary license. The reason we have a separate public license for some libraries is that they blur the distinction we usually make between modifying or adding to a program and simply using it. Linking a program with a library, without changing the library, is in some sense simply using the library, and is analogous to running a utility program or application program. However, in a textual and legal sense, the linked executable is a combined work, a derivative of the original library, and the ordinary General Public License treats it as such. Because of this blurred distinction, using the ordinary General Public License for libraries did not effectively promote software sharing, because most developers did not use the libraries. We concluded that weaker conditions might promote sharing better. However, unrestricted linking of non-free programs would deprive the users of those programs of all benefit from the free status of the libraries themselves. This Library General Public License is intended to permit developers of non-free programs to use free libraries, while preserving your freedom as a user of such programs to change the free libraries that are incorporated in them. (We have not seen how to achieve this as regards changes in header files, but we have achieved it as regards changes in the actual functions of the Library.) The hope is that this will lead to faster development of free libraries. The precise terms and conditions for copying, distribution and modification follow. Pay close attention to the difference between a work based on the library'' and a work that uses the library''. The former contains code derived from the library, while the latter only works together with the library. Note that it is possible for a library to be covered by the ordinary General Public License rather than by this special one. \begin{iftex} \section*{TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION} \end{iftex} \begin{ifinfo} \begin{center} TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION \end{center} \end{ifinfo} \begin{enumerate} \item This License Agreement applies to any software library which contains a notice placed by the copyright holder or other authorized party saying it may be distributed under the terms of this Library General Public License (also called this License''). Each licensee is addressed as you''. A library'' means a collection of software functions and/or data prepared so as to be conveniently linked with application programs (which use some of those functions and data) to form executables. The Library'', below, refers to any such software library or work which has been distributed under these terms. A work based on the Library'' means either the Library or any derivative work under copyright law: that is to say, a work containing the Library or a portion of it, either verbatim or with modifications and/or translated straightforwardly into another language. (Hereinafter, translation is included without limitation in the term modification''.) Source code'' for a work means the preferred form of the work for making modifications to it. For a library, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the library. Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running a program using the Library is not restricted, and output from such a program is covered only if its contents constitute a work based on the Library (independent of the use of the Library in a tool for writing it). Whether that is true depends on what the Library does and what the program that uses the Library does. \item You may copy and distribute verbatim copies of the Library's complete source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice and disclaimer of warranty; keep intact all the notices that refer to this License and to the absence of any warranty; and distribute a copy of this License along with the Library. You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee. \item You may modify your copy or copies of the Library or any portion of it, thus forming a work based on the Library, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions: \begin{enumerate} \item The modified work must itself be a software library. \item You must cause the files modified to carry prominent notices stating that you changed the files and the date of any change. \item You must cause the whole of the work to be licensed at no charge to all third parties under the terms of this License. \item If a facility in the modified Library refers to a function or a table of data to be supplied by an application program that uses the facility, other than as an argument passed when the facility is invoked, then you must make a good faith effort to ensure that, in the event an application does not supply such function or table, the facility still operates, and performs whatever part of its purpose remains meaningful. (For example, a function in a library to compute square roots has a purpose that is entirely well-defined independent of the application. Therefore, Subsection 2d requires that any application-supplied function or table used by this function must be optional: if the application does not supply it, the square root function must still compute square roots.) \end{enumerate} These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Library, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Library, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it. Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Library. In addition, mere aggregation of another work not based on the Library with the Library (or with a work based on the Library) on a volume of a storage or distribution medium does not bring the other work under the scope of this License. \item You may opt to apply the terms of the ordinary GNU General Public License instead of this License to a given copy of the Library. To do this, you must alter all the notices that refer to this License, so that they refer to the ordinary GNU General Public License, version 2, instead of to this License. (If a newer version than version 2 of the ordinary GNU General Public License has appeared, then you can specify that version instead if you wish.) Do not make any other change in these notices. Once this change is made in a given copy, it is irreversible for that copy, so the ordinary GNU General Public License applies to all subsequent copies and derivative works made from that copy. This option is useful when you wish to copy part of the code of the Library into a program that is not a library. \item You may copy and distribute the Library (or a portion or derivative of it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange. If distribution of object code is made by offering access to copy from a designated place, then offering equivalent access to copy the source code from the same place satisfies the requirement to distribute the source code, even though third parties are not compelled to copy the source along with the object code. \item A program that contains no derivative of any portion of the Library, but is designed to work with the Library by being compiled or linked with it, is called a work that uses the Library''. Such a work, in isolation, is not a derivative work of the Library, and therefore falls outside the scope of this License. However, linking a work that uses the Library'' with the Library creates an executable that is a derivative of the Library (because it contains portions of the Library), rather than a work that uses the library''. The executable is therefore covered by this License. Section 6 states terms for distribution of such executables. When a work that uses the Library'' uses material from a header file that is part of the Library, the object code for the work may be a derivative work of the Library even though the source code is not. Whether this is true is especially significant if the work can be linked without the Library, or if the work is itself a library. The threshold for this to be true is not precisely defined by law. If such an object file uses only numerical parameters, data structure layouts and accessors, and small macros and small inline functions (ten lines or less in length), then the use of the object file is unrestricted, regardless of whether it is legally a derivative work. (Executables containing this object code plus portions of the Library will still fall under Section 6.) Otherwise, if the work is a derivative of the Library, you may distribute the object code for the work under the terms of Section 6. Any executables containing that work also fall under Section 6, whether or not they are linked directly with the Library itself. \item As an exception to the Sections above, you may also compile or link a work that uses the Library'' with the Library to produce a work containing portions of the Library, and distribute that work under terms of your choice, provided that the terms permit modification of the work for the customer's own use and reverse engineering for debugging such modifications. You must give prominent notice with each copy of the work that the Library is used in it and that the Library and its use are covered by this License. You must supply a copy of this License. If the work during execution displays copyright notices, you must include the copyright notice for the Library among them, as well as a reference directing the user to the copy of this License. Also, you must do one of these things: \begin{enumerate} \item Accompany the work with the complete corresponding machine-readable source code for the Library including whatever changes were used in the work (which must be distributed under Sections 1 and 2 above); and, if the work is an executable linked with the Library, with the complete machine-readable work that uses the Library'', as object code and/or source code, so that the user can modify the Library and then relink to produce a modified executable containing the modified Library. (It is understood that the user who changes the contents of definitions files in the Library will not necessarily be able to recompile the application to use the modified definitions.) \item Accompany the work with a written offer, valid for at least three years, to give the same user the materials specified in Subsection 6a, above, for a charge no more than the cost of performing this distribution. \item If distribution of the work is made by offering access to copy from a designated place, offer equivalent access to copy the above specified materials from the same place. \item Verify that the user has already received a copy of these materials or that you have already sent this user a copy. \end{enumerate} For an executable, the required form of the work that uses the Library'' must include any data and utility programs needed for reproducing the executable from it. However, as a special exception, the source code distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable. It may happen that this requirement contradicts the license restrictions of other proprietary libraries that do not normally accompany the operating system. Such a contradiction means you cannot use both them and the Library together in an executable that you distribute. \item You may place library facilities that are a work based on the Library side-by-side in a single library together with other library facilities not covered by this License, and distribute such a combined library, provided that the separate distribution of the work based on the Library and of the other library facilities is otherwise permitted, and provided that you do these two things: \begin{enumerate} \item Accompany the combined library with a copy of the same work based on the Library, uncombined with any other library facilities. This must be distributed under the terms of the Sections above. \item Give prominent notice with the combined library of the fact that part of it is a work based on the Library, and explaining where to find the accompanying uncombined form of the same work. \end{enumerate} \item You may not copy, modify, sublicense, link with, or distribute the Library except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense, link with, or distribute the Library is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance. \item You are not required to accept this License, since you have not signed it. However, nothing else grants you permission to modify or distribute the Library or its derivative works. These actions are prohibited by law if you do not accept this License. Therefore, by modifying or distributing the Library (or any work based on the Library), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Library or works based on it. \item Each time you redistribute the Library (or any work based on the Library), the recipient automatically receives a license from the original licensor to copy, distribute, link with or modify the Library subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties to this License. \item If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot distribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the Library at all. For example, if a patent license would not permit royalty-free redistribution of the Library by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Library. If any portion of this section is held invalid or unenforceable under any particular circumstance, the balance of the section is intended to apply, and the section as a whole is intended to apply in other circumstances. It is not the purpose of this section to induce you to infringe any patents or other property right claims or to contest validity of any such claims; this section has the sole purpose of protecting the integrity of the free software distribution system which is implemented by public license practices. Many people have made generous contributions to the wide range of software distributed through that system in reliance on consistent application of that system; it is up to the author/donor to decide if he or she is willing to distribute software through any other system and a licensee cannot impose that choice. This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License. \item If the distribution and/or use of the Library is restricted in certain countries either by patents or by copyrighted interfaces, the original copyright holder who places the Library under this License may add an explicit geographical distribution limitation excluding those countries, so that distribution is permitted only in or among countries not thus excluded. In such case, this License incorporates the limitation as if written in the body of this License. \item The Free Software Foundation may publish revised and/or new versions of the Library General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. Each version is given a distinguishing version number. If the Library specifies a version number of this License which applies to it and any later version'', you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation. If the Library does not specify a license version number, you may choose any version ever published by the Free Software Foundation. \item If you wish to incorporate parts of the Library into other free programs whose distribution conditions are incompatible with these, write to the author to ask for permission. For software which is copyrighted by the Free Software Foundation, write to the Free Software Foundation; we sometimes make exceptions for this. Our decision will be guided by the two goals of preserving the free status of all derivatives of our free software and of promoting the sharing and reuse of software generally. \begin{iftex} \section*{NO WARRANTY} \end{iftex} \begin{ifinfo} \begin{center} NO WARRANTY \end{center} \end{ifinfo} \item BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE LIBRARY AS IS'' WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. \item IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. \end{enumerate} \begin{iftex} \section*{END OF TERMS AND CONDITIONS} \end{iftex} \begin{ifinfo} \begin{center} END OF TERMS AND CONDITIONS \end{center} \end{ifinfo} \clearpage \section*{How to Apply These Terms to Your New Libraries} If you develop a new library, and you want it to be of the greatest possible use to the public, we recommend making it free software that everyone can redistribute and change. You can do so by permitting redistribution under these terms (or, alternatively, under the terms of the ordinary General Public License). To apply these terms, attach the following notices to the library. It is safest to attach them to the start of each source file to most effectively convey the exclusion of warranty; and each file should have at least the copyright'' line and a pointer to where the full notice is found. \begin{smallexample} \var{one line to give the library's name and an idea of what it does.} Copyright (C) \var{year} \var{name of author} This library is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with this library; if not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. \end{smallexample} Also add information on how to contact you by electronic and paper mail. You should also get your employer (if you work as a programmer) or your school, if any, to sign a copyright disclaimer'' for the library, if necessary. Here is a sample; alter the names: \begin{example} Yoyodyne, Inc., hereby disclaims all copyright interest in the library Frob' (a library for tweaking knobs) written by James Random Hacker. \var{signature of Ty Coon}, 1 April 1990 Ty Coon, President of Vice \end{example} That's all there is to it! `


text:
# If xy + ey = e, find the value of y" at the point where x = 0.

If xy + ey = e, find the value of y" at the point where x = 0.
You can still ask an expert for help

• Questions are typically answered in as fast as 30 minutes

Solve your problem for the price of one coffee

• Math expert for every subject
• Pay only if we can solve it

Demi-Leigh Barrera

$0+{e}^{y}=e$ plug in x=0 to the original equation this would then mean that y=1 where x=0 making the point be (0,1)
$x{y}^{\prime }+y\cdot 1+{e}^{y}\cdot {y}^{\prime }=0$ use implicit differentiation in terms of x to get this equation
0+1+e*y'=0 plug in 0 for X and 1 for Y and solve as far as you can.
y'=-1/e solve the previous equation for y'
$\left(xy{}^{″}+{y}^{\prime }\cdot 1+{y}^{\prime }\right)+\left({e}^{y}y{}^{″}+{y}^{\prime }\cdot {e}^{y}{y}^{\prime }\right)=0$ use implicit differentiation again with respect to x. Hint: You need to use the product rule to get this equation.
$0+\frac{-1}{e}+\frac{-1}{e}+e{y}^{″}+\frac{-1}{e}×\left(e\right)\left(\frac{-1}{e}\right)=0$ plug in the values you got before where x=0, y=1, and ${y}^{\prime }=\frac{-1}{e}$
$\frac{-2}{e}+e{y}^{″}+\frac{1}{e}=0$ simplify the equation to get the final result.
Resut:
$y{}^{″}=\frac{1}{{e}^{2}}$

format: plain


text:
Indico search will be reestablished in the next version upgrade of the software: https://getindico.io/roadmap/

# Neutrino 2020

June 22, 2020 to July 2, 2020
US/Central timezone

## Neutrino-Nucleus Interactions in Central Engine of Core-Collapse Supernovae

Not scheduled
10m
Poster

### Speaker

Shun Furusawa (Tokyo University of Science)

### Description

This poster summarizes which nuclear particles emit, absorb, and scatter with neutrinos in central engines of core collapse supernovae. Our numerical simulations show that neutrino interactions with nucleons and nuclei have great impacts on the results of supernova simulations. Before the core-bounce, neutron-rich heavy nuclei like Zn$^{80}$ are dominant at the center of collapsing cores and their neutrino absorption greatly aﬀect the neutrino observations and following dynamics of the core. After the core-bounce, heavy nuclei are dissolved to nucleons and light clusters between the expanding shock wave and the new-born neutron star. The neutrino interactions of nucleons, deuterons and alpha particles greatly affect the shock-wave dynamics and supernova explosion of the outer envelopes.

### Mini-abstract

Numerical study of neutrino-nucleus interactions in central engine of core-collapse supernovae

### Primary author

Shun Furusawa (Tokyo University of Science)

### Presentation Materials

 brief_presentation_furusawa324.mp4 poster_furusawa324.pdf


text:
Notesclub

Welcome to Livebook

Basic usage

Livebook is a tool for crafting interactive and collaborative code notebooks.

Each notebook consists of a number of cells, which serve as primary building blocks. There are Markdown cells (such as this one) that allow you to describe your work and Code cells to run your Elixir code!

To insert a new cell move your cursor between cells and click one of the revealed buttons. 👇

# This is a Code cell - as the name suggests that's where the code goes.
# To evaluate this cell, you can either press the "Evaluate" button above
# or use Ctrl + Enter (or Cmd + Enter on a Mac)!

message = "hey, grab yourself a cup of 🍵"

String.replace(message, "🍵", "☕")

Note however that bindings are not global, so each cell sees only stuff that goes above itself. This approach helps to keep the notebook clean and predictable as you keep working on it!

Sections

You can leverage so called sections to nicely group related cells together. Click on the “Book” icon () in the sidebar to reveal a list of all sections. As you can see, this approach helps to easily jump around the notebook, especially once it grows.

Let’s make use of this section to see how output is captured!

cats = ~w(😼 😹 😻 😺 😸 😽)

for _ <- 1..3 do
cats
|> Enum.take_random(3)
|> Enum.join(" ")
|> IO.puts()
end

Branching sections

Additionally, you can make a section branch out from any previous regular section. Hover over the section name to reveal available actions and click on the branch icon to select the parent section.

{message, cats}

The important characteristic of a branching section is that it runs independently from other sections and as such is well suited for running long computations “in background”.

Process.sleep(300_000)

Having this cell running, feel free to insert another Code cell in the section below and see it evaluates immediately.

Saving notebooks

By default, notebooks are stored in a temporary directory, which is fine for interactive hacking, but oftentimes you will want to save your work for later. Such can be done by clicking on the “Disk” icon () in the bottom-right corner and selecting the file location.

Notebooks are stored in live markdown format, which is the Markdown you know, with just a few assumptions on how particular elements are represented. Thanks to this approach you can easily keep notebooks under version control and get readable diffs. You can also easily preview those files and even edit them in a text editor.

Once you start using notebooks more, it’s gonna be beneficial to optimise how you move around. Livebook leverages the concept of navigation/insert modes and offers many shortcuts for common operations. Make sure to check out the shortcuts by clicking the “Keyboard” icon () in the sidebar or by pressing ?.

Markdown extensions

Livebook also include supports for links, mathematical expressions, and Mermaid diagrams.

It is possible to link between Livebooks using Markdown’s link syntax. For example, [next chapter](chapter_2.livemd) could be used to link to a Livebook named chapter_2.livemd in the same directory as the current notebook. Once clicked, Livebook will automatically open up a new session to execute the linked notebook.

Math expressions

Livebook uses $\TeX$ syntax for math inside your Markdown cells. It supports both inline math, like $e^{\pi i} + 1 = 0$, as well as display math:

$$S(x) = \frac{1}{1 + e^{-x}} = \frac{e^{x}}{e^{x} + 1}$$

To write your own, put your math expressions between \$signs for inline math or \$\\$ if you want display math. You can double click the formulas above to see how they are written.

You can explore all supported expressions in the KaTeX documentation.

Mermaid diagrams

Mermaid is a library for creating diagrams and visualizations using text and code. You can define those diagrams in your Markdown cells via mermaid blocks. Let’s see an example:

graph TD;
A-->B;
A-->C;
B-->D;
C-->D;`

Next steps

That’s our quick intro to Livebook! Where to go next?

• If you are not familiar with Elixir, there is a fast paced introduction to the language in the Distributed portals with Elixir notebook;

• Learn how Elixir integrates with Livebook in the Elixir and Livebook notebook;

• Finally, remember Livebook is an open source project, so feel free to look into the repository to contribute, report bugs, suggest features or just skim over the codebase.

Now go ahead and build something cool! 🚢


text:
# Overview of Mass Storage Structure

• Magnetic disks provide bulk of secondary storage of modern computers

• Transfer rate is the rate at which data flows between the drive and the computer

• Positioning time (random access time) is time to move disk arm to desired cylinder (seek time) and time for desired sector to rotate under the disk head (rotational latency)

• Head crash results from a disk head making contact with the disk surface

• Disks can be removable

• Drive attached to computer via I/O bus

• Busses vary

• Host controller in computer uses bus to talk to disk controller built into drive or storage array

# Hard Disk Performance

• Access Latency = Average access time = Average seek time + average latency

• Average I/O time = average access time + (amount to transfer/transfer rate)+controller overhead

# Solid State Disks

• Non-volatile memory used like a hard drive

• Can be more reliable than HDDs

• More expensive per MB

• Maybe have a shorter life span

• Less capacity

• But much faster

• Busses can be too slow $\rightarrow$ connect directly to PCI for example

• No moving parts, so no seek time or rotational latency

# Magnetic Tape

• Relatively permanent and holds large quantities of data

• Access time slow

• Random access   1000 times slower than disk

• Mainly used for backup, storage of infrequently used data, transfer medium between systems

# Disk Structure

• Disk drives are addressed as large 1-dimensional arrays of logical blocks, where the logical block is the smallest unit of transfer

• The 1 dimensional array of logical blocks is mapped into the sectors of the disk sequentially

• Sector 0 is the first sector of the first track on the outermost cylinder

• Mapping proceeds in order though that track, then the rest of the tracks in that cylinder, and then through the rest of the cylinders from outermost to innermost

• Logical to physical addresses should be easy

• Non constant number of sectors per track via constant angular velocity

# Storage Array

• Can just attach disks, or arrays of disks

• Storage array has controller(s), provides features to attached host(s)

• Ports to connect hosts to array

• Memory, controlling software

• A few to thousands of disks

• RAID, hot spares, hot swap

• Shared storage $\rightarrow$ more efficiency

• Features found in some file systems

• Snapshots, clones, thin provisioning, replication, de duplication etc

# Disk Scheduling

• The operating system is responsible for using hardware efficiently - for the disk drives, this means having a fast access time and disk bandwidth

• Minimize seek time

• Seek time $\approx$ seek distance

• Disk bandwidth is the total number of bytes transferred, divided by the total time between the first request for service and the completion of the last transfer

• There are many sources of disk I/O request

• OS

• System processes

• User’s processes

• I/O request includes input or output mode, disk address, memory address, number of sectors to transfer

• OS maintains queue of request, per disk or device

• Idle disk can immediately work on I/O request, busy disk means work must queue

• Optimisation algorithms only make sense when a queue exists
• Note that drive controllers have small buffers and can manage a queue of I/O requests (of varying “depth”)

• Several algorithms exist to schedule the servicing of disk I/O requests

• The analysis is true for one or many platters

• We illustrate scheduling algorithms with a request queue (0-199)

$$98,183,37,122,14,124,65,67$$

# FCFS

Illustration shows total head movement of 640 cylinders

queue =98,183,37,122,14,124,65,67

# SSTF

• Shortest Seek time first selects the request with the minimum seek time from the current head position

• SSTF scheduling is a form of SJF scheduling; may cause starvation of some requests

• Illustration shows total head movement of 236 cylinders

# SCAN

• The disk arm starts at one end of the disk, and moves towards the other end, servicing requests until it gets to the other end of the disk, where the head movement is reversed and servicing continues

• SCAN algorithm, sometimes called the elevator algorithm

• Illustration shows total head movement of 236 cylinders

• But note that if the requests are uniformly dense, largest density at other end of disk and those wait the longest

# C-SCAN

• Provides a more uniform wait time than SCAN

• The head moves from one end of the disk to the other, servicing requests as it goes

• When it reaches the other end, however, it immediately returns to the beginning of the disk, without servicing any requests on the return trip
• Treats the cylinders as a circular list that wraps around from the last cylinder to the first one

# C-LOOK

• LOOK a version of SCAN, C-LOOK a version of C-SCAN

• Arm only goes as far as the last request in each direction, then reverses direction immediately, without first going all the way to the end of the disk

# Selecting a Disk-Scheduling Algorithm

• SSTF is common and has natural appeal

• SCAN and C-SCAN perform better for systems that place a heavy load on the disk as there is less starvation

• Performance depends on the number and types of requests

• Requests for disk service can be influenced by the file-allocation method and metadata layout

• The disk-scheduling algorithm should be written as a separate module of the operating system, allowing it to be replaced with a different algorithm if necessary

• Either SSTF or LOOK is a reasonable choice for the default algorithm

• Rotational latency is difficult for the OS to calculate

# Disk Management

• Low level formatting, or physical formatting - dividing a disk into sectors that the disk controller can read and write

• Each sector can hold header information, plus data, plus error correction code

• Usually 512 bytes of data but can be selectable

• To use a disk to hold files, the operating system still needs to record its own data structures on the disk

• Partition the disk into one or more groups of cylinders, each treated as a logical disk

• Logical formatting or “making a file system”

• To increase efficiency most file systems group blocks into clusters

• Disk I/O done in blocks

• File I/O done in clusters

• Raw disk access for apps that want to do their own block management, keep OS out of the way (databases for example)

• Boot block initialises system

• The bootstrap is stored in ROM

• Bootstrap loader program stored in boot blocks of boot partition

• Methods such as sector sparing used to handle bad blocks

# Swap-Space Management

• Swap-space - Virtual memory uses disk space as an extension of main memory, this is less common now due to memory capacity increases

• Swap-space can be carved out of the normal file system, or, more commonly, it can be in a separate disk partition (raw)

• Swap-Space management

• 4.3BSD allocates swap space when process starts; holds text segment (the program) and data segment

• Kernel uses swap maps to track swap space use

• Solaris 2 allocates swap space only when a dirty page is forced out of physical memory, not when the virtual memory page is first creates

• File data written to swap space until write to file system requested

• Other dirty pages go to swap space due to no other home

• Text segment pages thrown out and reread from the file system as needed

• What if a system runs out of swap space?

• Some systems allow multiple swap spaces

# RAID Structure

• RAID - Redundant array of inexpensive disks

• Multiple disk drives provides reliability by redundancy
• Increases mean time to failure

• Mean time to repair - exposure time when another failure could cause data loss

• If mirrored disks fail independently, consider disk with 1300,000 mean time to failure and a 10 hour mean time to repair

$$\text{Mean time to data loss} 100,000^2/(2\times 10)=500\times 10^6 \text{hours}$$
• Frequently combined with NVRAM to improve write performance

• Several improvements in disk use techniques involve the use of multiple disks working cooperatively

• Disk striping uses a group of disks as one storage unit

• RAID is arranged into six different levels

• RAID schemes improve performance and improve the reliability of the storage system by storing redundant data

• Mirroring or shadowing (RAID 1) keeps a duplicate of each disk

• Stripped mirrors (RAID 1+0) or mirrored stripes (RAID 0+1) provides high performance and high reliability

• Block interleaved parity (RAID 4,5,6) uses much less redundancy

• RAID within a storage array can still fail if the array fails, so automatic replication of the data between the arrays is common

• Frequently, a small number of hot-spare disks are left unallocated, automatically replacing a failed disk and having data rebuilt onto them

# Other Features

• Regardless of where RAID implemented, other useful features can be added

• Snapshot is a view of the file system before a set of changes take place (i.e. at a point in time)

• Replication is automatic duplication of writes between separate sites

• For redundancy and disaster recovery

• Can be synchronous or asynchronous

• Hot spare disk is unused, automatically used by RAID production is a disk fails to replace the failed disk and rebuild the RAID set if possible, decreasing mean time to repair

# Stable - Storage Implementation

• Write-ahead log scheme requires stable storage

• Stable storage means data is never lost (due to failure,etc)

• To implement stable storage:

• Replicate information on more than one non-volatile storage media with independent failure models

• Update information in a controlled manner to ensure that we can recover the stable data after any failure during data transfer or recovery

• Disk write has 1 of 3 outcomes

1. Successful completion - The data were written correctly on disk

2. Partial failure - A failure occurred in the midst of a transfer, so only some sectors were written with the new data, and the sector being written during the failure may have been corrupted

3. Total Failure - The failure occurred before the disk write started, so the previous data values on the disk remain intact

• If failure occurs during block write, recovery procedure restores block to a consistent state

• System maintains 2 physical blocks per logical block and does the following:

1. Write to 1st physical

2. When successful, write to 2nd physical

3. Declare complete only after second write completes successfully

Systems frequently use NVRAM and one physical to accelerate


text:
## Animated Logical Graphs • 20

Another tactic I tried by way of porting operator variables into logical graphs and laws of form was to hollow out a leg of Spencer-Brown’s crosses, gnomons, markers, whatever you wish to call them, as shown below:

The initial idea I had in mind was the same as before, that the operator over $q$ would be counted as absent when $p$ evaluates to a space and present when $p$ evaluates to a cross.

However, much in the same way that operators with a shade of negativity tend to be more generative than the purely positive brand, it turned out more useful to reverse this initial polarity of operation, letting the operator over $q$ be counted as absent when $p$ evaluates to a cross and present when $p$ evaluates to a space.

So that is the convention I’ll adopt from here on.

### 1 Response to Animated Logical Graphs • 20

This site uses Akismet to reduce spam. Learn how your comment data is processed.


text:
# How do you solve C=12dq for d?

Oct 30, 2016

$d = \frac{C}{12 q}$

#### Explanation:

To solve for $d$ you must remove $12$ and $q$ from the right side of the equation while keeping the equation balanced.

$\frac{C}{12} = \frac{12 \mathrm{dq}}{12}$

$\frac{C}{12} = \left(\frac{12}{12}\right) \mathrm{dq}$

$\frac{C}{12} = 1 \cdot \mathrm{dq}$

$\frac{C}{12} = \mathrm{dq}$

$\frac{C}{12 q} = \frac{\mathrm{dq}}{q}$

$\frac{C}{12 q} = d \cdot \left(\frac{q}{q}\right)$

$\frac{C}{12 q} = d \cdot 1$

$d = \frac{C}{12 q}$


text:
HOSTING A TOTAL OF 318 FORMULAS WITH CALCULATORS

## Acid Test Ratio,Quick Ratio

Here A=Current assets ,I=Inventory,L=current Liablities

## $A-\frac{I}{L}$

The Acid-test or quick ratio or liquid ratio measures the ability of a company to use its near cash or quick assets to extinguish or retire its current liabilities immediately. Quick assets include those current assets that presumably can be quickly converted to cash at close to their book values. A company with a Quick Ratio of less than 1 cannot currently pay back its current liabilities.

ENTER THE VARIABLES TO BE USED IN THE FORMULA

Similar formulas which you may find interesting.


text:
# Excluding Programs via GPO with spaces

### Question

• Hi all,

I need some clarification on excluding programs off the root of the drive in folders with spaces. If I have a file I need to exclude, called text.exe and it is in a folder located at c:\A Special Folder\This Folder\text.exe how to I define that in the GPO under Define Inbound Program Exceptions?

Would it be as simple as:

\A Special Folder\This Folder\text.exe

Or do I need "\A Special Folder\This Folder\test.exe" or do I need to specify c:\A Special Folder\This Folder\test.exe ?

I am hoping I can get a quick clarification since I can't seem to google it. All I find are examples like %programfiles%\Folder\test.exe et cetera.

Thanks!

Wednesday, August 12, 2015 5:43 PM

• Thanks Elaine, I think I was looking for %homedrive%  so I could put %homedrive%\A Special Folder\This Folder\Test.exe.

It looks like it needs the "" to work so this would be the proper syntax:

Wednesday, August 19, 2015 4:04 PM

### All replies

• Hi，

Thanks for your post, generally the %programfiles% stand for the programfiles folder in the system drive. Such as: c:\program files.I  would suggest you to try with the C:\A Special Folder\This Folder\test.exe.

Best Regards,

Elaine

Please remember to mark the replies as answers if they help and unmark them if they provide no help. If you have feedback for TechNet Subscriber Support, contact tnmff@microsoft.com.

Thursday, August 13, 2015 9:50 AM
• Thanks Elaine, I think I was looking for %homedrive%  so I could put %homedrive%\A Special Folder\This Folder\Test.exe.

It looks like it needs the "" to work so this would be the proper syntax:


text:
1. Trig Lab Proof

Please help me get started or to complete this proof...have been working on six problems all week and have this one left and running out of time!

[sin (a+b)]/[sin a + sin b] = [sin a -sin b]/[sin (a-b)]

Any guidance would be appreciated!

2. Hello aihal210

Welcome to Math Help Forum!
Originally Posted by aihal210
Please help me get started or to complete this proof...have been working on six problems all week and have this one left and running out of time!

[sin (a+b)]/[sin a + sin b] = [sin a -sin b]/[sin (a-b)]

Any guidance would be appreciated!
Do you know the following formulae:
$\sin2\theta=2\sin \theta \cos \theta$

$\sin a + \sin b=2\sin\tfrac12(a+b)\cos\tfrac12(a-b)$

$\sin a - \sin b=2\sin\tfrac12(a-b)\cos\tfrac12(a+b)$
These are the ones to use. Start like this:

$\frac{\sin(a+b)}{\sin a + \sin b}=\frac{2\sin\tfrac12(a+b)\cos\tfrac12(a+b)}{2\si n\tfrac12(a+b)\cos\tfrac12(a-b)}$
$=...$

Simplify the fraction. Then multiply top-and-bottom by $2\sin\tfrac12(a-b)$, and use the first and last of the three formulae above.

Can you complete it now?

3. Hi Grandad, Thanks for responding.

I did know those formulas and have been trying to work with them. I don't understand how you got the bottom on the right side to be that?

As far as I knew,

I thought that sin (a-b) could only be changed into sinacosb-sinbcosa using the sum and difference identities...

Am I missing something?

4. Hello aihal210
Originally Posted by aihal210

I did know those formulas and have been trying to work with them. I don't understand how you got the bottom on the right side to be that?

As far as I knew,

I thought that sin (a-b) could only be changed into sinacosb-sinbcosa using the sum and difference identities...

Am I missing something?
Are you sure you are thinking of the correct formula? The one I've used there is sometimes called the 'Sum to Product' formula. You'll find some more information here.

Don't confuse this with $\sin(a-b) = \sin a \cos b - \cos a\sin b$. That's a different formula altogether (although it is one of the ones that is used to derive the Sum to Product formulae).


text:
# Schwarzschild Radius Calculator

Created by Davide Borchia
Last updated: Aug 24, 2022
Table of contents:

Learn how to calculate the Schwarzschild radius, the point at which nothing can escape the gravitational pull of a black hole. Keep reading our article to discover one of the most famous, misunderstood, and interesting concepts of astrophysics. Here you will find out:

• What is the Schwarzschild radius;
• How to calculate the Schwarzschild radius;
• How to calculate the gravitational field of a black hole;
• Real results of the Schwarzschild radius formula;

And much more!

## What are black holes? Schwarzschild radius and other amenities

Black holes are mysterious astronomical objects that, thanks to their characteristics, entered the collective imagination: countless science fiction stories and movies revolve around black holes (though the number of stars revolving around black holes is way higher).

However, at least on the surface, black holes are not that hard to understand. You may have heard that mass deforms the space-time fabricwith the beautiful analogy of a trampoline and a bowling ball. A black hole is a region of space where we can find so much mass that the space-time is stretched so deep that nothing can escape it, not even light!

Black holes have a defined mass, squeezed into an extremely small spherical volume. If the radius of the sphere is smaller than a particular value, we witness two phenomena:

• The object becomes a "mathematical" black hole;
• The radius mentioned above becomes the distance at which nothing can escape the gravitational field of the black hole.

This radius is known as Schwarzschild radius.

Every object has a Schwarzschild radius: if compressed to a dimension smaller than the one defined by its value, we would create a black hole! We say that the Schwarzschild radius is a property of every massive object: the equation for the black hole radius is always valid. However, for small objects, the required density gravitational force would clash with the fundamental nature of subatomic particles. Even though we can calculate the Schwarzschild radius for a black hole with the mass of a human, such an object couldn't exist (at least within our current understanding).

## What is the Schwarzschild radius: how to calculate the radius of a black hole

Mathematically speaking, the Schwarzschild radius is part of a solution to Einstein's field equations, for which we find a singularity.

The singularity corresponds to the event horizon: the equation for Schwarzschild radius allows us to find the value of the distance from the center of a non-rotating black hole from which light can't escape. The concept of the event horizon is not far from the one we define on Earth: learn more with our Earth curvature calculator

🙋 The event horizon is so-called since we can't observe anything happening behind it. Event horizons are complex theoretical objects, and astrophysicists still have much to learn about them. For now, know that you can cross them; doing so is not safe for you, and that you should watch the homonymous movie.

The equation for the Schwarzschild radius is:

$r_{\text{S}} = \frac{2\! \cdot \! G \!\cdot\! M}{c^2}$

Where:

• $r_{\text{S}}$ is the calculated Schwarzschild radius;
• $G$ is the gravitational constant;
• $M$ is the mass of the object; and
• $c$ is the speed of light.

🙋 Astrophysics has a problem with measurement units: dealing with massive and fast objects led them to use weird units such as solar masses and light years: that's what you can use in our Schwarzschild radius calculator too!

## How to calculate the gravitational field of a black hole

The gravitational field of a black hole at the Schwarzschild radius is an interesting quantity: it defines the acceleration due to gravity calculated where not even light can escape anymore. We use the equation for the gravitational field, with the value calculated at the Schwarzschild radius of the black hole:

$g = \frac{G\cdot M}{r_{\text{S}^2}}$

As you can imagine, this quantity is humongous: let's check some examples.

## The formula for Schwarzschild radius in action: calculating Schwarzschild radius in various astronomical objects

The Sun is an average star, even though special for us humans. Its mass is:

$M_\odot = 1,\!989\times 10^{30}\ \text{kg}$

Yup, it's a lot! But we will see way worse. 😉

What's the Schwarzschild radius of the Sun? Calculate it with our Schwarzschild radius calculator, or apply the equation for the event horizon:

\begin{align*} r_{\text{S}} &= \frac{2\! \cdot \! G \!\cdot\! M}{c^2} = \\ & = \frac{1}{\left(299,\!792,\!458\ \frac{\text{m}}{\text{s}}\right)^2}\\ &\left(2\! \cdot\!6.67408\!\times\!10^{-11}\ \frac{\text{m}^3}{\text{kg}\cdot\text{s}^2}\right.\\ &\left.1,\!989\times 10^{30}\ \text{kg}\right)=2,\!954\ \text{m} \end{align*}

The event horizon of a black hole with a mass equal to the one of the Sun would not even stretch $3\ \text{km}$. Earth's Schwarzschild radius is slightly more than $8\ \text{mm}$. Such black holes are too small to exist... as far as we know!

At the center of our galaxy lies a supermassive black hole. Sagittarius A* — this is its name — mass is a whopping $4.154\times10^6$ times the mass of the Sun. Using the Schwarzschild radius formula, we obtain a radius of the event horizon of:

$r_{\text{S}} = 12.271\cdot10^{6}\text{ km}$

Sagittarius A* fits comfortably in the orbit of Mercury. The object featured in the famous first picture of a black hole, the supermassive black hole at the center of the galaxy M87, has an event horizon radius of $128.35\text{ AU}$: four times the distance from Sun to Pluto. Needless to say, we are glad our stellar neighborhood is rather unassuming.

Davide Borchia
Mass
Suns
Schwarzschild radius
mi
Gravitational field
m/s²
People also viewed…

### Dosage

This dosage calculator finds the amount of a drug that should be taken, given the required daily dosage per body mass and the frequency with which it must be taken.

### Elevation grade

The elevation grade calculator estimates the angle of elevation and other related quantities.

### Gauss's law

Use this Gauss law calculator to find the electric flux through a surface using Gauss's Law.

### Trajectory - projectile motion

Input the velocity, angle, and initial height, and our trajectory calculator will find the trajectory.


text:
# Aanderaa–Karp–Rosenberg conjecture

Unsolved problem in computer science:

Prove or disprove Aanderaa–Karp–Rosenberg conjecture.

In theoretical computer science, the Aanderaa–Karp–Rosenberg conjecture (also known as the Aanderaa–Rosenberg conjecture or the evasiveness conjecture) is a group of related conjectures about the number of questions of the form "Is there an edge between vertex ${\displaystyle u}$ and vertex ${\displaystyle u}$?" that have to be answered to determine whether or not an undirected graph has a particular property such as planarity or bipartiteness. They are named after Stål Aanderaa, Richard M. Karp, and Arnold L. Rosenberg. According to the conjecture, for a wide class of properties, no algorithm can guarantee that it will be able to skip any questions: any algorithm for determining whether the graph has the property, no matter how clever, might need to examine every pair of vertices before it can give its answer. A property satisfying this conjecture is called evasive.

More precisely, the Aanderaa–Rosenberg conjecture states that any deterministic algorithm must test at least a constant fraction of all possible pairs of vertices, in the worst case, to determine any non-trivial monotone graph property; in this context, a property is monotone if it remains true when edges are added (so planarity is not monotone, but non-planarity is monotone). A stronger version of this conjecture, called the evasiveness conjecture or the Aanderaa–Karp–Rosenberg conjecture, states that exactly ${\displaystyle {\tbinom {n}{2}}=n(n-1)/2}$ tests are needed. Versions of the problem for randomized algorithms and quantum algorithms have also been formulated and studied.

The deterministic Aanderaa–Rosenberg conjecture was proven by Rivest & Vuillemin (1975), but the stronger Aanderaa–Karp–Rosenberg conjecture remains unproven. Additionally, there is a large gap between the conjectured lower bound and the best proven lower bound for randomized and quantum query complexity.

## Example

The property of being non-empty (that is, having at least one edge) is monotone, because adding another edge to a non-empty graph produces another non-empty graph. There is a simple algorithm for testing whether a graph is non-empty: loop through all of the pairs of vertices, testing whether each pair is connected by an edge. If an edge is ever found in this way, break out of the loop, and report that the graph is non-empty, and if the loop completes without finding any edges, then report that the graph is empty. On some graphs (for instance the complete graphs) this algorithm will terminate quickly, without testing every pair of vertices, but on the empty graph it tests all possible pairs before terminating. Therefore, the query complexity of this algorithm is ${\displaystyle {\tbinom {n}{2}}=n(n-1)/2}$ : in the worst case, the algorithm performs ${\displaystyle n(n-1)/2}$  tests.

The algorithm described above is not the only possible method of testing for non-emptiness, but the Aanderaa–Karp–Rosenberg conjecture implies that every deterministic algorithm for testing non-emptiness has the same worst-case query complexity, ${\displaystyle n(n-1)/2}$ . That is, the property of being non-empty is evasive. For this property, the result is easy to prove directly: if an algorithm does not perform ${\displaystyle n(n-1)/2}$  tests, it cannot distinguish the empty graph from a graph that has one edge connecting one of the untested pairs of vertices, and must give an incorrect answer on one of these two graphs.

## Definitions

In the context of this article, all graphs will be simple and undirected, unless stated otherwise. This means that the edges of the graph form a set (and not a multiset) and each edge is a pair of distinct vertices. Graphs are assumed to have an implicit representation in which each vertex has a unique identifier or label and in which it is possible to test the adjacency of any two vertices, but for which adjacency testing is the only allowed primitive operation.

Informally, a graph property is a property of a graph that is independent of labeling. More formally, a graph property is a mapping from the set of all graphs to ${\displaystyle \{0,1\}}$  such that isomorphic graphs are mapped to the same value. For example, the property of containing at least one vertex of degree two is a graph property, but the property that the first vertex has degree two is not, because it depends on the labeling of the graph (in particular, it depends on which vertex is the "first" vertex). A graph property is called non-trivial if it does not assign the same value to all graphs. For instance, the property of being a graph is a trivial property, since all graphs possess this property. On the other hand, the property of being empty is non-trivial, because the empty graph possesses this property, but non-empty graphs do not. A graph property is said to be monotone if the addition of edges does not destroy the property. Alternately, if a graph possesses a monotone property, then every supergraph of this graph on the same vertex set also possesses it. For instance, the property of being nonplanar is monotone: a supergraph of a nonplanar graph is itself nonplanar. However, the property of being regular is not monotone.

The big O notation is often used for query complexity. In short, ${\displaystyle f(n)}$  is ${\displaystyle O(g(n))}$  (read as "of the order of ${\displaystyle g(n)}$ ") if there exist positive constants ${\displaystyle c}$  and ${\displaystyle N}$  such that, for all ${\displaystyle n\geq N}$ , ${\displaystyle f(n)\leq c\cdot g(n)}$ . Similarly, ${\displaystyle f(n)}$  is ${\displaystyle \Omega (g(n))}$  if there exist positive constants ${\displaystyle c}$  and ${\displaystyle N}$  such that, for all ${\displaystyle n\geq N}$ , ${\displaystyle f(n)\geq c\cdot g(n)}$ . Finally, ${\displaystyle f(n)}$  is ${\displaystyle \Omega (g(n))}$  if it is both ${\displaystyle O(g(n))}$  and ${\displaystyle \Omega (g(n))}$ .

## Query complexity

The deterministic query complexity of evaluating a function on ${\displaystyle n}$  bits (where the bits may be labeled as ${\displaystyle x_{1},x_{2},\dots x_{n}}$ ) is the number of bits ${\displaystyle x_{i}}$  that have to be read in the worst case by a deterministic algorithm that computes the function. For instance, if the function takes the value 0 when all bits are 0 and takes value 1 otherwise (this is the OR function), then its deterministic query complexity is exactly ${\displaystyle n}$ . In the worst case, regardless of the order it chooses to examine its input, the first ${\displaystyle n-1}$  bits read could all be 0, and the value of the function now depends on the last bit. If an algorithm doesn't read this bit, it might output an incorrect answer. (Such arguments are known as adversary arguments.) The number of bits read are also called the number of queries made to the input. One can imagine that the algorithm asks (or queries) the input for a particular bit and the input responds to this query.

The randomized query complexity of evaluating a function is defined similarly, except the algorithm is allowed to be randomized. In other words, it can flip coins and use the outcome of these coin flips to decide which bits to query in which order. However, the randomized algorithm must still output the correct answer for all inputs: it is not allowed to make errors. Such algorithms are called Las Vegas algorithms. (A different class of algorithms, Monte Carlo algorithms, are allowed to make some error.) Randomized query complexity can be defined for both Las Vegas and Monte Carlo algorithms, but the randomized version of the Aanderaa–Karp–Rosenberg conjecture is about the Las Vegas query complexity of graph properties.

Quantum query complexity is the natural generalization of randomized query complexity, of course allowing quantum queries and responses. Quantum query complexity can also be defined with respect to Monte Carlo algorithms or Las Vegas algorithms, but it is usually taken to mean Monte Carlo quantum algorithms.

In the context of this conjecture, the function to be evaluated is the graph property, and the input can be thought of as a string of size ${\displaystyle n(n-1)/2}$ , describing for each pair of vertices whether there is an edge with that pair as its endpoints. The query complexity of any function on this input is at most ${\displaystyle n(n-1)/2}$ , because an algorithm that makes ${\displaystyle n(n-1)/2}$  queries can read the whole input and determine the input graph completely.

## Deterministic query complexity

For deterministic algorithms, Rosenberg (1973) originally conjectured that for all nontrivial graph properties on ${\displaystyle n}$  vertices, deciding whether a graph possesses this property requires ${\displaystyle \Omega (n^{2})}$  The non-triviality condition is clearly required because there are trivial properties like "is this a graph?" which can be answered with no queries at all.

A scorpion graph. One of the three red path vertices is adjacent to all other vertices and the other two red vertices have no other adjacencies.

The conjecture was disproved by Aanderaa, who exhibited a directed graph property (the property of containing a "sink") which required only ${\displaystyle O(n)}$  queries to test. A sink, in a directed graph, is a vertex of indegree ${\displaystyle n-1}$  and outdegree zero. The existence of a sink can be tested with less than ${\displaystyle 3n}$  queries (Best, van Emde Boas & Lenstra 1974). An undirected graph property which can also be tested with ${\displaystyle O(n)}$  queries is the property of being a scorpion graph, first described in Best, van Emde Boas & Lenstra (1974). A scorpion graph is a graph containing a three-vertex path, such that one endpoint of the path is connected to all remaining vertices, while the other two path vertices have no incident edges other than the ones in the path.

Then Aanderaa and Rosenberg formulated a new conjecture (the Aanderaa–Rosenberg conjecture) which says that deciding whether a graph possesses a non-trivial monotone graph property requires ${\displaystyle \Omega (n^{2})}$  queries.[1] This conjecture was resolved by Rivest & Vuillemin (1975) by showing that at least ${\displaystyle {\tfrac {1}{16}}n^{2}}$  queries are needed to test for any nontrivial monotone graph property. The bound was further improved to ${\displaystyle {\tfrac {1}{9}}n^{2}}$  by Kleitman & Kwiatkowski (1980), to ${\displaystyle {\bigl (}{\tfrac {1}{4}}-\varepsilon {\bigr )}n^{2}}$  (for any ${\displaystyle \varepsilon >0}$ ) by Kahn, Saks & Sturtevant (1984), to ${\displaystyle {\bigl (}{\tfrac {8}{25}}-\varepsilon {\bigr )}n^{2}}$  by Korneffel & Triesch (2010), and to ${\displaystyle {\bigl (}{\tfrac {2}{3}}-\varepsilon {\bigr )}n^{2}}$  by Scheidweiler & Triesch (2013).

Richard Karp conjectured the stronger statement (which is now called the evasiveness conjecture or the Aanderaa–Karp–Rosenberg conjecture) that "every nontrivial monotone graph property for graphs on ${\displaystyle n}$  vertices is evasive."[2] A property is called evasive if determining whether a given graph has this property sometimes requires all ${\displaystyle n(n-1)/2}$  possible queries.[3] This conjecture says that the best algorithm for testing any nontrivial monotone property must (in the worst case) query all possible edges. This conjecture is still open, although several special graph properties have shown to be evasive for all ${\displaystyle n}$ . The conjecture has been resolved for the case where ${\displaystyle n}$  is a prime power by Kahn, Saks & Sturtevant (1984) using a topological approach. The conjecture has also been resolved for all non-trivial monotone properties on bipartite graphs by Yao (1988). Minor-closed properties have also been shown to be evasive for large ${\displaystyle n}$  (Chakrabarti, Khot & Shi 2001).

In Kahn, Saks & Sturtevant (1984) the conjecture was generalized to properties of other (non-graph) functions too, conjecturing that any non-trivial monotone function that is weakly symmetric is evasive. This case is also solved when ${\displaystyle n}$  is a prime power Lovász & Young (2002).

## Randomized query complexity

Richard Karp also conjectured that ${\displaystyle \Omega (n^{2})}$  queries are required for testing nontrivial monotone properties even if randomized algorithms are permitted. No nontrivial monotone property is known which requires less than ${\displaystyle {\tfrac {1}{4}}n^{2}}$  queries to test. A linear lower bound (i.e., ${\displaystyle \Omega (n)}$ ) on all monotone properties follows from a very general relationship between randomized and deterministic query complexities. The first superlinear lower bound for all monotone properties was given by Yao (1991) who showed that ${\displaystyle \Omega {\bigl (}n(\log n)^{1/12}{\bigr )}}$  queries are required. This was further improved by King (1991) to ${\displaystyle \Omega (n^{5/4})}$ , and then by Hajnal (1991) {{nowrap|to ${\displaystyle \Omega (n^{4/3})}$ . This was subsequently improved to the current best known lower bound (among bounds that hold for all monotone properties) of ${\displaystyle \Omega {\bigl (}n^{4/3}(\log n)^{1/3}{\bigr )}}$  by Chakrabarti & Khot (2007).

Some recent results give lower bounds which are determined by the critical probability ${\displaystyle p}$  of the monotone graph property under consideration. The critical probability ${\displaystyle p}$  is defined as the unique number ${\displaystyle p}$  in the range ${\displaystyle [0,1]}$  such that a random graph ${\displaystyle G(n,p)}$  (obtained by choosing randomly whether each edge exists, independently of the other edges, with probability ${\displaystyle p}$  per edge) possesses this property with probability equal to ${\displaystyle {\tfrac {1}{2}}}$ . Friedgut, Kahn & Wigderson (2002) showed that any monotone property with critical probability ${\displaystyle p}$  requires

${\displaystyle \Omega \left(\min \left\{{\frac {n}{\min(p,1-p)}},{\frac {n^{2}}{\log n}}\right\}\right)}$

queries. For the same problem, O'Donnell et al. (2005) showed a lower bound of ${\displaystyle \Omega (n^{4/3}/p^{1/3})}$ .

As in the deterministic case, there are many special properties for which an ${\displaystyle \Omega (n^{2})}$  lower bound is known. Moreover, better lower bounds are known for several classes of graph properties. For instance, for testing whether the graph has a subgraph isomorphic to any given graph (the so-called subgraph isomorphism problem), the best known lower bound is ${\displaystyle \Omega (n^{3/2})}$  due to Gröger (1992).

## Quantum query complexity

For bounded-error quantum query complexity, the best known lower bound is ${\displaystyle \Omega {\bigl (}n^{2/3}(\log n)^{1/6}{\bigr )}}$  as observed by Andrew Yao.[4] It is obtained by combining the randomized lower bound with the quantum adversary method. The best possible lower bound one could hope to achieve is ${\displaystyle \Omega (n)}$ , unlike the classical case, due to Grover's algorithm which gives an ${\displaystyle O(n)}$ -query algorithm for testing the monotone property of non-emptiness. Similar to the deterministic and randomized case, there are some properties which are known to have an ${\displaystyle \Omega (n)}$  lower bound, for example non-emptiness (which follows from the optimality of Grover's algorithm) and the property of containing a triangle. There are some graph properties which are known to have an ${\displaystyle \Omega (n^{3/2})}$  lower bound, and even some properties with an ${\displaystyle \Omega (n^{2})}$  lower bound. For example, the monotone property of nonplanarity requires ${\displaystyle \Theta (n^{3/2})}$  queries (Ambainis et al. 2008) and the monotone property of containing more than half the possible number of edges (also called the majority function) requires ${\displaystyle \Theta (n^{2})}$  queries (Beals et al. 2001).

## Notes

1. ^ Triesch (1996)
2. ^ Lutz (2001)
3. ^ Kozlov (2008, pp. 226–228)
4. ^ The result is unpublished, but mentioned in Magniez, Santha & Szegedy (2005).


text:
# American Institute of Mathematical Sciences

October  2015, 35(10): 4735-4741. doi: 10.3934/dcds.2015.35.4735

## Topological properties of sectional-Anosov flows

 1 Departamento de Matemática, Universidade Federal de Viçosa, Viçosa-MG, Brazil, Brazil 2 Departamento de Matemática, Universidade Federal do Rio de Janeiro, RJ, Brazil

Received  July 2014 Revised  February 2015 Published  April 2015

We study sectional-Anosov flows on compact $3$-manifolds. First we prove that every periodic orbits represents an infinite order element of the fundamental group outside the strong stable manifolds of the singularities. Next, in the transitive case, we prove that the first Betti number of the manifold is positive, that the number of singularities is given by the Euler characteristic and that every boundary's connected component has nonpositive Euler characteristic. Moreover, there is one component with negative characteristic if and only if the flow has singularities. These results will be used to discuss the existence of transitive sectional-Anosov flows on specific compact 3-manifolds with boundary.
Citation: Enoch Humberto Apaza Calla, Bulmer Mejia Garcia, Carlos Arnoldo Morales Rojas. Topological properties of sectional-Anosov flows. Discrete & Continuous Dynamical Systems - A, 2015, 35 (10) : 4735-4741. doi: 10.3934/dcds.2015.35.4735
##### References:

show all references

##### References:
 [1] Franz W. Kamber and Peter W. Michor. The flow completion of a manifold with vector field. Electronic Research Announcements, 2000, 6: 95-97. [2] Ming Li, Shaobo Gan, Lan Wen. Robustly transitive singular sets via approach of an extended linear Poincaré flow. Discrete & Continuous Dynamical Systems - A, 2005, 13 (2) : 239-269. doi: 10.3934/dcds.2005.13.239 [3] Ursula Hamenstädt. Dynamics of the Teichmüller flow on compact invariant sets. Journal of Modern Dynamics, 2010, 4 (2) : 393-418. doi: 10.3934/jmd.2010.4.393 [4] Feng Luo. A combinatorial curvature flow for compact 3-manifolds with boundary. Electronic Research Announcements, 2005, 11: 12-20. [5] Francois Ledrappier and Omri Sarig. Invariant measures for the horocycle flow on periodic hyperbolic surfaces. Electronic Research Announcements, 2005, 11: 89-94. [6] Aylin Aydoğdu, Sean T. McQuade, Nastassia Pouradier Duteil. Opinion Dynamics on a General Compact Riemannian Manifold. Networks & Heterogeneous Media, 2017, 12 (3) : 489-523. doi: 10.3934/nhm.2017021 [7] Hiroko Morimoto. Survey on time periodic problem for fluid flow under inhomogeneous boundary condition. Discrete & Continuous Dynamical Systems - S, 2012, 5 (3) : 631-639. doi: 10.3934/dcdss.2012.5.631 [8] Bendong Lou. Periodic traveling waves of a mean curvature flow in heterogeneous media. Discrete & Continuous Dynamical Systems - A, 2009, 25 (1) : 231-249. doi: 10.3934/dcds.2009.25.231 [9] Benoît Grébert, Tiphaine Jézéquel, Laurent Thomann. Dynamics of Klein-Gordon on a compact surface near a homoclinic orbit. Discrete & Continuous Dynamical Systems - A, 2014, 34 (9) : 3485-3510. doi: 10.3934/dcds.2014.34.3485 [10] Saikat Mazumdar. Struwe's decomposition for a polyharmonic operator on a compact Riemannian manifold with or without boundary. Communications on Pure & Applied Analysis, 2017, 16 (1) : 311-330. doi: 10.3934/cpaa.2017015 [11] Matti Lassas, Teemu Saksala, Hanming Zhou. Reconstruction of a compact manifold from the scattering data of internal sources. Inverse Problems & Imaging, 2018, 12 (4) : 993-1031. doi: 10.3934/ipi.2018042 [12] Shengbing Deng, Zied Khemiri, Fethi Mahmoudi. On spike solutions for a singularly perturbed problem in a compact riemannian manifold. Communications on Pure & Applied Analysis, 2018, 17 (5) : 2063-2084. doi: 10.3934/cpaa.2018098 [13] Erwann Delay, Pieralberto Sicbaldi. Extremal domains for the first eigenvalue in a general compact Riemannian manifold. Discrete & Continuous Dynamical Systems - A, 2015, 35 (12) : 5799-5825. doi: 10.3934/dcds.2015.35.5799 [14] Peter Giesl. Converse theorem on a global contraction metric for a periodic orbit. Discrete & Continuous Dynamical Systems - A, 2019, 39 (9) : 5339-5363. doi: 10.3934/dcds.2019218 [15] Grigory Panasenko, Ruxandra Stavre. Asymptotic analysis of a non-periodic flow in a thin channel with visco-elastic wall. Networks & Heterogeneous Media, 2008, 3 (3) : 651-673. doi: 10.3934/nhm.2008.3.651 [16] Mapundi K. Banda, Michael Herty, Axel Klar. Gas flow in pipeline networks. Networks & Heterogeneous Media, 2006, 1 (1) : 41-56. doi: 10.3934/nhm.2006.1.41 [17] Radu C. Cascaval, Ciro D'Apice, Maria Pia D'Arienzo, Rosanna Manzo. Flow optimization in vascular networks. Mathematical Biosciences & Engineering, 2017, 14 (3) : 607-624. doi: 10.3934/mbe.2017035 [18] Edoardo Mainini. On the signed porous medium flow. Networks & Heterogeneous Media, 2012, 7 (3) : 525-541. doi: 10.3934/nhm.2012.7.525 [19] Magnus Aspenberg, Fredrik Ekström, Tomas Persson, Jörg Schmeling. On the asymptotics of the scenery flow. Discrete & Continuous Dynamical Systems - A, 2015, 35 (7) : 2797-2815. doi: 10.3934/dcds.2015.35.2797 [20] Tai-Ping Liu, Zhouping Xin, Tong Yang. Vacuum states for compressible flow. Discrete & Continuous Dynamical Systems - A, 1998, 4 (1) : 1-32. doi: 10.3934/dcds.1998.4.1

2018 Impact Factor: 1.143


text:
# How Bestmed covers chronic conditions

Bestmed medical aid scheme >> Chronic conditions

#### CDL – Chronic Disease List

• To see how each Bestmed plan covers chronic conditions, see each individual plan and its benefits
• Overall, by law, each plan must cover the medicine and treatment for 27 Chronic Diseases which appear on the chronic disease list. These are listed below, and are known as PMBs (Prescribed Minimum Benefits).
• For each of these 27 chronic conditions there is a basic treatment plan as set out by Bestmed. This can include consultations, pathology and radiology and has an annual limit. The cost for this treatment is paid for by Bestmed, and not out of any day-to-day funds. Once the annual limit is reached, further claims will be covered from normal Day-to-Day or Acute benefits.
• In addition to the 27 chronic conditions that must be covered, some of Bestmed plans also cover other chronic conditions. These are also listed below.
• You must register with Bestmed for all chronic benefits.
• A formulary is the list of medicines that Bestmed will cover, for the treatment of the listed chronic conditions. There is an out-of-pocket co-payment for non-formulary medicines.
• A generic reference price is a maximum set price Bestmed will pay for a generic medicine of specific dosage. You can use the original medicine, and pay the difference, or use the generic medicine. This applies to both formulary and non-formulary medicine.
• Using any of the 1,300 Bestmed preferred pharmacies will ensure no co-payments for dispensing fees.

#### CDL and non-CDL Lists

Green indicates that coverage is provided for the listed condition.

 Pace Pulse 1 2 3 4 1 2 3 4 1 Beat CDL 1 Addison’s Disease Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes CDL 2 Asthma Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes CDL 3 Bipolar Mood Disorder Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes CDL 4 Bronchiectasis Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes CDL 5 Cardiomyopathy Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes CDL 6 Chronic Renal Failure Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes CDL 7 COPD Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes CDL 8 Congestive Heart Failure Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes CDL 9 Coronary Artery Disease Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes CDL 10 Crohn’s Disease Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes CDL 11 Diabetes Insipidius Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes CDL 12 Diabetes Mellitus Type 1 Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes CDL 13 Diabetes Mellitus Type 2 Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes CDL 14 Dysrhythmia Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes CDL 15 Epilepsy Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes CDL 16 Glaucoma Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes CDL 17 Haemophilia Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes CDL 18 HIV/AIDS Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes CDL 19 Hyperlipidaemia Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes CDL 20 Hypertension Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes CDL 21 Hypothyroidism Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes CDL 22 Multiple Sclerosis Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes CDL 23 Parkinson’s Disease Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes CDL 24 Rheumatoid Arthritis Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes CDL 25 Schizophrenia Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes CDL 26 Systemic Lupus Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes CDL 27 Ulcerative Colitis Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes non-CDL Acne No No Yes Yes Yes Yes Yes Yes No Yes non-CDL ADD No No Yes Yes Yes Yes Yes Yes No Yes non-CDL Allergic Rhinitis No No Yes Yes Yes Yes Yes Yes No Yes non-CDL Alzheimer’s No No No No No Yes Yes Yes No Yes non-CDL Ankylosing Spondylitis No No No No No Yes Yes Yes No Yes non-CDL Benign Prostatic Hypertrophy No No No No No Yes Yes Yes No Yes non-CDL Aplastic Anaemia No No No No No Yes Yes Yes No Yes non-CDL Chronic Anaemia No No No Yes Yes Yes Yes Yes No Yes non-CDL Collagen Diseases No No No No No Yes Yes Yes No Yes non-CDL Cushing’s Diseases No No No No No Yes Yes Yes No Yes non-CDL Cystic Fibrosis No No No No No Yes Yes Yes No Yes non-CDL Dermatomyositis No No No No No Yes Yes Yes No Yes non-CDL Eczema No No Yes Yes Yes Yes Yes Yes No Yes non-CDL Endometriosis No No No Yes Yes Yes Yes Yes No Yes non-CDL Fibrosing Alveolitis No No No No No No No Yes No Yes non-CDL GORD No No No No No Yes Yes Yes No Yes non-CDL Gout Prohylaxis No No No Yes Yes Yes Yes Yes No Yes non-CDL Graves Disease No No No Yes No Yes Yes Yes No Yes non-CDL Hyperthyroidism No No No No No No No Yes No Yes non-CDL Hypophyseal Adenoma No No No No No Yes Yes Yes No Yes non-CDL Hypopituitarism No No No No No No No Yes No Yes non-CDL Idiopathic Thrombocytopenic Pupura No No No No No No No Yes No Yes non-CDL Major Depression No No No Yes Yes Yes Yes Yes No Yes non-CDL Menopause No No No Yes No Yes Yes Yes No Yes non-CDL Migraine Prohylaxis No No Yes Yes Yes Yes Yes Yes No Yes non-CDL Motor Neuron Disease No No No No No No No Yes No Yes non-CDL Muscular Dystrophy No No No No No No No Yes No Yes non-CDL Myasenthia Gravis No No No No No No No Yes No No non-CDL Neuropathy No No No No No No No Yes No Yes non-CDL OCD No No No Yes No Yes Yes Yes No Yes non-CDL Osteoathritis No No No No No Yes Yes Yes No Yes non-CDL Osteoperosis No No No No No Yes Yes Yes No Yes non-CDL Paget’s Disease No No No No No Yes Yes Yes No Yes non-CDL Polyarteritis Nodosa No No No No No No No Yes No No non-CDL Polycystic Ovarian Disease No No No Yes Yes Yes Yes Yes No Yes non-CDL Paraplegia/Quadriplegia No No No Yes No Yes Yes Yes No Yes non-CDL Psoriasis No No No No No Yes Yes Yes No Yes non-CDL Psoriatic Arthrisis No No No No No No No Yes No No non-CDL Pulmonary Embolism No No No Yes No Yes Yes Yes No Yes non-CDL Pulmonary Interstitial Fibrosis No No No No No No No Yes No No non-CDL Scleroderma No No No No No No No Yes No No non-CDL Sjorgen’s Disease No No No No No No No Yes No No non-CDL Stroke No No No Yes No Yes Yes Yes No Yes non-CDL Trigerminal Neuralgia No No No No No No No Yes No No non-CDL Urinary Incontinence No No No No No Yes Yes Yes No Yes


text:
Question #5bc5b

May 18, 2017

${F}_{5} = \left\{\frac{0}{1} , \frac{1}{5} , \frac{1}{4} , \frac{1}{3} , \frac{1}{2} , \frac{2}{3} , \frac{3}{4} , \frac{4}{5} , \frac{1}{1}\right\}$
${F}_{6} = \left\{\frac{0}{1} , \frac{1}{6} , \frac{1}{5} , \frac{1}{4} , \frac{1}{3} , \frac{1}{2} , \frac{2}{3} , \frac{3}{4} , \frac{4}{5} , \frac{5}{6} , \frac{1}{1}\right\}$
${F}_{7} = \left\{\frac{0}{1} , \frac{1}{7} , \frac{1}{6} , \frac{1}{5} , \frac{1}{4} , \frac{1}{3} , \frac{1}{2} , \frac{2}{3} , \frac{3}{4} , \frac{4}{5} , \frac{5}{6} , \frac{6}{7} , \frac{1}{1}\right\}$

Explanation:

The trick to recognizing these Farey sequences is to first look at the denominators.

For ${F}_{3}$, the denominators (in order) are:

$\left\{1 , 3 , 2 , 3 , 1\right\}$

The number 3 is the biggest denominator and there are 5 terms.

For ${F}_{4}$, the denominators are:

$\left\{1 , 4 , 3 , 2 , 3 , 4 , 1\right\}$

The number 4 is the biggest denominator and there are 7 terms.

The pattern for the denominators of all subsequent Farey sequences should be obvious.

The number of terms is always increased by 2. So, for ${F}_{5}$, the number of terms will be 9. And for ${F}_{6}$, the number of terms will be 11.

The first term is always $0 / 1$. The last term is always $1 / 1$. The middle term is always $1 / 2$. After 0, the numerators up to $1 / 2$ will always be $1$. The numerators after $1 / 2$ will simply count from 2 to the max number.

It may be easier to see if you let the last term $\frac{1}{1}$ be equal to the maximum denominator, divided by itself. So,

Last term of ${F}_{3}$ is $3 / 3$
Last term of ${F}_{4}$ is $4 / 4$
Last term of ${F}_{5}$ is $5 / 5$, etc.

There is always two more terms shoved in each subsequent Farey sequence. Let $m$ be the max denominator. Always, just after the zero term (the first term in the sequence) will be $1 / m$. And finally, right before the final 1 term (the next to last in the sequence) will be $\left(m - 1\right) / m$.

I'll let you explore the "questions to consider" on your own!


text:
# How to implement a dial control that snaps to increments?

How can I implement snapping via code? I have this 2d circle that the players rotate via drag and it works like a rotating dial. The best way to describe what I wanted to achieve is similar to a clock hand snapping to the hour numbers. I'm a total beginner and haven't actually learned anything about quaternions.

This is the my code , im using a raycast to detect if the dial is clicked/dragged.

Vector2 worldPoint = Camera.main.ScreenToWorldPoint(Input.mousePosition);
RaycastHit2D hit = Physics2D.Raycast(worldPoint, Vector3.forward);

if (Input.GetMouseButtonDown(0))
{
if (hit.collider && hit.collider.GetComponent<Rotate2d>())
{
deltaRotation = 0f;
previousRotation = angleBetweenPoints(transform.position, Camera.main.ScreenToWorldPoint(Input.mousePosition));
}
}

else if (Input.GetMouseButton(0))
{
if (hit.collider && hit.collider.GetComponent<Rotate2d>())
{
currentRotation = angleBetweenPoints(transform.position, Camera.main.ScreenToWorldPoint(Input.mousePosition));
deltaRotation = Mathf.DeltaAngle(currentRotation, previousRotation);

if (Mathf.Abs(deltaRotation) > deltaLimit)
{
deltaRotation = deltaLimit * Mathf.Sign(deltaRotation);
}

previousRotation = currentRotation;
hit.collider.gameObject.transform.Rotate(Vector3.back * Time.deltaTime, deltaRotation);

}
}

I forgot to add, here is my angle between points method.

   float angleBetweenPoints(Vector2 position1, Vector2 position2)
{
Vector2 fromLine = position2 - position1;
Vector2 toLine = new Vector2(1, 0);

float angle = Vector2.Angle(fromLine, toLine);

Vector3 cross = Vector3.Cross(fromLine, toLine);

// did we wrap around?
if (cross.z > 0)
{
angle = 360f - angle;
}

return angle;
}

• hit.collider.gameObject.transform.Rotate(Vector3.back * Time.deltaTime it's not meaningful to multiply a direction vector by time here. You do not want time in this expression at all. Jun 20 at 11:48

First, you can simplify your angle method:

public static float DegreesCCWFromRight(Vector2 center, Vector2 pointer) {
var direction = pointer - center;
}

Then just round the result to your desired number of increments.

if (hit.collider && hit.collider.GetComponent<Rotate2d>())
{
Vector2 mouseWorld = Camera.main.ScreenToWorldPoint(Input.mousePosition);
float angle = DegreesCCWFromRight(transform.position, mouseWorld);

const float incrementCount = 6;

angle = Mathf.Round(currentRotation * incrementCount/360)
* 360/incrementCount;

transform.localEulerAngles = new Vector3(0, 0, angle);
}

• Thanks a lot! Finally got it to work! You made it look easy. Will probably spent sometime in the weekend learning some of those math functions! Jun 20 at 16:19
• By the way I managed to make it work but somehow I can't figure out something. I changed the increments to 4/8 since this works perfectly and I wanted it to rotate by quarters or half a quarter. It works on one dial, but when I try to rotate the other dials, it rotates by a quarter and stops totally. What am I doing wrong? Jun 20 at 17:51
• @PeytonFarquhar you can always ask a new question with the updated code that is causing problems (and post the working solution for other amounts). It can be as simple as forgetting to change one variable, having a wrong cast or a simple typo. But when saying works on one and not the others, without showing us whats the difference between your dials, we can't help Jun 21 at 8:17
• I see thanks! Will do this. Jun 21 at 8:45


text:
# Are there any homomorphisms from integers into finite rings other than modulo $n$?

Are there any "homomorphisms" from $Z$ onto finite rings other than $Z/nZ$ ? I think if instead of mapping $k$ to $k$ (mod $p$), you map it to $p - (k$ (mod $p$)$)$ and you get $f(-ab) = f(a)f(b)$. But are there any interesting ones?

-
For $0,..,2$ at least the only finite ring structure with standard morphism is $Z_3$. –  Enjoys Math Aug 9 '13 at 3:37
Do you mean ring homomorphisms? Assuming your ring has an identity, and you require a ring map to send identity to identity, there is a unique ring homomorphism from $\mathbf{Z}$ to any other ring. The only rings (up to isomorphism) admitting surjective ring homomorphisms from $\mathbf{Z}$ are the rings $\mathbf{Z}/n\mathbf{Z}$ for integers $n$, as follows from the fact that $\mathbf{Z}$ is a PID and the "first isomorphism theorem" for rings. –  Keenan Kidwell Aug 9 '13 at 3:51
To back up what @KeenanKidwell correctly said, the integers have only one map into any ring (they are an initial object in the category of rings) depending the characteristic of the ring. Since the image really is just the ring generated by $1$, you clearly only have the choices $\mathbb{Z}/n\mathbb{Z}$. –  Alex Youcis Aug 9 '13 at 4:20
Thanks. I guess I'll say that it has to be some other type of morphism. –  Enjoys Math Aug 9 '13 at 4:35
But what other type? If the target is a ring, then it seem odd to ask about homomorphisms as something other than rings. –  Tobias Kildetoft Aug 9 '13 at 7:52

The kernel of a homomorphism needs to be an ideal. All proper ideals of $\mathbb{Z}$ are principal, i.e., in one-to-one correspondence to elements $n=0,1,2, \dots$.
Of course, I assume implicitly for $n=0$ that you mean $\mathbb{Z} / 0\;\mathbb{Z} :=\mathbb{Z}$. I seems that you forgot about the map $\mathbb{Z} \rightarrow \mathbb{Z}, n \mapsto n$.
Coming from the $\bmod 0$-side, it seems worth mentioning. –  plusepsilon.de Aug 9 '13 at 10:45