CINXE.COM

Pavel Holoborodko | Applied mathematics and beyond

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en-US"><head profile="http://gmpg.org/xfn/11"><style media="all">/*<![CDATA[*/html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,font,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td{margin:0;padding:0;border:0;outline:0;font-size:100%;vertical-align:baseline;background:0 0}body{background:#fff;line-height:1}ol,ul{list-style:none}blockquote,q{quotes:none}blockquote:before,blockquote:after,q:before,q:after{content:'';content:none}:focus{outline:0}ins{text-decoration:none}del{text-decoration:line-through}table{border-collapse:collapse;border-spacing:0}a img{border:none}body,input,textarea{color:#000;font:12px Arial,sans-serif;line-height:18px}h1,h2,h3,h4,h5,h6{font-weight:400;clear:both}p{margin-bottom:18px;text-align:justify}ul{margin:0 0 18px 2.5em}ol{margin:0 0 18px 2.5em}ul{list-style:disc}ol{list-style-type:decimal}ol ol{list-style:upper-alpha}ol ol ol{list-style:lower-roman}ol ol ol ol{list-style:lower-alpha}ul ul,ol ol,ul ol,ol ul{margin-bottom:0}li{margin-bottom:0}dl{margin:0 1.5em}dt{font-weight:700}dd{margin-bottom:18px}strong{font-weight:700}cite,em,i{font-style:italic}blockquote{margin:0 3em}blockquote em,blockquote i,blockquote cite{font-style:normal}pre{font-family:"Courier 10 Pitch",Courier,monospace;font-size:15px;line-height:21px;margin-bottom:18px;background-color:#f7f7f7;padding:1em}code{font:11px Monaco,monospace}abbr,acronym{border-bottom:1px dotted #333;cursor:help}ins{text-decoration:none}sup,sub{height:0;line-height:1;vertical-align:baseline;_vertical-align:bottom;position:relative}sup{bottom:1ex}sub{top:.5ex}blockquote.left{float:left;margin-left:0;margin-right:20px;text-align:right;width:33%}blockquote.right{float:right;margin-left:20px;margin-right:0;text-align:left;width:33%}body{min-width:960px}#header{position:relative}#branding{width:940px;margin:0 auto}#access{position:relative;overflow:hidden}.menu{width:940px;margin:0 auto}#main{width:960px;margin:0 auto;overflow:hidden;position:relative}#content{margin:0 0 0 10px;overflow:hidden}.main-aside{width:240px;float:right;position:relative;right:10px}#secondary{clear:right}#footer{clear:both}#subsidiary{width:940px;margin:0 auto;overflow:hidden}#subsidiary .aside{width:300px;float:left;margin:0 20px 0 0}#subsidiary #third{margin:0}#siteinfo{clear:both;width:940px;margin:0 auto}.entry-content img{margin:0 0 18px}.alignleft,img.alignleft{float:left;margin-right:20px}.alignright,img.alignright{display:block;float:right;margin-left:20px}.aligncenter,img.aligncenter{margin-left:auto;margin-right:auto;display:block;clear:both}.wp-caption{text-align:center;margin-bottom:18px}.wp-caption img{margin:0;padding:0;border:0 none}.wp-caption p.wp-caption-text{margin:0;padding:5px}.gallery img{margin:0}.wp-smiley{max-height:12px;margin:0 !important}body,input,textarea{font:17px Georgia,serif;line-height:22px}p,ul,ol,dd,pre{margin-bottom:22px}pre,code{font:16px Monaco,monospace;line-height:22px}blockquote{color:#666;font-style:italic}table{font-size:13px;line-height:18px;margin:0 0 22px;text-align:left}caption{text-align:left}tr{border-bottom:1px solid #ccc}th,td{padding:.7em .3em}a:link{color:#004b91}a:visited{color:#743399}a:active,a:hover{color:#ff4b33}#header{z-index:2}#branding{padding:88px 0 44px}#blog-title{font-size:36px;font-weight:700;line-height:40px}#blog-title a{color:#000;text-decoration:none}#blog-title a:active,#blog-title a:hover{color:#ff4b33}#blog-description{color:#666;font-size:13px;font-style:italic}.skip-link{display:none}#access{border-bottom:1px solid #ccc;height:32px;font-size:13px;overflow:visible;z-index:100}.sf-menu,.sf-menu *{margin:0;padding:0;list-style:none}.sf-menu{line-height:1.0}.sf-menu ul{position:absolute;top:-999em;width:10em}.sf-menu ul li{width:100%}.sf-menu li:hover{visibility:inherit}.sf-menu li{float:left;position:relative}.sf-menu a{display:block;position:relative}.sf-menu li:hover ul,.sf-menu li.sfHover ul{left:0;top:2.5em;z-index:99}ul.sf-menu li:hover li ul,ul.sf-menu li.sfHover li ul{top:-999em}ul.sf-menu li li:hover ul,ul.sf-menu li li.sfHover ul{left:10em;top:0}ul.sf-menu li li:hover li ul,ul.sf-menu li li.sfHover li ul{top:-999em}ul.sf-menu li li li:hover ul,ul.sf-menu li li li.sfHover ul{left:10em;top:0}.sf-menu{border-right:1px solid #ccc;float:left}.sf-menu a{border-left:1px solid #ccc;border-top:1px solid #ccc;border-bottom:1px solid #ccc;padding:9px 13px;text-decoration:none}.sf-menu .current_page_item a,.sf-menu .current_page_ancestor a,.sf-menu .current_page_parent a{border-bottom-color:#fff}.sf-menu a,.sf-menu a:visited{color:#666}.sf-menu li{background:#fff}.sf-menu li li{background:#fff}.sf-menu li li li{background:#9aaedb}.sf-menu li:hover,.sf-menu li.sfHover,.sf-menu a:focus,.sf-menu a:hover,.sf-menu a:active{background:#fafafa;outline:0;border-bottom-color:#ccc}.sf-menu ul{border-right:1px solid #ccc;border-bottom:1px solid #ccc}.sf-menu li:hover ul,.sf-menu li.sfHover ul{top:32px}.sf-menu ul ul{margin-top:0}.sf-menu ul a{background:#fafafa;border-bottom:none}.sf-menu ul a:hover{color:#ff4b33}#main{clear:both;padding:66px 0 22px}.page-title{font-size:13px;line-height:18px;padding:0 0 44px}.attachment .page-title{font-style:italic}.page-title a{color:#666;text-decoration:none}.page-title a:active,.page-title a:hover{color:#ff4b33}.page-title span{font-style:italic}.page-title .meta-nav{font-style:normal}.hentry{padding:0 0 22px}.single .hentry{padding:0}.home #content .sticky{border:1px solid #ccc;margin:0 0 66px;padding:22px 20px 0}.entry-title{font-size:28px;font-weight:700;line-height:28px;padding:0 0 7px}.entry-title a{color:#000;text-decoration:none}.entry-title a:active,.entry-title a:hover{color:#ff4b33}.entry-meta{color:#666;font-size:13px;font-style:italic;line-height:18px}.entry-meta .n{font-size:11px;font-style:normal;letter-spacing:.05em;text-transform:uppercase}.entry-meta a{color:#666;text-decoration:none}.entry-meta a:active,.entry-meta a:hover{color:#ff4b33}.entry-meta abbr{border:none;cursor:text;font-size:11px;font-style:normal;letter-spacing:.05em;text-transform:uppercase}.entry-content{padding:22px 0 0}.entry-content h1,.entry-content h2{font-size:19px;font-weight:700;padding:28px 0 14px}.entry-content h3{font-size:17px;font-style:italic;padding:28px 0 14px}.entry-content h4{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em}.entry-content table{margin-left:1px}.entry-content embed{margin:0 0 22px}.entry-utility{color:#666;font-size:13px;line-height:18px;margin:0 0 44px}.entry-utility a{color:#666;font-style:italic;text-decoration:none}.entry-utility a:active,.entry-utility a:hover{color:#ff4b33}.page-link{font-size:13px;font-weight:700;line-height:18px;margin:0 0 22px;padding:22px 0 0;word-spacing:.5em}.page-link a{border:1px solid #ccc;color:#666;font-weight:400;padding:.5em .75em;text-decoration:none}.page-link a:active,.page-link a:hover{color:#ff4b33}ul#links-page,ul#archives-page{list-style:none;margin-left:0;overflow:hidden}li.content-column{float:left;margin-right:20px;width:45%}.gallery{padding:0 0 22px}.wp-caption-text,.gallery-caption{color:#666;font-size:13px;line-height:18px}#author-info{margin:0 0 44px;overflow:hidden}#author-info .avatar{float:left;margin:.3em 1em 0 0}.attachment-jpeg #container,.attachment-png #container{width:100%}.attachment-jpeg #content,.attachment-png #content{width:930px}.attachment-jpeg #comments,.attachment-png #comments{width:540px;overflow:hidden}.attachment-jpeg .main-aside,.attachment-png .main-aside{display:none}.navigation{color:#666;font-size:13px;line-height:18px;margin:0 0 22px;overflow:hidden}.navigation a{color:#666;font-style:italic;text-decoration:none}.navigation a:active,.navigation a:hover{color:#ff4b33}.navigation .meta-nav{font-style:normal}.nav-previous{float:left;width:50%}.nav-next{float:right;width:50%;text-align:right}#nav-above,#nav-below{width:100%}#nav-above{display:none}.paged #nav-above{display:block;padding:0}#comments{padding:22px 0 0}#comments,#comments input,#comments textarea{font-size:13px;line-height:18px}#comments code{font-size:12px;line-height:18px}#comments h3{font-size:15px;font-weight:700;line-height:22px;padding:0 0 18px}#comments-list{padding:0 0 18px}#comments-list ol,#comments-list ul{list-style:none;margin:0}#comments-list ol{border:1px solid #ccc;border-bottom:none;margin:0 0 18px}#comments-list li{background:#fafafa;border-bottom:1px solid #ccc;padding:18px 1.5em 0;position:relative}#comments-list li.alt{background:#fff}#comments-list li.bypostauthor{background:#ffc}#comments-list ul li{border:1px solid #ccc;margin:0 0 18px}#comments-list li .avatar{position:absolute;top:22px;left:1.5em;width:36px;height:36px}#comments-list .comment-author{font-weight:700;padding:9px 0 0}#comments-list .comment-meta{color:#666;font-size:11px;padding:0 0 9px}#comments-list .comment-meta a{color:#666;font-style:italic;text-decoration:none}#comments-list .comment-meta a:active,#comments-list .comment-meta a:hover{color:#ff4b33}.comment-reply-link{font-size:11px;padding:0 0 18px;text-align:right}.comment-reply-link a{color:#666;font-style:italic;text-decoration:none}.comment-reply-link a:active,.comment-reply-link a:hover{color:#ff4b33}.comment-navigation{font-weight:700;padding:0 0 18px;margin-right:.5em}.comment-navigation a{border:1px solid #ccc;color:#666;font-weight:400;padding:.5em .75em;text-decoration:none}.comment-navigation a:active,.comment-navigation a:hover{color:#ff4b33}.comment-navigation a,.comment-navigation span{margin-right:.5em}#trackbacks-list .comment-content{position:absolute;left:-9000px}#respond{background:#fff;margin-bottom:22px;overflow:hidden;padding:18px 0 0;position:relative}#comments-list #respond{border-bottom:1px solid #ccc;margin:0 0 18px;padding:18px 1.5em}#comments-list ul #respond{border:1px solid #ccc;margin:0}#cancel-comment-reply{font-size:11px;position:absolute;top:18px;right:1.5em}#cancel-comment-reply a{color:#666}#respond .required{color:#ff4b33;font-weight:700}.form-section label{font-size:11px}.form-section input{margin:0 0 18px;width:98%}.form-section textarea{width:99%}#form-allowed-tags p{color:#666;font-size:11px;margin:0}#form-allowed-tags span{font-style:italic}.form-submit{padding:18px 0 0;text-align:right}.subscribe-to-comments{color:#666;float:left;font-size:11px;margin:0;padding:18px 0 0}.solo-subscribe-to-comments{color:#666;font-size:11px;padding:18px 0 0}.comment_license{color:#666;clear:both;font-size:11px;margin:0;padding:18px 0 0}.aside,.aside input{font-size:13px;line-height:18px;margin-bottom:6px}.aside p,.aside ul,.aside ol,.aside dd,.aside pre{margin-bottom:18px}.aside pre,.aside code{font-size:12px;line-height:18px}.aside .current_page_item a{color:#ff4b33}.aside .current_page_item .page_item a{color:#666}.aside .current_page_item .page_item a:hover,.aside .current_page_item .page_item a:active{color:#ff4b33}.aside{color:#666}.aside a{color:#666}.aside a:active,.aside a:hover{color:#ff4b33}.aside h3{font-size:15px;font-style:italic;line-height:22px}.aside h3 a{text-decoration:none}.aside caption{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em}.aside ul{list-style:none;margin-left:0}.aside ul ul{list-style:disc;margin:0 0 22px 20px}.aside ul ul li{padding:1px 0}.aside ul ul ul{margin-bottom:0}.aside form,.aside table{margin-bottom:22px}.aside table{border:none}.aside thead{border:1px solid #ccc}.aside tbody{border:1px solid #ccc}.aside th,.aside td{border-right:1px solid #ccc;padding:.25em .8em}.aside tfoot tr{border:none}.aside tfoot td{border-color:transparent}.widget_tag_cloud{margin:0 0 22px}.main-aside ul{padding:0 20px}.main-aside ul ul{padding:0}#primary{border:1px solid #ccc;padding:18px 0 0;margin-bottom:22px}#content .aside{border:1px solid #ccc;margin:0 0 22px;padding:18px 0 0}#content .aside ul{padding:0 20px}#content .aside h3{font-family:Georgia,serif;font-weight:400;font-size:17px;font-style:italic;padding:0 0 7px;text-transform:none}#content .aside ul ul{padding:0}#subsidiary{padding:33px 0 0}#footer{border-top:1px solid #ccc;margin-top:22px}#siteinfo{color:#666;font-size:11px;line-height:18px;padding:22px 0 44px}#siteinfo a{color:#666}#siteinfo a:active,#siteinfo a:hover{color:#ff4b33}.wp-pagenavi{margin:0 0 0 -.5em;padding:.5em 0}.wp-pagenavi a,.wp-pagenavi a:link{border:1px solid #ccc !important;color:#666!important;font-style:normal;margin:0 .375em !important;padding:.5em .25em !important}.wp-pagenavi a:visited{border:1px solid #ccc !important;color:#666 !important}.wp-pagenavi a:hover{border:1px solid #ccc !important;color:#ff4b33 !important}.wp-pagenavi a:active{border:1px solid #ccc !important;color:#ff4b33 !important}.wp-pagenavi span.pages{border:none !important;color:#666 !important;margin:0 !important;padding:0 !important}.wp-pagenavi span.current{border:none !important;color:#666 !important;font-weight:400 !important;margin:0 !important;padding:0 !important}.wp-pagenavi span.extend{background-color:#fff;border:1px solid #000;color:#000;margin:2px;padding:2px 4px}.edit-comment{margin-bottom:18px}img#wpstats{width:0;height:0;overflow:hidden}.entry-content img{margin:0;max-width:100%}.alignleft,img.alignleft{float:left;margin-right:20px}.alignright,img.alignright{display:block;float:right;margin-left:20px}.aligncenter,img.aligncenter{margin-left:auto;margin-right:auto;display:block;clear:both}.wp-caption{text-align:center;margin-bottom:18px}.wp-caption img{margin:0;padding:0;border:0 none}.wp-caption p.wp-caption-text{margin:0;padding:5px}.gallery img{margin:0}.wp-smiley{max-height:12px;margin:0 !important}table.gtable{font:76% Verdana,Tahoma,Arial,sans-serif;border:1px #aaa solid;border-collapse:collapse}.gtable th,.gtable td{padding:.2em}.gtable th{background:#f2f2f2;text-align:center}.gtable caption{margin-left:inherit;margin-right:inherit} img.wp-smiley,img.emoji{display:inline !important;border:none !important;box-shadow:none !important;height:1em !important;width:1em !important;margin:0 .07em !important;vertical-align:-.1em !important;background:0 0 !important;padding:0 !important} .ql-img-inline-formula{background:0 0 !important;border:none !important;padding:0 !important;margin:0 !important}.ql-img-displayed-equation{background:0 0 !important;border:none !important;padding:0 !important;margin:0 !important;vertical-align:middle !important;display:inline-block !important}.ql-img-picture{background:0 0 !important;border:none !important;padding:0 !important;margin:0 !important}.ql-center-displayed-equation{text-align:center !important;white-space:nowrap !important;overflow:hidden !important}.ql-left-displayed-equation{text-align:left !important;white-space:nowrap !important;overflow:hidden !important}.ql-right-displayed-equation{text-align:right !important;white-space:nowrap !important;overflow:hidden !important}.ql-left-eqno{width:3em !important;text-align:left !important;float:left !important;display:inline-block !important;font-size:110% !important}.ql-right-eqno{width:3em !important;text-align:right !important;float:right !important;display:inline-block !important;font-size:110% !important}.ql-center-picture{border:none !important;text-align:center !important;background:0 0 !important}.ql-errors{color:#222;font-family:Georgia,"Bitstream Charter",serif;font-size:16px;border:1px solid red}.ql-manual-mode{background:0 0;border:none;padding:0;margin:0} .wp-block-audio figcaption{margin-top:.5em;margin-bottom:1em}.wp-block-audio audio{width:100%;min-width:300px}.wp-block-button{color:#fff}.wp-block-button.aligncenter{text-align:center}.wp-block-button.alignright{text-align:right}.wp-block-button__link{background-color:#32373c;border:none;border-radius:28px;box-shadow:none;color:inherit;cursor:pointer;display:inline-block;font-size:18px;margin:0;padding:12px 24px;text-align:center;text-decoration:none;overflow-wrap:break-word}.wp-block-button__link:active,.wp-block-button__link:focus,.wp-block-button__link:hover,.wp-block-button__link:visited{color:inherit}.is-style-squared .wp-block-button__link{border-radius:0}.no-border-radius.wp-block-button__link{border-radius:0!important}.is-style-outline{color:#32373c}.is-style-outline .wp-block-button__link{background-color:transparent;border:2px solid}.wp-block-calendar{text-align:center}.wp-block-calendar tbody td,.wp-block-calendar th{padding:4px;border:1px solid #e2e4e7}.wp-block-calendar tfoot td{border:none}.wp-block-calendar table{width:100%;border-collapse:collapse;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif}.wp-block-calendar table th{font-weight:400;background:#edeff0}.wp-block-calendar a{text-decoration:underline}.wp-block-calendar tfoot a{color:#00739c}.wp-block-calendar table caption,.wp-block-calendar table tbody{color:#40464d}.wp-block-categories.alignleft{margin-right:2em}.wp-block-categories.alignright{margin-left:2em}.wp-block-columns{display:flex;margin-bottom:28px;flex-wrap:wrap}@media (min-width:782px){.wp-block-columns{flex-wrap:nowrap}}.wp-block-column{flex-grow:1;min-width:0;word-break:break-word;overflow-wrap:break-word}@media (max-width:599px){.wp-block-column{flex-basis:100%!important}}@media (min-width:600px){.wp-block-column{flex-basis:calc(50% - 16px);flex-grow:0}.wp-block-column:nth-child(2n){margin-left:32px}}@media (min-width:782px){.wp-block-column:not(:first-child){margin-left:32px}}.wp-block-columns.are-vertically-aligned-top{align-items:flex-start}.wp-block-columns.are-vertically-aligned-center{align-items:center}.wp-block-columns.are-vertically-aligned-bottom{align-items:flex-end}.wp-block-column.is-vertically-aligned-top{align-self:flex-start}.wp-block-column.is-vertically-aligned-center{-ms-grid-row-align:center;align-self:center}.wp-block-column.is-vertically-aligned-bottom{align-self:flex-end}.wp-block-cover,.wp-block-cover-image{position:relative;background-color:#000;background-size:cover;background-position:50%;min-height:430px;height:100%;width:100%;display:flex;justify-content:center;align-items:center;overflow:hidden}.wp-block-cover-image.has-parallax,.wp-block-cover.has-parallax{background-attachment:fixed}@supports (-webkit-overflow-scrolling:touch){.wp-block-cover-image.has-parallax,.wp-block-cover.has-parallax{background-attachment:scroll}}@media (prefers-reduced-motion:reduce){.wp-block-cover-image.has-parallax,.wp-block-cover.has-parallax{background-attachment:scroll}}.wp-block-cover-image.has-background-dim:before,.wp-block-cover.has-background-dim:before{content:"";position:absolute;top:0;left:0;bottom:0;right:0;background-color:inherit;opacity:.5;z-index:1}.wp-block-cover-image.has-background-dim.has-background-dim-10:before,.wp-block-cover.has-background-dim.has-background-dim-10:before{opacity:.1}.wp-block-cover-image.has-background-dim.has-background-dim-20:before,.wp-block-cover.has-background-dim.has-background-dim-20:before{opacity:.2}.wp-block-cover-image.has-background-dim.has-background-dim-30:before,.wp-block-cover.has-background-dim.has-background-dim-30:before{opacity:.3}.wp-block-cover-image.has-background-dim.has-background-dim-40:before,.wp-block-cover.has-background-dim.has-background-dim-40:before{opacity:.4}.wp-block-cover-image.has-background-dim.has-background-dim-50:before,.wp-block-cover.has-background-dim.has-background-dim-50:before{opacity:.5}.wp-block-cover-image.has-background-dim.has-background-dim-60:before,.wp-block-cover.has-background-dim.has-background-dim-60:before{opacity:.6}.wp-block-cover-image.has-background-dim.has-background-dim-70:before,.wp-block-cover.has-background-dim.has-background-dim-70:before{opacity:.7}.wp-block-cover-image.has-background-dim.has-background-dim-80:before,.wp-block-cover.has-background-dim.has-background-dim-80:before{opacity:.8}.wp-block-cover-image.has-background-dim.has-background-dim-90:before,.wp-block-cover.has-background-dim.has-background-dim-90:before{opacity:.9}.wp-block-cover-image.has-background-dim.has-background-dim-100:before,.wp-block-cover.has-background-dim.has-background-dim-100:before{opacity:1}.wp-block-cover-image.alignleft,.wp-block-cover-image.alignright,.wp-block-cover.alignleft,.wp-block-cover.alignright{max-width:305px;width:100%}.wp-block-cover-image:after,.wp-block-cover:after{display:block;content:"";font-size:0;min-height:inherit}@supports (position:sticky){.wp-block-cover-image:after,.wp-block-cover:after{content:none}}.wp-block-cover-image.aligncenter,.wp-block-cover-image.alignleft,.wp-block-cover-image.alignright,.wp-block-cover.aligncenter,.wp-block-cover.alignleft,.wp-block-cover.alignright{display:flex}.wp-block-cover-image .wp-block-cover__inner-container,.wp-block-cover .wp-block-cover__inner-container{width:calc(100% - 70px);z-index:1;color:#f8f9f9}.wp-block-cover-image .wp-block-subhead:not(.has-text-color),.wp-block-cover-image h1:not(.has-text-color),.wp-block-cover-image h2:not(.has-text-color),.wp-block-cover-image h3:not(.has-text-color),.wp-block-cover-image h4:not(.has-text-color),.wp-block-cover-image h5:not(.has-text-color),.wp-block-cover-image h6:not(.has-text-color),.wp-block-cover-image p:not(.has-text-color),.wp-block-cover .wp-block-subhead:not(.has-text-color),.wp-block-cover h1:not(.has-text-color),.wp-block-cover h2:not(.has-text-color),.wp-block-cover h3:not(.has-text-color),.wp-block-cover h4:not(.has-text-color),.wp-block-cover h5:not(.has-text-color),.wp-block-cover h6:not(.has-text-color),.wp-block-cover p:not(.has-text-color){color:inherit}.wp-block-cover__video-background{position:absolute;top:50%;left:50%;transform:translateX(-50%) translateY(-50%);width:100%;height:100%;z-index:0;-o-object-fit:cover;object-fit:cover}.wp-block-cover-image-text,.wp-block-cover-text,section.wp-block-cover-image h2{color:#fff}.wp-block-cover-image-text a,.wp-block-cover-image-text a:active,.wp-block-cover-image-text a:focus,.wp-block-cover-image-text a:hover,.wp-block-cover-text a,.wp-block-cover-text a:active,.wp-block-cover-text a:focus,.wp-block-cover-text a:hover,section.wp-block-cover-image h2 a,section.wp-block-cover-image h2 a:active,section.wp-block-cover-image h2 a:focus,section.wp-block-cover-image h2 a:hover{color:#fff}.wp-block-cover-image .wp-block-cover.has-left-content{justify-content:flex-start}.wp-block-cover-image .wp-block-cover.has-right-content{justify-content:flex-end}.wp-block-cover-image.has-left-content .wp-block-cover-image-text,.wp-block-cover.has-left-content .wp-block-cover-text,section.wp-block-cover-image.has-left-content>h2{margin-left:0;text-align:left}.wp-block-cover-image.has-right-content .wp-block-cover-image-text,.wp-block-cover.has-right-content .wp-block-cover-text,section.wp-block-cover-image.has-right-content>h2{margin-right:0;text-align:right}.wp-block-cover-image .wp-block-cover-image-text,.wp-block-cover .wp-block-cover-text,section.wp-block-cover-image>h2{font-size:2em;line-height:1.25;z-index:1;margin-bottom:0;max-width:610px;padding:14px;text-align:center}.block-editor-block-list__block[data-type="core/embed"][data-align=left] .block-editor-block-list__block-edit,.block-editor-block-list__block[data-type="core/embed"][data-align=right] .block-editor-block-list__block-edit,.wp-block-embed.alignleft,.wp-block-embed.alignright{max-width:360px;width:100%}.wp-block-embed{margin-bottom:1em}.wp-block-embed figcaption{margin-top:.5em;margin-bottom:1em}.wp-embed-responsive .wp-block-embed.wp-embed-aspect-1-1 .wp-block-embed__wrapper,.wp-embed-responsive .wp-block-embed.wp-embed-aspect-1-2 .wp-block-embed__wrapper,.wp-embed-responsive .wp-block-embed.wp-embed-aspect-4-3 .wp-block-embed__wrapper,.wp-embed-responsive .wp-block-embed.wp-embed-aspect-9-16 .wp-block-embed__wrapper,.wp-embed-responsive .wp-block-embed.wp-embed-aspect-16-9 .wp-block-embed__wrapper,.wp-embed-responsive .wp-block-embed.wp-embed-aspect-18-9 .wp-block-embed__wrapper,.wp-embed-responsive .wp-block-embed.wp-embed-aspect-21-9 .wp-block-embed__wrapper{position:relative}.wp-embed-responsive .wp-block-embed.wp-embed-aspect-1-1 .wp-block-embed__wrapper:before,.wp-embed-responsive .wp-block-embed.wp-embed-aspect-1-2 .wp-block-embed__wrapper:before,.wp-embed-responsive .wp-block-embed.wp-embed-aspect-4-3 .wp-block-embed__wrapper:before,.wp-embed-responsive .wp-block-embed.wp-embed-aspect-9-16 .wp-block-embed__wrapper:before,.wp-embed-responsive .wp-block-embed.wp-embed-aspect-16-9 .wp-block-embed__wrapper:before,.wp-embed-responsive .wp-block-embed.wp-embed-aspect-18-9 .wp-block-embed__wrapper:before,.wp-embed-responsive .wp-block-embed.wp-embed-aspect-21-9 .wp-block-embed__wrapper:before{content:"";display:block;padding-top:50%}.wp-embed-responsive .wp-block-embed.wp-embed-aspect-1-1 .wp-block-embed__wrapper iframe,.wp-embed-responsive .wp-block-embed.wp-embed-aspect-1-2 .wp-block-embed__wrapper iframe,.wp-embed-responsive .wp-block-embed.wp-embed-aspect-4-3 .wp-block-embed__wrapper iframe,.wp-embed-responsive .wp-block-embed.wp-embed-aspect-9-16 .wp-block-embed__wrapper iframe,.wp-embed-responsive .wp-block-embed.wp-embed-aspect-16-9 .wp-block-embed__wrapper iframe,.wp-embed-responsive .wp-block-embed.wp-embed-aspect-18-9 .wp-block-embed__wrapper iframe,.wp-embed-responsive .wp-block-embed.wp-embed-aspect-21-9 .wp-block-embed__wrapper iframe{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.wp-embed-responsive .wp-block-embed.wp-embed-aspect-21-9 .wp-block-embed__wrapper:before{padding-top:42.85%}.wp-embed-responsive .wp-block-embed.wp-embed-aspect-18-9 .wp-block-embed__wrapper:before{padding-top:50%}.wp-embed-responsive .wp-block-embed.wp-embed-aspect-16-9 .wp-block-embed__wrapper:before{padding-top:56.25%}.wp-embed-responsive .wp-block-embed.wp-embed-aspect-4-3 .wp-block-embed__wrapper:before{padding-top:75%}.wp-embed-responsive .wp-block-embed.wp-embed-aspect-1-1 .wp-block-embed__wrapper:before{padding-top:100%}.wp-embed-responsive .wp-block-embed.wp-embed-aspect-9-16 .wp-block-embed__wrapper:before{padding-top:177.78%}.wp-embed-responsive .wp-block-embed.wp-embed-aspect-1-2 .wp-block-embed__wrapper:before{padding-top:200%}.wp-block-file{margin-bottom:1.5em}.wp-block-file.aligncenter{text-align:center}.wp-block-file.alignright{text-align:right}.wp-block-file .wp-block-file__button{background:#32373c;border-radius:2em;color:#fff;font-size:13px;padding:.5em 1em}.wp-block-file a.wp-block-file__button{text-decoration:none}.wp-block-file a.wp-block-file__button:active,.wp-block-file a.wp-block-file__button:focus,.wp-block-file a.wp-block-file__button:hover,.wp-block-file a.wp-block-file__button:visited{box-shadow:none;color:#fff;opacity:.85;text-decoration:none}.wp-block-file *+.wp-block-file__button{margin-left:.75em}.blocks-gallery-grid,.wp-block-gallery{display:flex;flex-wrap:wrap;list-style-type:none;padding:0;margin:0}.blocks-gallery-grid .blocks-gallery-image,.blocks-gallery-grid .blocks-gallery-item,.wp-block-gallery .blocks-gallery-image,.wp-block-gallery .blocks-gallery-item{margin:0 16px 16px 0;display:flex;flex-grow:1;flex-direction:column;justify-content:center;position:relative}.blocks-gallery-grid .blocks-gallery-image figure,.blocks-gallery-grid .blocks-gallery-item figure,.wp-block-gallery .blocks-gallery-image figure,.wp-block-gallery .blocks-gallery-item figure{margin:0;height:100%}@supports (position:sticky){.blocks-gallery-grid .blocks-gallery-image figure,.blocks-gallery-grid .blocks-gallery-item figure,.wp-block-gallery .blocks-gallery-image figure,.wp-block-gallery .blocks-gallery-item figure{display:flex;align-items:flex-end;justify-content:flex-start}}.blocks-gallery-grid .blocks-gallery-image img,.blocks-gallery-grid .blocks-gallery-item img,.wp-block-gallery .blocks-gallery-image img,.wp-block-gallery .blocks-gallery-item img{display:block;max-width:100%;height:auto;width:100%}@supports (position:sticky){.blocks-gallery-grid .blocks-gallery-image img,.blocks-gallery-grid .blocks-gallery-item img,.wp-block-gallery .blocks-gallery-image img,.wp-block-gallery .blocks-gallery-item img{width:auto}}.blocks-gallery-grid .blocks-gallery-image figcaption,.blocks-gallery-grid .blocks-gallery-item figcaption,.wp-block-gallery .blocks-gallery-image figcaption,.wp-block-gallery .blocks-gallery-item figcaption{position:absolute;bottom:0;width:100%;max-height:100%;overflow:auto;padding:40px 10px 9px;color:#fff;text-align:center;font-size:13px;background:linear-gradient(0deg,rgba(0,0,0,.7),rgba(0,0,0,.3) 70%,transparent)}.blocks-gallery-grid .blocks-gallery-image figcaption img,.blocks-gallery-grid .blocks-gallery-item figcaption img,.wp-block-gallery .blocks-gallery-image figcaption img,.wp-block-gallery .blocks-gallery-item figcaption img{display:inline}.blocks-gallery-grid.is-cropped .blocks-gallery-image a,.blocks-gallery-grid.is-cropped .blocks-gallery-image img,.blocks-gallery-grid.is-cropped .blocks-gallery-item a,.blocks-gallery-grid.is-cropped .blocks-gallery-item img,.wp-block-gallery.is-cropped .blocks-gallery-image a,.wp-block-gallery.is-cropped .blocks-gallery-image img,.wp-block-gallery.is-cropped .blocks-gallery-item a,.wp-block-gallery.is-cropped .blocks-gallery-item img{width:100%}@supports (position:sticky){.blocks-gallery-grid.is-cropped .blocks-gallery-image a,.blocks-gallery-grid.is-cropped .blocks-gallery-image img,.blocks-gallery-grid.is-cropped .blocks-gallery-item a,.blocks-gallery-grid.is-cropped .blocks-gallery-item img,.wp-block-gallery.is-cropped .blocks-gallery-image a,.wp-block-gallery.is-cropped .blocks-gallery-image img,.wp-block-gallery.is-cropped .blocks-gallery-item a,.wp-block-gallery.is-cropped .blocks-gallery-item img{height:100%;flex:1;-o-object-fit:cover;object-fit:cover}}.blocks-gallery-grid .blocks-gallery-image,.blocks-gallery-grid .blocks-gallery-item,.wp-block-gallery .blocks-gallery-image,.wp-block-gallery .blocks-gallery-item{width:calc((100% - 16px)/2)}.blocks-gallery-grid .blocks-gallery-image:nth-of-type(2n),.blocks-gallery-grid .blocks-gallery-item:nth-of-type(2n),.wp-block-gallery .blocks-gallery-image:nth-of-type(2n),.wp-block-gallery .blocks-gallery-item:nth-of-type(2n){margin-right:0}.blocks-gallery-grid.columns-1 .blocks-gallery-image,.blocks-gallery-grid.columns-1 .blocks-gallery-item,.wp-block-gallery.columns-1 .blocks-gallery-image,.wp-block-gallery.columns-1 .blocks-gallery-item{width:100%;margin-right:0}@media (min-width:600px){.blocks-gallery-grid.columns-3 .blocks-gallery-image,.blocks-gallery-grid.columns-3 .blocks-gallery-item,.wp-block-gallery.columns-3 .blocks-gallery-image,.wp-block-gallery.columns-3 .blocks-gallery-item{width:calc((100% - 32px)/3);margin-right:16px}@supports (-ms-ime-align:auto){.blocks-gallery-grid.columns-3 .blocks-gallery-image,.blocks-gallery-grid.columns-3 .blocks-gallery-item,.wp-block-gallery.columns-3 .blocks-gallery-image,.wp-block-gallery.columns-3 .blocks-gallery-item{width:calc((100% - 32px)/3 - 1px)}}.blocks-gallery-grid.columns-4 .blocks-gallery-image,.blocks-gallery-grid.columns-4 .blocks-gallery-item,.wp-block-gallery.columns-4 .blocks-gallery-image,.wp-block-gallery.columns-4 .blocks-gallery-item{width:calc((100% - 48px)/4);margin-right:16px}@supports (-ms-ime-align:auto){.blocks-gallery-grid.columns-4 .blocks-gallery-image,.blocks-gallery-grid.columns-4 .blocks-gallery-item,.wp-block-gallery.columns-4 .blocks-gallery-image,.wp-block-gallery.columns-4 .blocks-gallery-item{width:calc((100% - 48px)/4 - 1px)}}.blocks-gallery-grid.columns-5 .blocks-gallery-image,.blocks-gallery-grid.columns-5 .blocks-gallery-item,.wp-block-gallery.columns-5 .blocks-gallery-image,.wp-block-gallery.columns-5 .blocks-gallery-item{width:calc((100% - 64px)/5);margin-right:16px}@supports (-ms-ime-align:auto){.blocks-gallery-grid.columns-5 .blocks-gallery-image,.blocks-gallery-grid.columns-5 .blocks-gallery-item,.wp-block-gallery.columns-5 .blocks-gallery-image,.wp-block-gallery.columns-5 .blocks-gallery-item{width:calc((100% - 64px)/5 - 1px)}}.blocks-gallery-grid.columns-6 .blocks-gallery-image,.blocks-gallery-grid.columns-6 .blocks-gallery-item,.wp-block-gallery.columns-6 .blocks-gallery-image,.wp-block-gallery.columns-6 .blocks-gallery-item{width:calc((100% - 80px)/6);margin-right:16px}@supports (-ms-ime-align:auto){.blocks-gallery-grid.columns-6 .blocks-gallery-image,.blocks-gallery-grid.columns-6 .blocks-gallery-item,.wp-block-gallery.columns-6 .blocks-gallery-image,.wp-block-gallery.columns-6 .blocks-gallery-item{width:calc((100% - 80px)/6 - 1px)}}.blocks-gallery-grid.columns-7 .blocks-gallery-image,.blocks-gallery-grid.columns-7 .blocks-gallery-item,.wp-block-gallery.columns-7 .blocks-gallery-image,.wp-block-gallery.columns-7 .blocks-gallery-item{width:calc((100% - 96px)/7);margin-right:16px}@supports (-ms-ime-align:auto){.blocks-gallery-grid.columns-7 .blocks-gallery-image,.blocks-gallery-grid.columns-7 .blocks-gallery-item,.wp-block-gallery.columns-7 .blocks-gallery-image,.wp-block-gallery.columns-7 .blocks-gallery-item{width:calc((100% - 96px)/7 - 1px)}}.blocks-gallery-grid.columns-8 .blocks-gallery-image,.blocks-gallery-grid.columns-8 .blocks-gallery-item,.wp-block-gallery.columns-8 .blocks-gallery-image,.wp-block-gallery.columns-8 .blocks-gallery-item{width:calc((100% - 112px)/8);margin-right:16px}@supports (-ms-ime-align:auto){.blocks-gallery-grid.columns-8 .blocks-gallery-image,.blocks-gallery-grid.columns-8 .blocks-gallery-item,.wp-block-gallery.columns-8 .blocks-gallery-image,.wp-block-gallery.columns-8 .blocks-gallery-item{width:calc((100% - 112px)/8 - 1px)}}.blocks-gallery-grid.columns-1 .blocks-gallery-image:nth-of-type(1n),.blocks-gallery-grid.columns-1 .blocks-gallery-item:nth-of-type(1n),.wp-block-gallery.columns-1 .blocks-gallery-image:nth-of-type(1n),.wp-block-gallery.columns-1 .blocks-gallery-item:nth-of-type(1n){margin-right:0}.blocks-gallery-grid.columns-2 .blocks-gallery-image:nth-of-type(2n),.blocks-gallery-grid.columns-2 .blocks-gallery-item:nth-of-type(2n),.wp-block-gallery.columns-2 .blocks-gallery-image:nth-of-type(2n),.wp-block-gallery.columns-2 .blocks-gallery-item:nth-of-type(2n){margin-right:0}.blocks-gallery-grid.columns-3 .blocks-gallery-image:nth-of-type(3n),.blocks-gallery-grid.columns-3 .blocks-gallery-item:nth-of-type(3n),.wp-block-gallery.columns-3 .blocks-gallery-image:nth-of-type(3n),.wp-block-gallery.columns-3 .blocks-gallery-item:nth-of-type(3n){margin-right:0}.blocks-gallery-grid.columns-4 .blocks-gallery-image:nth-of-type(4n),.blocks-gallery-grid.columns-4 .blocks-gallery-item:nth-of-type(4n),.wp-block-gallery.columns-4 .blocks-gallery-image:nth-of-type(4n),.wp-block-gallery.columns-4 .blocks-gallery-item:nth-of-type(4n){margin-right:0}.blocks-gallery-grid.columns-5 .blocks-gallery-image:nth-of-type(5n),.blocks-gallery-grid.columns-5 .blocks-gallery-item:nth-of-type(5n),.wp-block-gallery.columns-5 .blocks-gallery-image:nth-of-type(5n),.wp-block-gallery.columns-5 .blocks-gallery-item:nth-of-type(5n){margin-right:0}.blocks-gallery-grid.columns-6 .blocks-gallery-image:nth-of-type(6n),.blocks-gallery-grid.columns-6 .blocks-gallery-item:nth-of-type(6n),.wp-block-gallery.columns-6 .blocks-gallery-image:nth-of-type(6n),.wp-block-gallery.columns-6 .blocks-gallery-item:nth-of-type(6n){margin-right:0}.blocks-gallery-grid.columns-7 .blocks-gallery-image:nth-of-type(7n),.blocks-gallery-grid.columns-7 .blocks-gallery-item:nth-of-type(7n),.wp-block-gallery.columns-7 .blocks-gallery-image:nth-of-type(7n),.wp-block-gallery.columns-7 .blocks-gallery-item:nth-of-type(7n){margin-right:0}.blocks-gallery-grid.columns-8 .blocks-gallery-image:nth-of-type(8n),.blocks-gallery-grid.columns-8 .blocks-gallery-item:nth-of-type(8n),.wp-block-gallery.columns-8 .blocks-gallery-image:nth-of-type(8n),.wp-block-gallery.columns-8 .blocks-gallery-item:nth-of-type(8n){margin-right:0}}.blocks-gallery-grid .blocks-gallery-image:last-child,.blocks-gallery-grid .blocks-gallery-item:last-child,.wp-block-gallery .blocks-gallery-image:last-child,.wp-block-gallery .blocks-gallery-item:last-child{margin-right:0}.blocks-gallery-grid.alignleft,.blocks-gallery-grid.alignright,.wp-block-gallery.alignleft,.wp-block-gallery.alignright{max-width:305px;width:100%}.blocks-gallery-grid.aligncenter .blocks-gallery-item figure,.wp-block-gallery.aligncenter .blocks-gallery-item figure{justify-content:center}.wp-block-image{max-width:100%;margin-bottom:1em}.wp-block-image img{max-width:100%}.wp-block-image.aligncenter{text-align:center}.wp-block-image.alignfull img,.wp-block-image.alignwide img{width:100%}.wp-block-image .aligncenter,.wp-block-image .alignleft,.wp-block-image .alignright,.wp-block-image.is-resized{display:table;margin-left:0;margin-right:0}.wp-block-image .aligncenter>figcaption,.wp-block-image .alignleft>figcaption,.wp-block-image .alignright>figcaption,.wp-block-image.is-resized>figcaption{display:table-caption;caption-side:bottom}.wp-block-image .alignleft{float:left;margin-right:1em}.wp-block-image .alignright{float:right;margin-left:1em}.wp-block-image .aligncenter{margin-left:auto;margin-right:auto}.wp-block-image figcaption{margin-top:.5em;margin-bottom:1em}.is-style-circle-mask img{border-radius:9999px}@supports (mask-image:none) or (-webkit-mask-image:none){.is-style-circle-mask img{mask-image:url('data:image/svg+xml;utf8,<svg viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg"><circle cx="50" cy="50" r="50"/></svg>');mask-mode:alpha;mask-repeat:no-repeat;mask-size:contain;mask-position:center;border-radius:none}}.wp-block-latest-comments__comment{font-size:15px;line-height:1.1;list-style:none;margin-bottom:1em}.has-avatars .wp-block-latest-comments__comment{min-height:36px;list-style:none}.has-avatars .wp-block-latest-comments__comment .wp-block-latest-comments__comment-excerpt,.has-avatars .wp-block-latest-comments__comment .wp-block-latest-comments__comment-meta{margin-left:52px}.has-dates .wp-block-latest-comments__comment,.has-excerpts .wp-block-latest-comments__comment{line-height:1.5}.wp-block-latest-comments__comment-excerpt p{font-size:14px;line-height:1.8;margin:5px 0 20px}.wp-block-latest-comments__comment-date{color:#8f98a1;display:block;font-size:12px}.wp-block-latest-comments .avatar,.wp-block-latest-comments__comment-avatar{border-radius:24px;display:block;float:left;height:40px;margin-right:12px;width:40px}.wp-block-latest-posts.alignleft{margin-right:2em}.wp-block-latest-posts.alignright{margin-left:2em}.wp-block-latest-posts.wp-block-latest-posts__list{list-style:none}.wp-block-latest-posts.is-grid{display:flex;flex-wrap:wrap;padding:0}.wp-block-latest-posts.is-grid li{margin:0 16px 16px 0;width:100%}@media (min-width:600px){.wp-block-latest-posts.columns-2 li{width:calc(50% - 16px)}.wp-block-latest-posts.columns-3 li{width:calc(33.33333% - 16px)}.wp-block-latest-posts.columns-4 li{width:calc(25% - 16px)}.wp-block-latest-posts.columns-5 li{width:calc(20% - 16px)}.wp-block-latest-posts.columns-6 li{width:calc(16.66667% - 16px)}}.wp-block-latest-posts__post-date{display:block;color:#6c7781;font-size:13px}.wp-block-latest-posts__post-excerpt{margin-top:8px;margin-bottom:16px}.wp-block-media-text{display:-ms-grid;display:grid;-ms-grid-rows:auto;grid-template-rows:auto;-ms-grid-columns:50% 1fr;grid-template-columns:50% 1fr}.wp-block-media-text .has-media-on-the-right{-ms-grid-columns:1fr 50%;grid-template-columns:1fr 50%}.wp-block-media-text.is-vertically-aligned-top .wp-block-media-text__content,.wp-block-media-text.is-vertically-aligned-top .wp-block-media-text__media{-ms-grid-row-align:start;align-self:start}.wp-block-media-text.is-vertically-aligned-center .wp-block-media-text__content,.wp-block-media-text.is-vertically-aligned-center .wp-block-media-text__media,.wp-block-media-text .wp-block-media-text__content,.wp-block-media-text .wp-block-media-text__media{-ms-grid-row-align:center;align-self:center}.wp-block-media-text.is-vertically-aligned-bottom .wp-block-media-text__content,.wp-block-media-text.is-vertically-aligned-bottom .wp-block-media-text__media{-ms-grid-row-align:end;align-self:end}.wp-block-media-text .wp-block-media-text__media{-ms-grid-column:1;grid-column:1;-ms-grid-row:1;grid-row:1;margin:0}.wp-block-media-text .wp-block-media-text__content{word-break:break-word;padding:0 8%}.wp-block-media-text.has-media-on-the-right .wp-block-media-text__media,.wp-block-media-text .wp-block-media-text__content{-ms-grid-column:2;grid-column:2;-ms-grid-row:1;grid-row:1}.wp-block-media-text.has-media-on-the-right .wp-block-media-text__content{-ms-grid-column:1;grid-column:1;-ms-grid-row:1;grid-row:1}.wp-block-media-text>figure>img,.wp-block-media-text>figure>video{max-width:unset;width:100%;vertical-align:middle}.wp-block-media-text.is-image-fill figure{height:100%;min-height:250px;background-size:cover}.wp-block-media-text.is-image-fill figure>img{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}@media (max-width:600px){.wp-block-media-text.is-stacked-on-mobile{-ms-grid-columns:100%!important;grid-template-columns:100%!important}.wp-block-media-text.is-stacked-on-mobile .wp-block-media-text__media{-ms-grid-column:1;grid-column:1;-ms-grid-row:1;grid-row:1}.wp-block-media-text.is-stacked-on-mobile.has-media-on-the-right .wp-block-media-text__media,.wp-block-media-text.is-stacked-on-mobile .wp-block-media-text__content{-ms-grid-column:1;grid-column:1;-ms-grid-row:2;grid-row:2}.wp-block-media-text.is-stacked-on-mobile.has-media-on-the-right .wp-block-media-text__content{-ms-grid-column:1;grid-column:1;-ms-grid-row:1;grid-row:1}}.is-small-text{font-size:14px}.is-regular-text{font-size:16px}.is-large-text{font-size:36px}.is-larger-text{font-size:48px}.has-drop-cap:not(:focus):first-letter{float:left;font-size:8.4em;line-height:.68;font-weight:100;margin:.05em .1em 0 0;text-transform:uppercase;font-style:normal}.has-drop-cap:not(:focus):after{content:"";display:table;clear:both;padding-top:14px}p.has-background{padding:20px 30px}p.has-text-color a{color:inherit}.wp-block-pullquote{padding:3em 0;margin-left:0;margin-right:0;text-align:center}.wp-block-pullquote.alignleft,.wp-block-pullquote.alignright{max-width:305px}.wp-block-pullquote.alignleft p,.wp-block-pullquote.alignright p{font-size:20px}.wp-block-pullquote p{font-size:28px;line-height:1.6}.wp-block-pullquote cite,.wp-block-pullquote footer{position:relative}.wp-block-pullquote .has-text-color a{color:inherit}.wp-block-pullquote:not(.is-style-solid-color){background:none}.wp-block-pullquote.is-style-solid-color{border:none}.wp-block-pullquote.is-style-solid-color blockquote{margin-left:auto;margin-right:auto;text-align:left;max-width:60%}.wp-block-pullquote.is-style-solid-color blockquote p{margin-top:0;margin-bottom:0;font-size:32px}.wp-block-pullquote.is-style-solid-color blockquote cite{text-transform:none;font-style:normal}.wp-block-pullquote cite{color:inherit}.wp-block-quote.is-large,.wp-block-quote.is-style-large{margin:0 0 16px;padding:0 1em}.wp-block-quote.is-large p,.wp-block-quote.is-style-large p{font-size:24px;font-style:italic;line-height:1.6}.wp-block-quote.is-large cite,.wp-block-quote.is-large footer,.wp-block-quote.is-style-large cite,.wp-block-quote.is-style-large footer{font-size:18px;text-align:right}.wp-block-rss.alignleft{margin-right:2em}.wp-block-rss.alignright{margin-left:2em}.wp-block-rss.is-grid{display:flex;flex-wrap:wrap;padding:0;list-style:none}.wp-block-rss.is-grid li{margin:0 16px 16px 0;width:100%}@media (min-width:600px){.wp-block-rss.columns-2 li{width:calc(50% - 16px)}.wp-block-rss.columns-3 li{width:calc(33.33333% - 16px)}.wp-block-rss.columns-4 li{width:calc(25% - 16px)}.wp-block-rss.columns-5 li{width:calc(20% - 16px)}.wp-block-rss.columns-6 li{width:calc(16.66667% - 16px)}}.wp-block-rss__item-author,.wp-block-rss__item-publish-date{display:block;color:#6c7781;font-size:13px}.wp-block-search{display:flex;flex-wrap:wrap}.wp-block-search .wp-block-search__label{width:100%}.wp-block-search .wp-block-search__input{flex-grow:1}.wp-block-search .wp-block-search__button{margin-left:10px}.wp-block-separator.is-style-wide{border-bottom-width:1px}.wp-block-separator.is-style-dots{background:none!important;border:none;text-align:center;max-width:none;line-height:1;height:auto}.wp-block-separator.is-style-dots:before{content:"\00b7 \00b7 \00b7";color:currentColor;font-size:20px;letter-spacing:2em;padding-left:2em;font-family:serif}.wp-block-social-links{display:flex;justify-content:flex-start;padding-left:0;padding-right:0;margin-left:0}.wp-social-link{width:36px;height:36px;border-radius:36px;margin-right:8px}.wp-social-link,.wp-social-link a{display:block;transition:transform .1s ease}.wp-social-link a{padding:6px;line-height:0}.wp-social-link a,.wp-social-link a:active,.wp-social-link a:hover,.wp-social-link a:visited,.wp-social-link svg{color:currentColor;fill:currentColor}.wp-social-link:hover{transform:scale(1.1)}.wp-block-social-links.aligncenter{justify-content:center;display:flex}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link{background-color:#f0f0f0;color:#444}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-amazon{background-color:#f90;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-bandcamp{background-color:#1ea0c3;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-behance{background-color:#0757fe;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-codepen{background-color:#1e1f26;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-deviantart{background-color:#02e49b;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-dribbble{background-color:#e94c89;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-dropbox{background-color:#4280ff;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-etsy{background-color:#f45800;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-facebook{background-color:#1977f2;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-fivehundredpx{background-color:#000;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-flickr{background-color:#0461dd;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-foursquare{background-color:#e65678;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-github{background-color:#24292d;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-goodreads{background-color:#eceadd;color:#382110}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-google{background-color:#ea4434;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-instagram{background-color:#f00075;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-lastfm{background-color:#e21b24;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-linkedin{background-color:#0577b5;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-mastodon{background-color:#3288d4;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-medium{background-color:#02ab6c;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-meetup{background-color:#f6405f;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-pinterest{background-color:#e60122;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-pocket{background-color:#ef4155;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-reddit{background-color:#fe4500;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-skype{background-color:#0478d7;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-snapchat{background-color:#fefc00;color:#fff;stroke:#000}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-soundcloud{background-color:#ff5600;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-spotify{background-color:#1bd760;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-tumblr{background-color:#011835;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-twitch{background-color:#6440a4;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-twitter{background-color:#21a1f3;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-vimeo{background-color:#1eb7ea;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-vk{background-color:#4680c2;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-wordpress{background-color:#3499cd;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-yelp{background-color:#d32422;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-youtube{background-color:#ff0100;color:#fff}.wp-block-social-links.is-style-logos-only .wp-social-link{background:none;padding:4px}.wp-block-social-links.is-style-logos-only .wp-social-link svg{width:28px;height:28px}.wp-block-social-links.is-style-logos-only .wp-social-link-amazon{color:#f90}.wp-block-social-links.is-style-logos-only .wp-social-link-bandcamp{color:#1ea0c3}.wp-block-social-links.is-style-logos-only .wp-social-link-behance{color:#0757fe}.wp-block-social-links.is-style-logos-only .wp-social-link-codepen{color:#1e1f26}.wp-block-social-links.is-style-logos-only .wp-social-link-deviantart{color:#02e49b}.wp-block-social-links.is-style-logos-only .wp-social-link-dribbble{color:#e94c89}.wp-block-social-links.is-style-logos-only .wp-social-link-dropbox{color:#4280ff}.wp-block-social-links.is-style-logos-only .wp-social-link-etsy{color:#f45800}.wp-block-social-links.is-style-logos-only .wp-social-link-facebook{color:#1977f2}.wp-block-social-links.is-style-logos-only .wp-social-link-fivehundredpx{color:#000}.wp-block-social-links.is-style-logos-only .wp-social-link-flickr{color:#0461dd}.wp-block-social-links.is-style-logos-only .wp-social-link-foursquare{color:#e65678}.wp-block-social-links.is-style-logos-only .wp-social-link-github{color:#24292d}.wp-block-social-links.is-style-logos-only .wp-social-link-goodreads{color:#382110}.wp-block-social-links.is-style-logos-only .wp-social-link-google{color:#ea4434}.wp-block-social-links.is-style-logos-only .wp-social-link-instagram{color:#f00075}.wp-block-social-links.is-style-logos-only .wp-social-link-lastfm{color:#e21b24}.wp-block-social-links.is-style-logos-only .wp-social-link-linkedin{color:#0577b5}.wp-block-social-links.is-style-logos-only .wp-social-link-mastodon{color:#3288d4}.wp-block-social-links.is-style-logos-only .wp-social-link-medium{color:#02ab6c}.wp-block-social-links.is-style-logos-only .wp-social-link-meetup{color:#f6405f}.wp-block-social-links.is-style-logos-only .wp-social-link-pinterest{color:#e60122}.wp-block-social-links.is-style-logos-only .wp-social-link-pocket{color:#ef4155}.wp-block-social-links.is-style-logos-only .wp-social-link-reddit{color:#fe4500}.wp-block-social-links.is-style-logos-only .wp-social-link-skype{color:#0478d7}.wp-block-social-links.is-style-logos-only .wp-social-link-snapchat{color:#fff;stroke:#000}.wp-block-social-links.is-style-logos-only .wp-social-link-soundcloud{color:#ff5600}.wp-block-social-links.is-style-logos-only .wp-social-link-spotify{color:#1bd760}.wp-block-social-links.is-style-logos-only .wp-social-link-tumblr{color:#011835}.wp-block-social-links.is-style-logos-only .wp-social-link-twitch{color:#6440a4}.wp-block-social-links.is-style-logos-only .wp-social-link-twitter{color:#21a1f3}.wp-block-social-links.is-style-logos-only .wp-social-link-vimeo{color:#1eb7ea}.wp-block-social-links.is-style-logos-only .wp-social-link-vk{color:#4680c2}.wp-block-social-links.is-style-logos-only .wp-social-link-wordpress{color:#3499cd}.wp-block-social-links.is-style-logos-only .wp-social-link-yelp{background-color:#d32422;color:#fff}.wp-block-social-links.is-style-logos-only .wp-social-link-youtube{color:#ff0100}.wp-block-social-links.is-style-pill-shape .wp-social-link{width:auto}.wp-block-social-links.is-style-pill-shape .wp-social-link a{padding-left:16px;padding-right:16px}.wp-block-spacer{clear:both}p.wp-block-subhead{font-size:1.1em;font-style:italic;opacity:.75}.wp-block-table{overflow-x:auto}.wp-block-table table{width:100%}.wp-block-table .has-fixed-layout{table-layout:fixed;width:100%}.wp-block-table .has-fixed-layout td,.wp-block-table .has-fixed-layout th{word-break:break-word}.wp-block-table.aligncenter,.wp-block-table.alignleft,.wp-block-table.alignright{display:table;width:auto}.wp-block-table.aligncenter td,.wp-block-table.aligncenter th,.wp-block-table.alignleft td,.wp-block-table.alignleft th,.wp-block-table.alignright td,.wp-block-table.alignright th{word-break:break-word}.wp-block-table .has-subtle-light-gray-background-color{background-color:#f3f4f5}.wp-block-table .has-subtle-pale-green-background-color{background-color:#e9fbe5}.wp-block-table .has-subtle-pale-blue-background-color{background-color:#e7f5fe}.wp-block-table .has-subtle-pale-pink-background-color{background-color:#fcf0ef}.wp-block-table.is-style-stripes{border-spacing:0;border-collapse:inherit;background-color:transparent;border-bottom:1px solid #f3f4f5}.wp-block-table.is-style-stripes tbody tr:nth-child(odd){background-color:#f3f4f5}.wp-block-table.is-style-stripes.has-subtle-light-gray-background-color tbody tr:nth-child(odd){background-color:#f3f4f5}.wp-block-table.is-style-stripes.has-subtle-pale-green-background-color tbody tr:nth-child(odd){background-color:#e9fbe5}.wp-block-table.is-style-stripes.has-subtle-pale-blue-background-color tbody tr:nth-child(odd){background-color:#e7f5fe}.wp-block-table.is-style-stripes.has-subtle-pale-pink-background-color tbody tr:nth-child(odd){background-color:#fcf0ef}.wp-block-table.is-style-stripes td,.wp-block-table.is-style-stripes th{border-color:transparent}.wp-block-text-columns,.wp-block-text-columns.aligncenter{display:flex}.wp-block-text-columns .wp-block-column{margin:0 16px;padding:0}.wp-block-text-columns .wp-block-column:first-child{margin-left:0}.wp-block-text-columns .wp-block-column:last-child{margin-right:0}.wp-block-text-columns.columns-2 .wp-block-column{width:50%}.wp-block-text-columns.columns-3 .wp-block-column{width:33.33333%}.wp-block-text-columns.columns-4 .wp-block-column{width:25%}pre.wp-block-verse{white-space:nowrap;overflow:auto}.wp-block-video{margin-left:0;margin-right:0}.wp-block-video video{max-width:100%}@supports (position:sticky){.wp-block-video [poster]{-o-object-fit:cover;object-fit:cover}}.wp-block-video.aligncenter{text-align:center}.wp-block-video figcaption{margin-top:.5em;margin-bottom:1em}:root .has-pale-pink-background-color{background-color:#f78da7}:root .has-vivid-red-background-color{background-color:#cf2e2e}:root .has-luminous-vivid-orange-background-color{background-color:#ff6900}:root .has-luminous-vivid-amber-background-color{background-color:#fcb900}:root .has-light-green-cyan-background-color{background-color:#7bdcb5}:root .has-vivid-green-cyan-background-color{background-color:#00d084}:root .has-pale-cyan-blue-background-color{background-color:#8ed1fc}:root .has-vivid-cyan-blue-background-color{background-color:#0693e3}:root .has-vivid-purple-background-color{background-color:#9b51e0}:root .has-very-light-gray-background-color{background-color:#eee}:root .has-cyan-bluish-gray-background-color{background-color:#abb8c3}:root .has-very-dark-gray-background-color{background-color:#313131}:root .has-pale-pink-color{color:#f78da7}:root .has-vivid-red-color{color:#cf2e2e}:root .has-luminous-vivid-orange-color{color:#ff6900}:root .has-luminous-vivid-amber-color{color:#fcb900}:root .has-light-green-cyan-color{color:#7bdcb5}:root .has-vivid-green-cyan-color{color:#00d084}:root .has-pale-cyan-blue-color{color:#8ed1fc}:root .has-vivid-cyan-blue-color{color:#0693e3}:root .has-vivid-purple-color{color:#9b51e0}:root .has-very-light-gray-color{color:#eee}:root .has-cyan-bluish-gray-color{color:#abb8c3}:root .has-very-dark-gray-color{color:#313131}.has-small-font-size{font-size:13px}.has-normal-font-size,.has-regular-font-size{font-size:16px}.has-medium-font-size{font-size:20px}.has-large-font-size{font-size:36px}.has-huge-font-size,.has-larger-font-size{font-size:42px}.has-text-align-center{text-align:center}.has-text-align-left{text-align:left}.has-text-align-right{text-align:right} .post-ratings{width:100%;opacity:1}.post-ratings-loading{display:none;height:16px;text-align:left}.post-ratings-image{border:0}.post-ratings img,.post-ratings-loading img,.post-ratings-image img{border:0;padding:0;margin:0}.post-ratings-comment-author{font-weight:400;font-style:italic} .download-info .download-button,.download-info .more-button{width:120px;height:0;padding-top:36px;overflow:hidden;display:block}.download-info .download-button{background:url(//www.holoborodko.com/pavel/wp-content/plugins/download-monitor/page-addon/downloadbutton.gif) no-repeat top left}.download-info .more-button{background:url(//www.holoborodko.com/pavel/wp-content/plugins/download-monitor/page-addon/morebutton.gif) no-repeat top left}form#download-page-search{border:1px solid #ddd;-moz-border-radius:4px;-webkit-border-radius:4px;margin:8px 0 16px !important;padding:12px !important}form#download-page-search p,form#download-page-search input,form#download-page-search label{margin:0 !important;padding:0 !important;line-height:1 !important;vertical-align:middle !important}form#download-page-search input{margin-left:8px !important}form#download-page-search br{display:none}div.download-info.single{overflow:hidden;padding-left:140px}.download-info-heading{margin:8px 0 12px !important}.download-desc-heading{margin:8px 0 12px !important;color:#999;font-weight:700;padding:4px 0;border-bottom:1px solid #ddd}#download-page small{margin-left:4px;font-size:11px;letter-spacing:-.1px}#download-page small small{margin-left:0}#download-page small a{color:#999}div.side-section{float:left;width:120px;text-align:center;margin-left:-140px;position:relative}div.main-section{float:right;position:relative;width:100%}div.download-info p{margin:8px 0 12px !important;padding:0 !important}img.download-image{padding:3px;background:#fff;border:1px solid #ddd;margin-bottom:0 !important}table.download-meta{margin:0 0 12px !important;padding:0 !important}table.download-meta td,table.download-meta th{padding:4px 0;border-bottom:1px solid #ddd}table.download-meta thead{display:none}table.download-meta tbody th{color:#999;font-weight:700}#download-page-featured,#download-page-tags{border:1px solid #ddd;-moz-border-radius:4px;-webkit-border-radius:4px;padding:12px;margin:8px 0 16px !important}div#download-page-featured ul,div#download-page-tags ul{overflow:hidden;margin:0;padding:0;text-indent:0}div#download-page-featured li:before,div#download-page-tags li:before{content:""}div#download-page-featured li{clear:left;float:left;list-style:none;width:47%;padding-right:3% !important;margin:0 0 4px !important;border-right:1px dotted #ddd}div#download-page-featured li.alternate{clear:none;float:right;border:0;padding:0 !important;width:47%}div#download-page-featured a{display:table-row}div#download-page-featured img{width:42px;height:42px;padding:3px;background:#fff;border:1px solid #ddd;vertical-align:middle;margin:0 8px 0 0}div#download-page-featured span{display:table-cell;vertical-align:middle}div#download-page-featured a:hover,#download-page-categories a:hover{text-decoration:none}div#download-page-featured h3,#download-page-categories h3,div#download-page-tags h3{margin:0 0 12px !important;padding:0 0 8px;border-bottom:1px solid #ddd}#download-page-categories{overflow:hidden}#download-page-categories .category{float:left;width:48%;clear:both;border:1px solid #ddd;-moz-border-radius:4px;-webkit-border-radius:4px;margin:8px 3% 8px 0 !important}#download-page-categories .category.alternate{margin:8px 0 !important;clear:none}#download-page-categories .category .inner{padding:12px}#download-page-categories .category ol{margin:0;padding:0;border:0;text-indent:0}#download-page-categories .category li{margin:0;padding:2px 0;list-style-position:inside;border:0}div#download-page-tags ul{text-align:center}div#download-page-tags li{display:inline;margin:0;padding:0 6px}div#download-page-tags li a{line-height:1.5em}p.sorting a.active{background:#999;color:#fff;padding:2px}#download-page .pagination{margin:0;padding:0;text-indent:0}#download-page .pagination li:before{content:""}#download-page .pagination li{display:inline;margin:0 4px 0 0;padding:0} .download-info .download-button{background-image:url(http://www.holoborodko.com/pavel/wp-content/plugins/download-monitor/page-addon/downloadbutton.gif)}.download-info .more-button{background-image:url(http://www.holoborodko.com/pavel/wp-content/plugins/download-monitor/page-addon/morebutton.gif)}/*]]>*/</style><title>Pavel Holoborodko | Applied mathematics and beyond</title><meta http-equiv="content-type" content="text/html charset=UTF-8"/><meta name="description" content="Applied mathematics and beyond" /><meta name="robots" content="index,follow" /><link rel="alternate" type="application/rss+xml" href="http://www.holoborodko.com/pavel/feed/" title="Pavel Holoborodko Posts RSS feed" /><link rel="alternate" type="application/rss+xml" href="http://www.holoborodko.com/pavel/comments/feed/" title="Pavel Holoborodko Comments RSS feed" /><link rel="pingback" href="http://www.holoborodko.com/pavel/xmlrpc.php" /><link rel='dns-prefetch' href='//s.w.org' /> <script type="text/javascript">// // Google Analytics for WordPress by Yoast v4.2.3 | http://yoast.com/wordpress/google-analytics/ var _gaq = _gaq || []; _gaq.push(['_setAccount','UA-589790-3']); _gaq.push(['_trackPageview']); (function() { var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true; ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js'; var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s); })(); //</script> <script type="text/javascript">/*<![CDATA[*/window._wpemojiSettings = {"baseUrl":"https:\/\/s.w.org\/images\/core\/emoji\/12.0.0-1\/72x72\/","ext":".png","svgUrl":"https:\/\/s.w.org\/images\/core\/emoji\/12.0.0-1\/svg\/","svgExt":".svg","source":{"concatemoji":"http:\/\/www.holoborodko.com\/pavel\/wp-includes\/js\/wp-emoji-release.min.js?ver=5.3.18"}}; !function(e,a,t){var n,r,o,i=a.createElement("canvas"),p=i.getContext&&i.getContext("2d");function s(e,t){var a=String.fromCharCode;p.clearRect(0,0,i.width,i.height),p.fillText(a.apply(this,e),0,0);e=i.toDataURL();return p.clearRect(0,0,i.width,i.height),p.fillText(a.apply(this,t),0,0),e===i.toDataURL()}function c(e){var t=a.createElement("script");t.src=e,t.defer=t.type="text/javascript",a.getElementsByTagName("head")[0].appendChild(t)}for(o=Array("flag","emoji"),t.supports={everything:!0,everythingExceptFlag:!0},r=0;r<o.length;r++)t.supports[o[r]]=function(e){if(!p||!p.fillText)return!1;switch(p.textBaseline="top",p.font="600 32px Arial",e){case"flag":return s([127987,65039,8205,9895,65039],[127987,65039,8203,9895,65039])?!1:!s([55356,56826,55356,56819],[55356,56826,8203,55356,56819])&&!s([55356,57332,56128,56423,56128,56418,56128,56421,56128,56430,56128,56423,56128,56447],[55356,57332,8203,56128,56423,8203,56128,56418,8203,56128,56421,8203,56128,56430,8203,56128,56423,8203,56128,56447]);case"emoji":return!s([55357,56424,55356,57342,8205,55358,56605,8205,55357,56424,55356,57340],[55357,56424,55356,57342,8203,55358,56605,8203,55357,56424,55356,57340])}return!1}(o[r]),t.supports.everything=t.supports.everything&&t.supports[o[r]],"flag"!==o[r]&&(t.supports.everythingExceptFlag=t.supports.everythingExceptFlag&&t.supports[o[r]]);t.supports.everythingExceptFlag=t.supports.everythingExceptFlag&&!t.supports.flag,t.DOMReady=!1,t.readyCallback=function(){t.DOMReady=!0},t.supports.everything||(n=function(){t.readyCallback()},a.addEventListener?(a.addEventListener("DOMContentLoaded",n,!1),e.addEventListener("load",n,!1)):(e.attachEvent("onload",n),a.attachEvent("onreadystatechange",function(){"complete"===a.readyState&&t.readyCallback()})),(n=t.source||{}).concatemoji?c(n.concatemoji):n.wpemoji&&n.twemoji&&(c(n.twemoji),c(n.wpemoji)))}(window,document,window._wpemojiSettings);/*]]>*/</script> <link rel='https://api.w.org/' href='http://www.holoborodko.com/pavel/wp-json/' /><link rel="EditURI" type="application/rsd+xml" title="RSD" href="http://www.holoborodko.com/pavel/xmlrpc.php?rsd" /><link rel="wlwmanifest" type="application/wlwmanifest+xml" href="http://www.holoborodko.com/pavel/wp-includes/wlwmanifest.xml" /><link rel='shortlink' href='http://wp.me/iexS' /><link id='MediaRSS' rel='alternate' type='application/rss+xml' title='NextGEN Gallery RSS Feed' href='http://www.holoborodko.com/pavel/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/xml/media-rss.php' /><meta id="syntaxhighlighteranchor" name="syntaxhighlighter-version" content="3.1.3" /> <!--[if IE]><link rel="stylesheet" href="http://www.holoborodko.com/pavel/wp-content/themes/thematic/library/styles/ie.css" type="text/css" media="screen" /> <![endif]--></head><body class="wordpress y2024 m11 d29 h03 home blog windows chrome ch"><div id="wrapper" class="hfeed"><div id="header"><div id="branding"><div id="blog-title"><span><a href="http://www.holoborodko.com/pavel/" title="Pavel Holoborodko" rel="home">Pavel Holoborodko</a></span></div><h1 id="blog-description">Applied mathematics and beyond</h1></div><div id="access"><div class="skip-link"><a href="#content" title="Skip navigation to the content">Skip to content</a></div><div class="menu"><ul id="nav" class="sf-menu"><li class="current_page_item"><a href="http://www.holoborodko.com/pavel/">Home</a></li><li class="page_item page-item-12"><a href="http://www.holoborodko.com/pavel/mpfr/">MPFR C++</a></li><li class="page_item page-item-1413 page_item_has_children"><a href="http://www.holoborodko.com/pavel/numerical-methods/">Numerical Methods</a><ul class='children'><li class="page_item page-item-236 page_item_has_children"><a href="http://www.holoborodko.com/pavel/numerical-methods/numerical-derivative/">Numerical Differentiation</a><ul class='children'><li class="page_item page-item-239"><a href="http://www.holoborodko.com/pavel/numerical-methods/numerical-derivative/central-differences/">Central Differences</a></li><li class="page_item page-item-242"><a href="http://www.holoborodko.com/pavel/numerical-methods/numerical-derivative/lanczos-low-noise-differentiators/">Low-noise Lanczos differentiators</a></li><li class="page_item page-item-245"><a href="http://www.holoborodko.com/pavel/numerical-methods/numerical-derivative/smooth-low-noise-differentiators/">Smooth noise-robust differentiators</a></li></ul></li><li class="page_item page-item-679 page_item_has_children"><a href="http://www.holoborodko.com/pavel/numerical-methods/numerical-integration/">Numerical Integration</a><ul class='children'><li class="page_item page-item-1879"><a href="http://www.holoborodko.com/pavel/numerical-methods/numerical-integration/cubature-formulas-for-the-unit-disk/">Cubature formulas for the unit disk</a></li><li class="page_item page-item-2801"><a href="http://www.holoborodko.com/pavel/numerical-methods/numerical-integration/stable-newton-cotes-formulas/">Stable Newton-Cotes Formulas</a></li><li class="page_item page-item-2822"><a href="http://www.holoborodko.com/pavel/numerical-methods/numerical-integration/overlapped-newton-cotes-quadratures/">Overlapped Newton-Cotes Quadratures</a></li><li class="page_item page-item-3678"><a href="http://www.holoborodko.com/pavel/numerical-methods/numerical-integration/stable-newton-cotes-formulas-open-type/">Stable Newton-Cotes Formulas (Open Type)</a></li></ul></li><li class="page_item page-item-3645"><a href="http://www.holoborodko.com/pavel/numerical-methods/noise-robust-smoothing-filter/">Noise-robust smoothing filter</a></li></ul></li><li class="page_item page-item-1422 page_item_has_children"><a href="http://www.holoborodko.com/pavel/quicklatex/">QuickLaTeX</a><ul class='children'><li class="page_item page-item-3759"><a href="http://www.holoborodko.com/pavel/quicklatex/latex-fonts-quicklatex/">LaTeX Fonts in QuickLaTeX</a></li></ul></li><li class="page_item page-item-1689 page_item_has_children"><a href="http://www.holoborodko.com/pavel/image-processing/">Image Processing</a><ul class='children'><li class="page_item page-item-1660"><a href="http://www.holoborodko.com/pavel/image-processing/edge-detection/">Noise Robust Gradient Operators</a></li></ul></li><li class="page_item page-item-2"><a href="http://www.holoborodko.com/pavel/about/">About</a></li></ul></div></div></div><div id="main"><div id="container"><div id="content"><div id="nav-above" class="navigation"><div class="nav-previous"><a href="http://www.holoborodko.com/pavel/page/2/" ><span class="meta-nav">&laquo;</span> Older posts</a></div><div class="nav-next"></div></div><div id="post-3453" class="hentry p1 post publish author-pavel-holoborodko category-numeric-analysis category-programming untagged y2015 m07 d23 h23 slug-generating-equidistant-points-on-unit-disk"><h2 class="entry-title"><a href="http://www.holoborodko.com/pavel/2015/07/23/generating-equidistant-points-on-unit-disk/" title="Permalink to Generating Equidistant Points on Unit Disk" rel="bookmark">Generating Equidistant Points on Unit Disk</a></h2><div class="entry-meta"><span class="entry-date"><abbr class="published" title="2015-07-23T14:48:53+0900">July 23, 2015</abbr></span></div><div class="entry-content"><p>Recently I needed an algorithm to generate equidistant points inside the unit disk with some of them placed on the boundary (circle). To my surprise, quick search didn&#8217;t reveal any simple method for this. Below is obvious solution &#038; code, hopefully it will save some time for others.</p><p>MATLAB code:</p><pre class="brush: matlabkey; title: ; notranslate" title=""> function [x, y, Nb, Np] = eqdisk(Nr) %EQDISK Generates equidistant points inside the unit disk. % Nr [in] - number of radial circles % x,y [out] - coordinates of generated points % Np [out] - total number of generated points % Nb [out] - points on boundary (on r = 1 circle) dR = 1/Nr; x(1) = 0; y(1) = 0; k = 1; for r = dR:dR:1 n = round(pi/asin(1/(2*k))); theta = linspace(0, 2*pi, n+1)'; x = [x; r.*cos(theta(1:n))]; y = [y; r.*sin(theta(1:n))]; k = k+1; end; Nb = n; Np = size(x,1); end </pre><p>Algorithm is based on the idea of placing the points on concentric circles with (near-) equal arc length between them. Here is some examples:</p><p> <a href="http://www.holoborodko.com/pavel/2015/07/23/generating-equidistant-points-on-unit-disk/#more-3453" class="more-link">Read More <span class="meta-nav">&raquo;</span></a></p></div><div class="entry-utility"><span class="cat-links">Posted in <a href="http://www.holoborodko.com/pavel/category/numeric-analysis/" rel="category tag">Numeric Analysis</a>, <a href="http://www.holoborodko.com/pavel/category/programming/" rel="category tag">Programming</a></span> <span class="meta-sep">|</span> <span class="comments-link"><a href="http://www.holoborodko.com/pavel/2015/07/23/generating-equidistant-points-on-unit-disk/#comments" title="Comment on Generating Equidistant Points on Unit Disk">1 Comment</a></span></div></div><div id="post-3389" class="hentry p2 post publish author-pavel-holoborodko category-finite-differences category-numeric-analysis category-numerical-derivative untagged y2014 m11 d05 h04 alt slug-computing-mixed-derivatives-by-finite-differences"><h2 class="entry-title"><a href="http://www.holoborodko.com/pavel/2014/11/04/computing-mixed-derivatives-by-finite-differences/" title="Permalink to Computing Mixed Derivatives by Finite Differences" rel="bookmark">Computing Mixed Derivatives by Finite Differences</a></h2><div class="entry-meta"><span class="entry-date"><abbr class="published" title="2014-11-04T19:02:02+0900">November 4, 2014</abbr></span></div><div class="entry-content"><p>The post is aimed to summarize various finite difference schemes for partial derivatives estimation dispersed in comments on the <a href="http://www.holoborodko.com/pavel/numerical-methods/numerical-derivative/central-differences/" >Central Differences</a> page. To gather them all in one place as a reference.</p><p>Listed formulas are selected as being advantageous among others of similar class &#8211; highest order of approximation, low rounding errors, etc. Please use comments to add other schemes.</p><h2>Second order</h2><p><img src="http://www.holoborodko.com/pavel/wp-content/ql-cache/quicklatex.com-5e831e1f20e24d380ec17f6a1a3bfc2b_l3.png" class="ql-img-inline-formula quicklatex-auto-format" alt="&#79;&#40;&#104;&#94;&#50;&#41;" title="Rendered by QuickLaTeX.com" height="23" width="50" style="vertical-align: -5px;"/>:</p><p class="ql-center-displayed-equation" style="line-height: 50px;"><span class="ql-right-eqno"> (1) </span><span class="ql-left-eqno"> &nbsp; </span><img src="http://www.holoborodko.com/pavel/wp-content/ql-cache/quicklatex.com-dd155b7283e2bb7f9498c739ec943bf9_l3.png" height="50" width="369" class="ql-img-displayed-equation quicklatex-auto-format" alt="&#92;&#98;&#101;&#103;&#105;&#110;&#123;&#101;&#113;&#117;&#97;&#116;&#105;&#111;&#110;&#42;&#125; &#92;&#100;&#105;&#115;&#112;&#108;&#97;&#121;&#115;&#116;&#121;&#108;&#101;&#123;&#123;&#92;&#102;&#114;&#97;&#99;&#123;&#92;&#112;&#97;&#114;&#116;&#105;&#97;&#108;&#94;&#50;&#123;&#102;&#125;&#125;&#123;&#92;&#112;&#97;&#114;&#116;&#105;&#97;&#108;&#123;&#120;&#125;&#92;&#112;&#97;&#114;&#116;&#105;&#97;&#108;&#123;&#121;&#125;&#125;&#125;&#92;&#97;&#112;&#112;&#114;&#111;&#120; &#92;&#102;&#114;&#97;&#99;&#123;&#49;&#125;&#123;&#52;&#92;&#44;&#104;&#94;&#50;&#125;&#92;&#108;&#101;&#102;&#116;&#91;&#102;&#95;&#123;&#45;&#49;&#44;&#45;&#49;&#125;&#43;&#102;&#95;&#123;&#49;&#44;&#49;&#125;&#45;&#102;&#95;&#123;&#49;&#44;&#45;&#49;&#125;&#45;&#102;&#95;&#123;&#45;&#49;&#44;&#49;&#125;&#92;&#114;&#105;&#103;&#104;&#116;&#93;&#125; &#92;&#101;&#110;&#100;&#123;&#101;&#113;&#117;&#97;&#116;&#105;&#111;&#110;&#42;&#125;" title="Rendered by QuickLaTeX.com"/></p><p><img src="http://www.holoborodko.com/pavel/wp-content/ql-cache/quicklatex.com-e8c3be952db8b9baf29324277b763f87_l3.png" class="ql-img-inline-formula quicklatex-auto-format" alt="&#79;&#40;&#104;&#94;&#52;&#41;" title="Rendered by QuickLaTeX.com" height="23" width="50" style="vertical-align: -5px;"/>:</p><p class="ql-center-displayed-equation" style="line-height: 51px;"><span class="ql-right-eqno"> (2) </span><span class="ql-left-eqno"> &nbsp; </span><img src="http://www.holoborodko.com/pavel/wp-content/ql-cache/quicklatex.com-861614cdcf7992ed498096a0dd6018d6_l3.png" height="51" width="746" class="ql-img-displayed-equation quicklatex-auto-format" alt="&#92;&#98;&#101;&#103;&#105;&#110;&#123;&#101;&#113;&#117;&#97;&#116;&#105;&#111;&#110;&#42;&#125; &#92;&#102;&#114;&#97;&#99;&#123;&#92;&#112;&#97;&#114;&#116;&#105;&#97;&#108;&#94;&#50;&#32;&#102;&#125;&#123;&#92;&#112;&#97;&#114;&#116;&#105;&#97;&#108;&#32;&#120;&#32;&#92;&#112;&#97;&#114;&#116;&#105;&#97;&#108;&#32;&#121;&#125;&#32;&#92;&#97;&#112;&#112;&#114;&#111;&#120;&#32;&#92;&#102;&#114;&#97;&#99;&#123;&#49;&#125;&#123;&#49;&#52;&#52;&#32;&#104;&#94;&#50;&#125;&#92;&#108;&#101;&#102;&#116;&#91; &#32;&#32;&#92;&#98;&#101;&#103;&#105;&#110;&#123;&#97;&#114;&#114;&#97;&#121;&#125;&#123;&#108;&#125; &#32;&#32;&#32;&#32;&#56;&#40;&#102;&#95;&#123;&#49;&#44;&#45;&#50;&#125;&#43;&#102;&#95;&#123;&#50;&#44;&#45;&#49;&#125;&#43;&#102;&#95;&#123;&#45;&#50;&#44;&#49;&#125;&#43;&#102;&#95;&#123;&#45;&#49;&#44;&#50;&#125;&#41;&#45;&#56;&#40;&#102;&#95;&#123;&#45;&#49;&#44;&#45;&#50;&#125;&#43;&#102;&#95;&#123;&#45;&#50;&#44;&#45;&#49;&#125;&#43;&#102;&#95;&#123;&#49;&#44;&#50;&#125;&#43;&#102;&#95;&#123;&#50;&#44;&#49;&#125;&#41;&#92;&#92; &#32;&#32;&#32;&#45;&#40;&#102;&#95;&#123;&#50;&#44;&#45;&#50;&#125;&#43;&#102;&#95;&#123;&#45;&#50;&#44;&#50;&#125;&#45;&#102;&#95;&#123;&#45;&#50;&#44;&#45;&#50;&#125;&#45;&#102;&#95;&#123;&#50;&#44;&#50;&#125;&#41;&#43;&#54;&#52;&#40;&#102;&#95;&#123;&#45;&#49;&#44;&#45;&#49;&#125;&#43;&#102;&#95;&#123;&#49;&#44;&#49;&#125;&#45;&#102;&#95;&#123;&#49;&#44;&#45;&#49;&#125;&#45;&#102;&#95;&#123;&#45;&#49;&#44;&#49;&#125;&#41; &#32;&#32;&#92;&#101;&#110;&#100;&#123;&#97;&#114;&#114;&#97;&#121;&#125;&#92;&#114;&#105;&#103;&#104;&#116;&#93; &#92;&#101;&#110;&#100;&#123;&#101;&#113;&#117;&#97;&#116;&#105;&#111;&#110;&#42;&#125;" title="Rendered by QuickLaTeX.com"/></p><p> <a href="http://www.holoborodko.com/pavel/2014/11/04/computing-mixed-derivatives-by-finite-differences/#more-3389" class="more-link">Read More <span class="meta-nav">&raquo;</span></a></p></div><div class="entry-utility"><span class="cat-links">Posted in <a href="http://www.holoborodko.com/pavel/category/finite-differences/" rel="category tag">Finite Differences</a>, <a href="http://www.holoborodko.com/pavel/category/numeric-analysis/" rel="category tag">Numeric Analysis</a>, <a href="http://www.holoborodko.com/pavel/category/numeric-analysis/numerical-derivative/" rel="category tag">Numerical Derivative</a></span> <span class="meta-sep">|</span> <span class="comments-link"><a href="http://www.holoborodko.com/pavel/2014/11/04/computing-mixed-derivatives-by-finite-differences/#comments" title="Comment on Computing Mixed Derivatives by Finite Differences">1 Comment</a></span></div></div><div id="post-3370" class="hentry p3 post publish author-pavel-holoborodko category-filter-design category-numeric-analysis category-numerical-integration untagged y2014 m10 d22 h06 slug-sinc-function-and-gauss-legendre-quadrature"><h2 class="entry-title"><a href="http://www.holoborodko.com/pavel/2014/10/21/sinc-function-and-gauss-legendre-quadrature/" title="Permalink to Sinc Function and Gauss-Legendre quadrature" rel="bookmark">Sinc Function and Gauss-Legendre quadrature</a></h2><div class="entry-meta"><span class="entry-date"><abbr class="published" title="2014-10-21T21:15:05+0900">October 21, 2014</abbr></span></div><div class="entry-content"><p><em><br /> <strong>UPDATE: August 13, 2015.</strong><br /> Finally I was able to see the relation between the two. Gauss-Legendre quadrature is based on exactness on polynomials, which can be re-formulated in terms of frequency domain. As it turned out, this condition has very simple form:</p><p class="ql-center-displayed-equation" style="line-height: 62px;"><span class="ql-right-eqno"> &nbsp; </span><span class="ql-left-eqno"> &nbsp; </span><img src="http://www.holoborodko.com/pavel/wp-content/ql-cache/quicklatex.com-886f4bacd09d2c0a5e362d6879418062_l3.png" height="62" width="393" class="ql-img-displayed-equation quicklatex-auto-format" alt="&#92;&#91;&#32; &#92;&#102;&#114;&#97;&#99;&#123;&#100;&#94;&#110;&#125;&#123;&#100;&#92;&#111;&#109;&#101;&#103;&#97;&#94;&#110;&#125;&#32;&#72;&#40;&#92;&#111;&#109;&#101;&#103;&#97;&#41;&#32;&#92;&#66;&#105;&#103;&#103;&#114;&#124;&#95;&#123;&#92;&#111;&#109;&#101;&#103;&#97;&#61;&#48;&#125;&#61;&#32;&#50;&#92;&#44;&#92;&#102;&#114;&#97;&#99;&#123;&#100;&#94;&#110;&#125;&#123;&#100;&#92;&#111;&#109;&#101;&#103;&#97;&#94;&#110;&#125;&#32;&#92;&#116;&#101;&#120;&#116;&#123;&#115;&#105;&#110;&#99;&#125;&#40;&#92;&#111;&#109;&#101;&#103;&#97;&#41;&#32;&#92;&#66;&#105;&#103;&#103;&#114;&#124;&#95;&#123;&#92;&#111;&#109;&#101;&#103;&#97;&#61;&#48;&#125;&#61;&#92;&#102;&#114;&#97;&#99;&#123;&#50;&#92;&#44;&#40;&#45;&#49;&#41;&#94;&#123;&#110;&#125;&#125;&#123;&#110;&#43;&#49;&#125; &#92;&#93;" title="Rendered by QuickLaTeX.com"/></p><p>where <img src="http://www.holoborodko.com/pavel/wp-content/ql-cache/quicklatex.com-127cce503ff03682d2a8c9f1939b45b4_l3.png" class="ql-img-inline-formula quicklatex-auto-format" alt="&#110;&#61;&#48;&#44;&#50;&#44;&#52;&#44;&#92;&#100;&#111;&#116;&#115;&#44;&#50;&#107;" title="Rendered by QuickLaTeX.com" height="18" width="152" style="vertical-align: -4px;"/> is polynomial degree and <img src="http://www.holoborodko.com/pavel/wp-content/ql-cache/quicklatex.com-3489d07a46ab7bf54672c76d29795b00_l3.png" class="ql-img-inline-formula quicklatex-auto-format" alt="&#72;&#40;&#92;&#111;&#109;&#101;&#103;&#97;&#41;" title="Rendered by QuickLaTeX.com" height="20" width="45" style="vertical-align: -5px;"/> is frequency response of a quadrature rule.</p><p>This relation is very interesting as it allows us to build numerical integrators in frequency domain (see <a href="http://www.holoborodko.com/pavel/numerical-methods/numerical-derivative/smooth-low-noise-differentiators/" >differentiators </a>and <a href="http://www.holoborodko.com/pavel/numerical-methods/noise-robust-smoothing-filter/" >smoothers</a> for example).<br /> </em></p><p>How these two could possibly relate to each other? I had no idea, until I saw these two plots today:<br /> <img src="http://www.holoborodko.com/pavel/wp-content/uploads/sinc_gl.png" alt="sinc_gl" /><br /> Green curve is a frequency response of Gauss-Legendre quadrature of order <img src="http://www.holoborodko.com/pavel/wp-content/ql-cache/quicklatex.com-fa9e94893973d0d6a5ff49c3de9e865b_l3.png" class="ql-img-inline-formula quicklatex-auto-format" alt="&#78;&#61;&#49;&#53;" title="Rendered by QuickLaTeX.com" height="15" width="64" style="vertical-align: -1px;"/>, red &#8211; <img src="http://www.holoborodko.com/pavel/wp-content/ql-cache/quicklatex.com-6cfd7d9f97f3ded5dd4dbc723bfcb9f9_l3.png" class="ql-img-inline-formula quicklatex-auto-format" alt="&#78;&#61;&#50;&#53;" title="Rendered by QuickLaTeX.com" height="14" width="64" style="vertical-align: 0px;"/> and blue curve is the <img src="http://www.holoborodko.com/pavel/wp-content/ql-cache/quicklatex.com-9619c2d8a1608422a269ce2e8a93aa88_l3.png" class="ql-img-inline-formula quicklatex-auto-format" alt="&#92;&#109;&#97;&#116;&#104;&#114;&#109;&#123;&#115;&#105;&#110;&#99;&#125;&#40;&#92;&#111;&#109;&#101;&#103;&#97;&#41;" title="Rendered by QuickLaTeX.com" height="20" width="60" style="vertical-align: -5px;"/> function.</p><p> <a href="http://www.holoborodko.com/pavel/2014/10/21/sinc-function-and-gauss-legendre-quadrature/#more-3370" class="more-link">Read More <span class="meta-nav">&raquo;</span></a></p></div><div class="entry-utility"><span class="cat-links">Posted in <a href="http://www.holoborodko.com/pavel/category/filter-design/" rel="category tag">Filter Design</a>, <a href="http://www.holoborodko.com/pavel/category/numeric-analysis/" rel="category tag">Numeric Analysis</a>, <a href="http://www.holoborodko.com/pavel/category/numeric-analysis/numerical-integration/" rel="category tag">Numerical Integration</a></span> <span class="meta-sep">|</span> <span class="comments-link"><a href="http://www.holoborodko.com/pavel/2014/10/21/sinc-function-and-gauss-legendre-quadrature/#comments" title="Comment on Sinc Function and Gauss-Legendre quadrature">Leave a comment</a></span></div></div><div id="post-3029" class="hentry p4 post publish author-pavel-holoborodko category-mpfr category-programming untagged y2011 m09 d30 h23 alt slug-mpfr-c-debugger-visualizer-in-visual-studio"><h2 class="entry-title"><a href="http://www.holoborodko.com/pavel/2011/09/30/mpfr-c-debugger-visualizer-in-visual-studio/" title="Permalink to MPFR C++ Debugger Visualizer in Visual Studio" rel="bookmark">MPFR C++ Debugger Visualizer in Visual Studio</a></h2><div class="entry-meta"><span class="entry-date"><abbr class="published" title="2011-09-30T14:40:12+0900">September 30, 2011</abbr></span></div><div class="entry-content"><p>Built-in debugger in Visual Studio has very nice extension capabilities. One particularly useful feature &#8211; developer can create custom visualizers for his own complex data types. Usually interactive debugger just shows data members of user-defined (and unknown to him) classes and structures, e.g.:</p><p style="text-aling:center"> <img src="http://www.holoborodko.com/pavel/downloads/debug_before.png" alt="" /></p><p>Obviously this is not very handy. In example above <code>mpreal</code> is arbitrary precision floating-point numeric type. It is only natural to show variables of the type as numbers, not as collection of low-level data pointers and properties.<br /> <a href="http://www.holoborodko.com/pavel/2011/09/30/mpfr-c-debugger-visualizer-in-visual-studio/#more-3029" class="more-link">Read More <span class="meta-nav">&raquo;</span></a></p></div><div class="entry-utility"><span class="cat-links">Posted in <a href="http://www.holoborodko.com/pavel/category/mpfr/" rel="category tag">MPFR</a>, <a href="http://www.holoborodko.com/pavel/category/programming/" rel="category tag">Programming</a></span> <span class="meta-sep">|</span> <span class="comments-link"><a href="http://www.holoborodko.com/pavel/2011/09/30/mpfr-c-debugger-visualizer-in-visual-studio/#comments" title="Comment on MPFR C++ Debugger Visualizer in Visual Studio">6 Comments</a></span></div></div><div id="post-2874" class="hentry p5 post publish author-pavel-holoborodko category-quicklatex untagged y2011 m05 d10 h04 slug-chemistry-in-wordpress-using-quicklatex"><h2 class="entry-title"><a href="http://www.holoborodko.com/pavel/2011/05/09/chemistry-in-wordpress-using-quicklatex/" title="Permalink to Chemistry in WordPress using QuickLaTeX" rel="bookmark">Chemistry in WordPress using QuickLaTeX</a></h2><div class="entry-meta"><span class="entry-date"><abbr class="published" title="2011-05-09T19:02:14+0900">May 9, 2011</abbr></span></div><div class="entry-content"><p>New version of QuickLaTeX is out &#8211; 3.7.7. Besides improvements in general functionality it includes special features for chemistry-oriented web sites:</p><ul><li style="text-align: justify; padding-bottom:10px;"> Support of <code>myChemistry</code> environment <code>&#92;&#98;&#101;&#103;&#105;&#110;&#123;&#114;&#120;&#110;&#125;&#32;&#46;&#46;&#46;&#92;&#101;&#110;&#100;&#123;&#114;&#120;&#110;&#125;</code> directly in the text (do not forget to include <code>myChemistry</code> into global/local preamble). Check examples on <a href="http://www.mychemistry.eu/" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://www.mychemistry.eu/']);">myChemistry home page</a>.</li><li style="text-align: justify; padding-bottom:10px;"> Correct support of <code>ChemFig</code> package, no tikzpicture wrapping required anymore. However you have to use <code>&#91;&#108;&#97;&#116;&#101;&#120;&#93;&#32;&#46;&#46;&#46;&#32;&#91;&#47;&#108;&#97;&#116;&#101;&#120;&#93;</code> tags to mark <code>ChemFig</code> code sections. We didn&#8217;t implement support <code>ChemFig</code> commands directly in the text since one picture can be generated using long sequence of commands, there is no way for QuickLaTeX to know where diagram starts/ends. <a href="http://www.holoborodko.com/pavel/2011/05/09/chemistry-in-wordpress-using-quicklatex/#more-2874" class="more-link">Read More <span class="meta-nav">&raquo;</span></a></li></ul></div><div class="entry-utility"><span class="cat-links">Posted in <a href="http://www.holoborodko.com/pavel/category/quicklatex/" rel="category tag">QuickLaTeX</a></span> <span class="meta-sep">|</span> <span class="comments-link"><a href="http://www.holoborodko.com/pavel/2011/05/09/chemistry-in-wordpress-using-quicklatex/#comments" title="Comment on Chemistry in WordPress using QuickLaTeX">Leave a comment</a></span></div></div><div id="post-2663" class="hentry p6 post publish author-pavel-holoborodko category-quicklatex tag-diagram tag-hackenbush tag-quicklatex y2011 m02 d16 h01 alt slug-quicklatex-hackenbush-diagram"><h2 class="entry-title"><a href="http://www.holoborodko.com/pavel/2011/02/15/quicklatex-hackenbush-diagram/" title="Permalink to QuickLaTeX: Hackenbush diagram" rel="bookmark">QuickLaTeX: Hackenbush diagram</a></h2><div class="entry-meta"><span class="entry-date"><abbr class="published" title="2011-02-15T16:57:42+0900">February 15, 2011</abbr></span></div><div class="entry-content"><p>Today I stumbled across <a href="http://tex.stackexchange.com/questions/11105/tikz-diagrams-in-math-mode" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://tex.stackexchange.com/questions/11105/tikz-diagrams-in-math-mode']);">Tikz Diagrams in Math Mode</a> topic on <a href="http://tex.stackexchange.com/" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://tex.stackexchange.com/']);">tex.SE</a>. Here is how QuickLaTeX solves the task (example is taken from one of the answers in the thread):</p><p class="ql-center-picture"><img src="http://www.holoborodko.com/pavel/wp-content/ql-cache/quicklatex.com-ff598f999536267e5150768c8d5953b8_l3.png" height="64" width="276" class="ql-img-picture quicklatex-auto-format" alt="Rendered by QuickLaTeX.com" title="Rendered by QuickLaTeX.com"/></p><p> <a href="http://www.holoborodko.com/pavel/2011/02/15/quicklatex-hackenbush-diagram/#more-2663" class="more-link">Read More <span class="meta-nav">&raquo;</span></a></p></div><div class="entry-utility"><span class="cat-links">Posted in <a href="http://www.holoborodko.com/pavel/category/quicklatex/" rel="category tag">QuickLaTeX</a></span> <span class="meta-sep">|</span><span class="tag-links"> Tagged <a href="http://www.holoborodko.com/pavel/tag/diagram/" rel="tag">diagram</a>, <a href="http://www.holoborodko.com/pavel/tag/hackenbush/" rel="tag">Hackenbush</a>, <a href="http://www.holoborodko.com/pavel/tag/quicklatex/" rel="tag">QuickLaTeX</a></span> <span class="meta-sep">|</span> <span class="comments-link"><a href="http://www.holoborodko.com/pavel/2011/02/15/quicklatex-hackenbush-diagram/#comments" title="Comment on QuickLaTeX: Hackenbush diagram">Leave a comment</a></span></div></div><div id="post-2594" class="hentry p7 post publish author-pavel-holoborodko category-quicklatex tag-quicklatex tag-tikz tag-tikz-timing y2011 m02 d09 h20 slug-quicklatex-tikz-timing-package"><h2 class="entry-title"><a href="http://www.holoborodko.com/pavel/2011/02/09/quicklatex-tikz-timing-package/" title="Permalink to QuickLaTeX: tikZ-timing package" rel="bookmark">QuickLaTeX: tikZ-timing package</a></h2><div class="entry-meta"><span class="entry-date"><abbr class="published" title="2011-02-09T11:02:06+0900">February 9, 2011</abbr></span></div><div class="entry-content"><p>LaTeX package <code>tikZ-timing</code> created by <a href="http://latex.scharrer-online.de/" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://latex.scharrer-online.de/']);">Martin Scharrer</a> allows easy typing of timing diagrams (digital waveforms) in offline documents.</p><p>With the aid of QuickLaTeX <code>tikZ-timing</code> diagrams can be used seamlessly in the WordPress blogs (or any other website). You can just paste <code>tikZ-timing</code> commands directly in the text &#8211; QuickLaTeX will compile them into images and embed in the published page.</p><p> <a href="http://www.holoborodko.com/pavel/2011/02/09/quicklatex-tikz-timing-package/#more-2594" class="more-link">Read More <span class="meta-nav">&raquo;</span></a></p></div><div class="entry-utility"><span class="cat-links">Posted in <a href="http://www.holoborodko.com/pavel/category/quicklatex/" rel="category tag">QuickLaTeX</a></span> <span class="meta-sep">|</span><span class="tag-links"> Tagged <a href="http://www.holoborodko.com/pavel/tag/quicklatex/" rel="tag">QuickLaTeX</a>, <a href="http://www.holoborodko.com/pavel/tag/tikz/" rel="tag">tikZ</a>, <a href="http://www.holoborodko.com/pavel/tag/tikz-timing/" rel="tag">tikz-timing</a></span> <span class="meta-sep">|</span> <span class="comments-link"><a href="http://www.holoborodko.com/pavel/2011/02/09/quicklatex-tikz-timing-package/#comments" title="Comment on QuickLaTeX: tikZ-timing package">2 Comments</a></span></div></div><div id="post-2580" class="hentry p8 post publish author-pavel-holoborodko category-quicklatex tag-quicklatex tag-wordpress y2011 m02 d09 h06 alt slug-quicklatex-laplace-transformation-symbols"><h2 class="entry-title"><a href="http://www.holoborodko.com/pavel/2011/02/08/quicklatex-laplace-transformation-symbols/" title="Permalink to QuickLaTeX: Laplace Transformation Symbols" rel="bookmark">QuickLaTeX: Laplace Transformation Symbols</a></h2><div class="entry-meta"><span class="entry-date"><abbr class="published" title="2011-02-08T21:35:40+0900">February 8, 2011</abbr></span></div><div class="entry-content"><p>There are special commands for Laplace-Transformation Symbols in <code>trfsigns</code> package (see <a href="http://www.ctan.org/tex-archive/info/symbols/comprehensive/symbols-letter.pdf" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://www.ctan.org/tex-archive/info/symbols/comprehensive/symbols-letter.pdf']);" rel="nofollow">The Comprehensive <img src="http://www.holoborodko.com/pavel/wp-content/ql-cache/quicklatex.com-b73b5686a987bf1cb4a42f02eca339dd_l3.png" class="ql-img-inline-formula quicklatex-auto-format" alt="&#92;&#116;&#101;&#120;&#116;&#114;&#109;&#123;&#92;&#76;&#97;&#84;&#101;&#88;&#125;" title="Rendered by QuickLaTeX.com" height="19" width="51" style="vertical-align: -4px;"/> Symbol List</a>, Table 81, page 40): <code>\laplace </code> and <code>\Laplace </code>.</p><p>To use them with QuickLaTeX, just include <code>trfsigns</code> in preamble (local or global), e.g:</p><pre>&#92;&#91; &#91;&#43;&#112;&#114;&#101;&#97;&#109;&#98;&#108;&#101;&#93; &#32;&#32;&#32;&#92;&#117;&#115;&#101;&#112;&#97;&#99;&#107;&#97;&#103;&#101;&#123;&#116;&#114;&#102;&#115;&#105;&#103;&#110;&#115;&#125; &#91;&#47;&#112;&#114;&#101;&#97;&#109;&#98;&#108;&#101;&#93; &#32;&#32;&#102;&#40;&#116;&#41;&#32;&#92;&#108;&#97;&#112;&#108;&#97;&#99;&#101;&#32;&#70;&#40;&#115;&#41;&#32;&#92;&#113;&#113;&#117;&#97;&#100;&#32;&#70;&#40;&#115;&#41;&#32;&#92;&#76;&#97;&#112;&#108;&#97;&#99;&#101;&#32;&#102;&#40;&#116;&#41; &#92;&#93;</pre><p>results in</p><p class="ql-center-displayed-equation" style="line-height: 20px;"><span class="ql-right-eqno"> &nbsp; </span><span class="ql-left-eqno"> &nbsp; </span><img src="http://www.holoborodko.com/pavel/wp-content/ql-cache/quicklatex.com-362a8a6328a816caa57abe7fae1de3ee_l3.png" height="20" width="268" class="ql-img-displayed-equation quicklatex-auto-format" alt="&#92;&#91; &#32;&#32;&#102;&#40;&#116;&#41;&#32;&#92;&#108;&#97;&#112;&#108;&#97;&#99;&#101;&#32;&#70;&#40;&#115;&#41;&#32;&#92;&#113;&#113;&#117;&#97;&#100;&#32;&#70;&#40;&#115;&#41;&#32;&#92;&#76;&#97;&#112;&#108;&#97;&#99;&#101;&#32;&#102;&#40;&#116;&#41; &#92;&#93;" title="Rendered by QuickLaTeX.com"/></p><p>Can you do that with other LaTeX plugins for WordPress :-)?</p></div><div class="entry-utility"><span class="cat-links">Posted in <a href="http://www.holoborodko.com/pavel/category/quicklatex/" rel="category tag">QuickLaTeX</a></span> <span class="meta-sep">|</span><span class="tag-links"> Tagged <a href="http://www.holoborodko.com/pavel/tag/quicklatex/" rel="tag">QuickLaTeX</a>, <a href="http://www.holoborodko.com/pavel/tag/wordpress/" rel="tag">WordPress</a></span> <span class="meta-sep">|</span> <span class="comments-link"><a href="http://www.holoborodko.com/pavel/2011/02/08/quicklatex-laplace-transformation-symbols/#comments" title="Comment on QuickLaTeX: Laplace Transformation Symbols">1 Comment</a></span></div></div><div id="post-2520" class="hentry p9 post publish author-pavel-holoborodko category-quicklatex tag-quicklatex tag-tikz tag-wordpress y2011 m02 d07 h10 slug-quicklatex-tikz-graphics"><h2 class="entry-title"><a href="http://www.holoborodko.com/pavel/2011/02/07/quicklatex-tikz-graphics/" title="Permalink to QuickLaTeX: tikZ graphics" rel="bookmark">QuickLaTeX: tikZ graphics</a></h2><div class="entry-meta"><span class="entry-date"><abbr class="published" title="2011-02-07T01:05:19+0900">February 7, 2011</abbr></span></div><div class="entry-content"><p><a href="http://www.holoborodko.com/pavel/quicklatex/" >QuickLaTeX</a> is free online service which allows LaTeX usage on the web pages.</p><p>QuickLaTeX supports <code>tikZ</code> graphics since version 3.7.1.</p><p>User can insert <code>tikZ</code> code snippets directly on the page (in WordPress editor) between <code>&#92;&#98;&#101;&#103;&#105;&#110;&#123;&#116;&#105;&#107;&#122;&#112;&#105;&#99;&#116;&#117;&#114;&#101;&#125;&#32;&#46;&#46;&#46;&#32;&#92;&#101;&#110;&#100;&#123;&#116;&#105;&#107;&#122;&#112;&#105;&#99;&#116;&#117;&#114;&#101;&#125;</code> commands. QuickLaTeX will render it into image and place on the page.</p><p> <a href="http://www.holoborodko.com/pavel/2011/02/07/quicklatex-tikz-graphics/#more-2520" class="more-link">Read More <span class="meta-nav">&raquo;</span></a></p></div><div class="entry-utility"><span class="cat-links">Posted in <a href="http://www.holoborodko.com/pavel/category/quicklatex/" rel="category tag">QuickLaTeX</a></span> <span class="meta-sep">|</span><span class="tag-links"> Tagged <a href="http://www.holoborodko.com/pavel/tag/quicklatex/" rel="tag">QuickLaTeX</a>, <a href="http://www.holoborodko.com/pavel/tag/tikz/" rel="tag">tikZ</a>, <a href="http://www.holoborodko.com/pavel/tag/wordpress/" rel="tag">WordPress</a></span> <span class="meta-sep">|</span> <span class="comments-link"><a href="http://www.holoborodko.com/pavel/2011/02/07/quicklatex-tikz-graphics/#comments" title="Comment on QuickLaTeX: tikZ graphics">5 Comments</a></span></div></div><div id="post-2384" class="hentry p10 post publish author-pavel-holoborodko category-programming tag-c tag-qextserialport tag-qt y2011 m02 d02 h00 alt slug-how-to-compile-qextserialport-wit-visual-studio-2010"><h2 class="entry-title"><a href="http://www.holoborodko.com/pavel/2011/02/01/how-to-compile-qextserialport-wit-visual-studio-2010/" title="Permalink to How To: QextSerialPort for Visual Studio 2010" rel="bookmark">How To: QextSerialPort for Visual Studio 2010</a></h2><div class="entry-meta"><span class="entry-date"><abbr class="published" title="2011-02-01T15:05:06+0900">February 1, 2011</abbr></span></div><div class="entry-content"><p>QextSerialPort is a nice library for serial port communication. It is based on C++ cross-platform Qt framework and must have in the toolkit of DSP/embedded software developer.</p><p>I&#8217;ve spent several hours trying to compile QextSerialPort for Visual Studio 2010 + Qt 4.7.1. Here is my recipe to success.</p><p>We assume that Qt is installed in <code>C:\Qt\4.7.1</code> (see <a href="http://www.holoborodko.com/pavel/2011/02/01/how-to-compile-qt-4-7-with-visual-studio-2010/" >How To Compile Qt 4.7 with Visual Studio 2010</a> for instructions).</p><p> <a href="http://www.holoborodko.com/pavel/2011/02/01/how-to-compile-qextserialport-wit-visual-studio-2010/#more-2384" class="more-link">Read More <span class="meta-nav">&raquo;</span></a></p></div><div class="entry-utility"><span class="cat-links">Posted in <a href="http://www.holoborodko.com/pavel/category/programming/" rel="category tag">Programming</a></span> <span class="meta-sep">|</span><span class="tag-links"> Tagged <a href="http://www.holoborodko.com/pavel/tag/c/" rel="tag">C++</a>, <a href="http://www.holoborodko.com/pavel/tag/qextserialport/" rel="tag">QextSerialPort</a>, <a href="http://www.holoborodko.com/pavel/tag/qt/" rel="tag">Qt</a></span> <span class="meta-sep">|</span> <span class="comments-link"><a href="http://www.holoborodko.com/pavel/2011/02/01/how-to-compile-qextserialport-wit-visual-studio-2010/#comments" title="Comment on How To: QextSerialPort for Visual Studio 2010">12 Comments</a></span></div></div><div id="nav-below" class="navigation"><div class="nav-previous"><a href="http://www.holoborodko.com/pavel/page/2/" ><span class="meta-nav">&laquo;</span> Older posts</a></div><div class="nav-next"></div></div></div></div></div><div id="footer"><div id="siteinfo"> Powered by <a class="wp-link" href="http://WordPress.org/" title="WordPress" rel="generator">WordPress</a> with <a href="http://www.holoborodko.com/pavel/quicklatex/">QuickLaTeX</a>. Built on the <a class="theme-link" href="http://themeshaper.com/thematic-for-wordpress" title="Thematic Theme Framework" rel="designer">Thematic Theme Framework</a>.</div></div></div> <!-- ngg_resource_manager_marker --><script type='text/javascript'> /* <![CDATA[ */ var ratingsL10n = {"plugin_url":"http:\/\/www.holoborodko.com\/pavel\/wp-content\/plugins\/wp-postratings","ajax_url":"http:\/\/www.holoborodko.com\/pavel\/wp-admin\/admin-ajax.php","text_wait":"Please rate only 1 item at a time.","image":"stars_crystal","image_ext":"gif","max":"5","show_loading":"1","show_fading":"1","custom":"0"}; var ratings_mouseover_image=new Image();ratings_mouseover_image.src="http://www.holoborodko.com/pavel/wp-content/plugins/wp-postratings/images/stars_crystal/rating_over.gif";; /* ]]> */ </script> <script type='text/javascript' src='http://www.holoborodko.com/pavel/wp-content/plugins/wp-postratings/js/postratings-js.js?ver=1.87'></script> <script type='text/javascript' src='http://www.holoborodko.com/pavel/wp-includes/js/wp-embed.min.js?ver=5.3.18'></script> <script type='text/javascript' src='http://www.holoborodko.com/pavel/wp-content/cache/autoptimize/js/autoptimize_single_488ca2f56c37f84283fc9be63219304f.js?ver=3.0.83c'></script> <script type='text/javascript' src='http://www.holoborodko.com/pavel/wp-content/cache/autoptimize/js/autoptimize_single_09792428d91aaa6494f2e033e34bb13f.js?ver=20091209'></script> <script type='text/javascript'>(function(){ var corecss = document.createElement('link'); var themecss = document.createElement('link'); var corecssurl = "http://www.holoborodko.com/pavel/wp-content/plugins/syntaxhighlighter/syntaxhighlighter3/styles/shCore.css?ver=3.0.83c"; if ( corecss.setAttribute ) { corecss.setAttribute( "rel", "stylesheet" ); corecss.setAttribute( "type", "text/css" ); corecss.setAttribute( "href", corecssurl ); } else { corecss.rel = "stylesheet"; corecss.href = corecssurl; } document.getElementsByTagName("head")[0].insertBefore( corecss, document.getElementById("syntaxhighlighteranchor") ); var themecssurl = "http://www.holoborodko.com/pavel/wp-content/plugins/syntaxhighlighter/syntaxhighlighter3/styles/shThemeDefault.css?ver=3.0.83c"; if ( themecss.setAttribute ) { themecss.setAttribute( "rel", "stylesheet" ); themecss.setAttribute( "type", "text/css" ); themecss.setAttribute( "href", themecssurl ); } else { themecss.rel = "stylesheet"; themecss.href = themecssurl; } //document.getElementById("syntaxhighlighteranchor").appendChild(themecss); document.getElementsByTagName("head")[0].insertBefore( themecss, document.getElementById("syntaxhighlighteranchor") ); })(); SyntaxHighlighter.config.strings.expandSource = '+ expand source'; SyntaxHighlighter.config.strings.help = '?'; SyntaxHighlighter.config.strings.alert = 'SyntaxHighlighter\n\n'; SyntaxHighlighter.config.strings.noBrush = 'Can\'t find brush for: '; SyntaxHighlighter.config.strings.brushNotHtmlScript = 'Brush wasn\'t configured for html-script option: '; SyntaxHighlighter.defaults['pad-line-numbers'] = true; SyntaxHighlighter.all();</script> <script src="http://stats.wordpress.com/e-202448.js" type="text/javascript"></script> <script type="text/javascript">st_go({blog:'4345820',v:'ext',post:'0'}); var load_cmc = function(){linktracker_init(4345820,0,2);}; if ( typeof addLoadEvent != 'undefined' ) addLoadEvent(load_cmc); else load_cmc();</script> <script defer src="http://www.holoborodko.com/pavel/wp-content/cache/autoptimize/js/autoptimize_cb95dd6fcae376c9b92e0fc8163e919f.js"></script></body></html> <!-- Dynamic page generated in 0.472 seconds. --> <!-- Cached page generated by WP-Super-Cache on 2024-11-29 03:03:12 --> <!-- Compression = gzip -->

Pages: 1 2 3 4 5 6 7 8 9 10