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 d25 h02 home blog windows msie"><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">«</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’t reveal any simple method for this. Below is obvious solution & 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">»</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 – 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="O(h^2)" 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"> </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="\begin{equation*} \displaystyle{{\frac{\partial^2{f}}{\partial{x}\partial{y}}}\approx \frac{1}{4\,h^2}\left[f_{-1,-1}+f_{1,1}-f_{1,-1}-f_{-1,1}\right]} \end{equation*}" 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="O(h^4)" 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"> </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="\begin{equation*} \frac{\partial^2 f}{\partial x \partial y} \approx \frac{1}{144 h^2}\left[   \begin{array}{l}     8(f_{1,-2}+f_{2,-1}+f_{-2,1}+f_{-1,2})-8(f_{-1,-2}+f_{-2,-1}+f_{1,2}+f_{2,1})\\    -(f_{2,-2}+f_{-2,2}-f_{-2,-2}-f_{2,2})+64(f_{-1,-1}+f_{1,1}-f_{1,-1}-f_{-1,1})   \end{array}\right] \end{equation*}" 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">»</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"> </span><span class="ql-left-eqno"> </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="\[  \frac{d^n}{d\omega^n} H(\omega) \Biggr|_{\omega=0}= 2\,\frac{d^n}{d\omega^n} \text{sinc}(\omega) \Biggr|_{\omega=0}=\frac{2\,(-1)^{n}}{n+1} \]" 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="n=0,2,4,\dots,2k" 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="H(\omega)" 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="N=15" title="Rendered by QuickLaTeX.com" height="15" width="64" style="vertical-align: -1px;"/>, red – <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="N=25" 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="\mathrm{sinc}(\omega)" 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">»</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 – 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">»</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 – 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>\begin{rxn} ...\end{rxn}</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>[latex] ... [/latex]</code> tags to mark <code>ChemFig</code> code sections. We didn’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">»</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">»</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 – 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">»</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="\textrm{\LaTeX}" 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>\[ [+preamble]    \usepackage{trfsigns} [/preamble]   f(t) \laplace F(s) \qquad F(s) \Laplace f(t) \]</pre><p>results in</p><p class="ql-center-displayed-equation" style="line-height: 20px;"><span class="ql-right-eqno"> </span><span class="ql-left-eqno"> </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="\[   f(t) \laplace F(s) \qquad F(s) \Laplace f(t) \]" 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>\begin{tikzpicture} ... \end{tikzpicture}</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">»</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’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">»</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">«</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-202447.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.174 seconds. --> <!-- Cached page generated by WP-Super-Cache on 2024-11-25 02:20:06 --> <!-- Compression = gzip -->