library("broadcast")
<- datasets::ability.cov$cov
vc <- matrix(rnorm(1000), 1000, ncol(vc))
X
solve(vc)
## general picture blocks maze reading
## general 0.082259001 -0.0312406436 -7.750932e-03 -0.013309494 -2.061705e-02
## picture -0.031240644 0.2369906996 -2.484938e-02 0.017844845 8.603286e-04
## blocks -0.007750932 -0.0248493822 1.344272e-02 -0.012544830 -3.802671e-05
## maze -0.013309494 0.0178448450 -1.254483e-02 0.101625400 5.508423e-03
## reading -0.020617049 0.0008603286 -3.802671e-05 0.005508423 5.713620e-02
## vocab -0.002420800 0.0019394999 -1.157864e-03 -0.002857265 -2.406969e-02
## vocab
## general -0.002420800
## picture 0.001939500
## blocks -0.001157864
## maze -0.002857265
## reading -0.024069692
## vocab 0.020323179
cinv(vc) # faster than `solve()`, but only works on positive definite matrices
## [,1] [,2] [,3] [,4] [,5]
## [1,] 0.082259001 -0.0312406436 -7.750932e-03 -0.013309494 -2.061705e-02
## [2,] -0.031240644 0.2369906996 -2.484938e-02 0.017844845 8.603286e-04
## [3,] -0.007750932 -0.0248493822 1.344272e-02 -0.012544830 -3.802671e-05
## [4,] -0.013309494 0.0178448450 -1.254483e-02 0.101625400 5.508423e-03
## [5,] -0.020617049 0.0008603286 -3.802671e-05 0.005508423 5.713620e-02
## [6,] -0.002420800 0.0019394999 -1.157864e-03 -0.002857265 -2.406969e-02
## [,6]
## [1,] -0.002420800
## [2,] 0.001939500
## [3,] -0.001157864
## [4,] -0.002857265
## [5,] -0.024069692
## [6,] 0.020323179
all(round(solve(vc), 6) == round(cinv(vc), 6)) # they're the same
## [1] TRUE
sd_gauss_lc(X, vc)
## [1] 28.97507669 73.46506997 8.51345843 55.65334668 4.05342819
## [6] 7.28130098 54.69359815 33.43403245 25.28746149 62.95384171
## [11] 55.08478973 28.83140774 17.13124656 48.94509356 14.30014077
## [16] 40.75025686 5.68760468 59.23763787 12.80459796 3.73146287
## [21] 16.86772295 42.30238973 51.38352801 41.05863243 82.21307197
## [26] 5.59155998 12.16481142 3.93242454 24.17623998 29.35905193
## [31] 39.63141400 19.74337089 17.84950373 31.05125751 26.09826241
## [36] 24.61746669 11.61319986 34.99679460 2.03715675 0.30569638
## [41] 42.92736725 37.80994036 6.77952897 67.00075197 37.13037054
## [46] 32.69126834 36.62811554 2.51848738 1.57368627 24.45184231
## [51] 26.29778743 2.16889622 0.74669582 53.40507937 80.51224462
## [56] 7.80110647 8.47307444 20.80310695 9.04496945 31.06995157
## [61] 15.11107499 59.10728526 38.20494933 2.81851206 14.05248559
## [66] 17.43985669 7.10240083 20.87484401 54.15960408 6.38763898
## [71] 2.35076687 12.05832136 0.18223653 56.14093918 12.56129684
## [76] 9.00728735 12.73939452 39.44537540 32.27336417 17.66267471
## [81] 7.90413002 34.84966928 58.60459728 18.94076645 12.18539278
## [86] 13.92841243 11.53848007 37.02590659 14.86624251 2.02910437
## [91] 17.02813911 18.28272659 8.22191085 0.36051732 39.14880972
## [96] 30.08746754 24.99929083 36.01791994 26.58662335 14.62810724
## [101] 28.36155448 2.32081111 17.50176368 21.09494630 16.13415458
## [106] 25.41145266 14.80935555 19.18641737 5.57353967 25.77913094
## [111] 20.24016449 21.03776552 25.17865957 48.48919607 59.96342515
## [116] 23.06853923 63.28117164 12.43869948 1.15727447 42.49835860
## [121] 0.40076916 16.73908331 22.90903826 2.12799602 2.12704510
## [126] 32.37369070 9.23181178 9.02284623 6.28646592 16.07783429
## [131] 26.08331198 24.58818952 42.10329187 63.16318006 3.76359346
## [136] 5.54597566 15.67168019 40.50762058 6.21206171 10.04651339
## [141] 6.32035691 15.04732505 36.75655506 24.30295114 28.43456642
## [146] 49.05277922 1.87953415 46.38843383 22.81317517 0.14868190
## [151] 34.18292395 1.95485042 11.82749407 32.90712551 10.46075649
## [156] 47.69124703 44.26665114 5.70084828 9.33047651 21.20671217
## [161] 53.72776107 22.39558052 7.59870406 57.15640417 31.86102651
## [166] 35.69104594 12.17031988 4.68159704 19.86589697 77.27600324
## [171] 39.50450628 33.91447093 36.24217711 26.22565092 53.84261485
## [176] 34.89062274 32.90720732 68.08988458 12.36612131 57.43123732
## [181] 10.65382283 21.32678205 6.25878785 0.31635451 2.15010198
## [186] 6.19610337 37.53433190 86.82977830 12.34204838 9.81890492
## [191] 6.93904920 75.79692030 6.06834548 57.03383313 57.06643841
## [196] 46.24381708 6.36846949 42.38519930 18.38560675 3.27881068
## [201] 23.40308365 22.20901268 25.61044915 41.99860032 15.83932397
## [206] 5.07666401 9.00870606 5.42421774 15.74575806 18.35304296
## [211] 15.09342588 48.74416157 7.47225877 39.05499440 28.37983176
## [216] 33.50102662 14.42962912 0.44032382 31.66019312 49.43394922
## [221] 11.00821419 29.34371671 30.62319614 95.92641341 16.81527548
## [226] 1.37563428 49.11210249 48.42825851 3.68191236 9.27219509
## [231] 27.17293106 35.12911642 75.74310063 12.41908150 15.95430967
## [236] 31.34719325 16.97965020 39.79212714 47.73329536 25.43063177
## [241] 55.96199414 7.78099553 17.83507106 38.82658799 7.95049226
## [246] 11.50993512 47.25636707 1.62656885 9.48108330 13.81543101
## [251] 37.08709397 42.06636253 17.28226046 16.06259007 56.98149770
## [256] 19.11746844 21.51172065 68.81932418 1.95358412 8.93974132
## [261] 38.15363427 0.08343337 18.12347727 10.40797000 10.29898272
## [266] 20.75695840 10.51476757 38.46855009 59.19553009 27.33518952
## [271] 13.94245149 8.19676837 7.07555889 26.74456986 7.93880136
## [276] 29.30527206 37.07240040 86.05482153 44.21123436 23.96467862
## [281] 55.76394537 3.25737742 124.86002743 55.79983245 4.05841809
## [286] 25.42601208 12.38196949 31.03538347 47.44724689 33.62946599
## [291] 3.84395091 35.11888477 9.02329560 1.93239057 3.78886393
## [296] 39.26125786 19.53773032 36.85926236 11.03394103 35.67764327
## [301] 33.72736952 12.26449580 0.64760493 13.22002226 3.31190229
## [306] 28.92135280 9.56625339 17.51040043 18.14111760 9.10090885
## [311] 20.58477412 55.99469352 26.36322735 8.18336793 14.64409335
## [316] 33.58353368 63.25976320 22.32993838 1.58259412 19.22255816
## [321] 8.79387775 93.66546756 7.62012560 4.65933490 9.90049842
## [326] 22.52636798 28.78077460 13.56064954 65.27760642 19.10218378
## [331] 27.82024747 41.97980468 3.95561173 21.85078640 34.23723008
## [336] 12.44990862 11.67071676 6.95227401 60.31287414 41.17904380
## [341] 37.08918880 76.59568790 43.54578824 10.35667980 59.82453541
## [346] 27.95264289 21.85873449 17.76365668 2.40288020 80.93688512
## [351] 14.07337044 14.40681675 67.89491744 56.07424435 75.47254693
## [356] 35.25362853 29.44241833 0.59858968 40.97929537 5.60834267
## [361] 21.07463369 12.45977578 26.17676765 14.84460112 8.48663500
## [366] 31.60055713 26.22897080 25.75366732 3.66693075 60.26005571
## [371] 13.22863416 43.98656399 24.87979990 74.38459993 2.83494732
## [376] 26.50010978 44.09781181 0.86232195 3.04348713 25.18772073
## [381] 31.18831467 6.88888514 6.61759331 29.23442563 95.80124472
## [386] 23.07192396 10.35118807 86.25335365 36.11314078 57.55502486
## [391] 35.08879896 8.57014617 9.09823754 8.49251108 0.19359861
## [396] 19.56987128 59.46976171 69.09843578 3.32174481 40.85703147
## [401] 16.43478178 9.06436665 12.65547399 28.54792666 20.62158782
## [406] 16.01708439 14.61070984 21.19672879 30.47502243 28.09715274
## [411] 1.13441473 2.57192289 11.52955826 19.35495538 36.75052318
## [416] 15.36899301 7.53131818 11.20899127 15.63715041 31.53754338
## [421] 30.11251211 39.05932135 8.81711196 36.22314641 17.47116339
## [426] 24.78191375 9.73732524 21.13244552 0.11957343 4.27424614
## [431] 8.93989372 1.46819151 2.21318203 36.08682463 45.20871497
## [436] 13.59323562 1.44082614 47.33696150 39.60877686 50.98692365
## [441] 40.26190958 28.86365757 40.74742008 37.42457365 27.96738194
## [446] 46.12634502 22.04491942 23.48926849 18.97746102 42.41052279
## [451] 53.20754347 6.50365915 46.03644465 1.02546531 10.93022417
## [456] 51.67244526 12.66868644 18.85201956 5.30238938 36.41674965
## [461] 19.77874400 19.76175960 35.81985957 22.92497380 0.30675206
## [466] 26.53629117 11.17661048 8.93245072 24.59314658 34.80251456
## [471] 18.07746024 57.78740274 31.05929061 42.52753165 9.37310853
## [476] 11.54085759 16.08112165 38.69619771 17.68250230 1.78166053
## [481] 1.61219930 12.23287662 7.46726247 28.09367747 14.51932790
## [486] 35.79287005 40.91774288 31.25703440 35.11802935 4.36150800
## [491] 21.37107913 2.00081438 6.56114296 15.18077045 0.01374761
## [496] 13.12475079 43.69033941 28.95423823 10.10157792 42.49132339
## [501] 90.98777704 17.03348129 27.84701795 0.08171961 3.39691807
## [506] 6.39810452 5.60973544 2.35605135 22.62852093 70.52938820
## [511] 9.36122823 33.05909563 87.22380787 7.64040208 21.36719033
## [516] 14.12550731 10.65352193 21.15231119 5.98781262 8.53447492
## [521] 24.05187170 37.95854582 12.04333612 9.79265126 14.22651060
## [526] 2.65965747 11.73494245 15.72092299 28.24530908 3.22071665
## [531] 8.00809982 17.18754211 71.65764429 28.50286852 1.11539750
## [536] 44.09235636 11.95656941 6.36586461 6.01846516 27.40479667
## [541] 37.30814936 0.13980668 6.58862612 62.77315387 31.94913874
## [546] 36.90510787 14.47080230 15.44890229 12.46152573 34.67386647
## [551] 21.36182158 28.22921259 4.55497033 30.75771073 6.47272599
## [556] 16.02172163 19.43549485 73.51068895 21.78841441 15.87068409
## [561] 18.11196251 0.26081501 58.23672569 2.57210417 60.31802153
## [566] 1.29441371 9.18859104 2.72065056 22.15555073 25.08534438
## [571] 7.75160416 4.95621091 0.12833123 16.42806051 12.96169450
## [576] 41.13720171 36.96865291 46.54291341 21.06480009 61.43145488
## [581] 0.43845430 18.48483876 12.46563812 48.75337170 28.26593180
## [586] 11.09216013 9.64124535 41.74033464 13.40021421 5.34903892
## [591] 14.94224650 40.25027140 27.48422689 27.74352805 11.43162173
## [596] 53.05241242 22.15420519 15.22802786 27.42637318 48.20176631
## [601] 7.34781735 33.60670631 57.30781527 14.42565585 18.33161401
## [606] 14.82665182 21.26293690 21.67273862 5.94048194 22.46690183
## [611] 19.03068001 20.50326307 30.50623579 14.81869256 43.38251409
## [616] 32.55838644 6.25928214 14.91906016 0.03960515 38.39406823
## [621] 42.25529450 37.79976269 8.14175443 12.64869439 49.75416368
## [626] 34.29901323 20.01820678 22.76326302 68.27117193 23.05624374
## [631] 43.11561203 5.79601242 27.94506439 31.83620615 8.54784126
## [636] 41.29262361 1.10348010 41.04967458 9.94520906 38.07474887
## [641] 10.97899590 14.41480374 7.97920367 43.38490143 23.25194312
## [646] 11.44944155 36.41682238 21.42462224 46.17719782 5.44231171
## [651] 2.03619280 28.08896259 28.87439545 2.52660084 47.48717984
## [656] 37.49126950 20.92952415 17.57068887 3.19365712 9.12316706
## [661] 36.82093130 32.50324396 7.73117118 51.52151252 1.65262630
## [666] 4.20059150 72.75588249 9.54031383 4.22733432 6.63329580
## [671] 22.43694586 0.16869772 48.43948722 12.37781763 3.60064785
## [676] 3.78867891 25.14964638 34.49503321 12.36884667 10.03435473
## [681] 55.48255553 11.29159979 64.98663478 4.63196325 17.89135787
## [686] 4.27229192 53.79700071 13.16074645 47.97673901 18.52808469
## [691] 52.04762099 49.09744591 29.11863856 3.37941883 11.94273557
## [696] 54.00239894 2.34482125 25.19806388 50.08730802 5.78707193
## [701] 46.52019405 18.38521008 66.38835218 34.31519799 8.56483763
## [706] 6.97347518 0.87595841 9.95097012 23.17018991 18.26654239
## [711] 43.33825970 41.71499879 35.03970017 1.85160081 36.30235276
## [716] 13.68609457 36.02611801 15.74130864 11.49902026 47.27431717
## [721] 32.30336401 25.09259683 25.91228415 24.77035843 29.64069867
## [726] 64.57484531 8.65035974 17.29971849 64.45333116 23.29778256
## [731] 0.69740215 53.06445885 23.92978922 56.73606756 21.00417396
## [736] 5.47680927 6.88036876 9.27789161 8.74798373 13.33458951
## [741] 7.73769212 41.56159555 33.93852160 23.98294405 15.92057314
## [746] 5.80911416 48.21421035 22.69939988 22.86638342 4.79703925
## [751] 20.53369898 3.08441624 1.44478115 54.58540051 11.43833850
## [756] 8.34332644 26.44663756 63.79095270 35.86219946 41.35798833
## [761] 51.22372731 32.25096675 0.02556470 5.03592143 10.37216575
## [766] 51.69921893 1.80072278 1.33521755 29.17019364 19.94135534
## [771] 6.05694652 44.03556497 28.92506347 43.23289457 22.96448432
## [776] 43.29035847 17.20974694 24.02192135 23.98676939 27.14360498
## [781] 10.20424043 49.19824132 43.64712441 8.27981082 6.90692822
## [786] 53.96050862 39.02154324 41.56263901 19.92820217 41.78993544
## [791] 6.15172739 7.64451712 74.32910125 31.28042818 15.62603958
## [796] 37.82098150 0.82901320 28.93961505 60.36530397 5.13704718
## [801] 71.39130494 30.64834653 54.68790117 32.06800818 42.32853958
## [806] 28.42273900 3.18369307 27.29944559 31.53056643 29.17451653
## [811] 36.69693337 7.28508391 44.17231415 2.38959477 12.67450640
## [816] 61.83418812 5.22774381 14.87605062 11.96933946 24.65746323
## [821] 13.71870295 20.67482428 26.33375394 8.44775659 37.19840812
## [826] 2.86245809 0.56119495 39.18728323 30.79050615 25.67913428
## [831] 4.12938899 16.27943875 55.59945751 44.63418368 34.67898800
## [836] 7.42643604 13.13516268 63.76275303 0.98675321 12.85362103
## [841] 17.92719234 10.34101250 60.56586630 58.87760476 33.75686687
## [846] 10.71234036 51.85216738 16.44847760 25.70554701 0.82861210
## [851] 49.75182765 26.07162288 7.12132224 8.95154288 24.71643758
## [856] 12.12141177 57.00171087 14.21798423 64.88475199 21.90171537
## [861] 32.51416837 51.78874485 63.54027887 56.00614344 65.29476825
## [866] 43.95105253 63.70026549 0.77431704 44.88002755 10.71797448
## [871] 6.86415449 15.03066874 116.29907904 24.01220344 20.96579140
## [876] 95.49073135 39.78666192 48.69771424 28.31158951 19.30513996
## [881] 28.63790610 51.37575310 42.41093935 57.54436073 32.08551311
## [886] 37.01658234 22.95047890 37.37891535 30.48675244 17.86247679
## [891] 33.45640542 46.27487513 43.59527256 1.09424860 36.03514135
## [896] 23.43330547 47.74476641 2.00266835 2.05208381 7.45291684
## [901] 13.42236188 27.52633811 16.25617677 49.49418208 12.28094398
## [906] 52.31989519 3.77226553 0.38803283 28.17089080 21.11693437
## [911] 22.91950867 34.59859082 52.24973770 6.96807850 7.35191297
## [916] 17.35593504 11.46486604 7.40675748 27.68285052 8.86147703
## [921] 72.17240629 31.07911775 17.10891773 18.83650609 5.63402222
## [926] 34.94444739 28.06439580 40.24357881 15.62797788 11.12139682
## [931] 5.95919130 7.01676161 95.08988296 57.47223576 15.08561977
## [936] 62.58183108 2.52921968 51.84644247 0.52725749 43.24901761
## [941] 0.94772485 25.94013992 27.40269365 17.07457762 30.65814245
## [946] 58.14779379 21.14227053 8.50754530 32.45317690 42.84504910
## [951] 0.19133040 16.85749191 27.71750622 6.81693412 43.63809675
## [956] 32.86420320 64.61824361 20.04794798 13.45452756 12.33228962
## [961] 31.76341897 6.14817033 58.30833995 27.80033826 29.98106263
## [966] 18.96957868 4.45555472 64.30637649 12.32968748 39.44246004
## [971] 49.82507491 8.64154037 41.19809356 18.96219995 27.94763270
## [976] 8.36416365 13.91722138 9.64953801 40.61416734 16.39391453
## [981] 22.73706481 29.91950460 18.76650126 8.11228084 55.77112638
## [986] 15.57616552 55.75750644 5.43010753 58.99057543 13.84726299
## [991] 13.54694808 15.92373708 32.87668853 43.65604000 5.69511908
## [996] 35.53692819 24.20120695 30.66189870 69.94415266 11.67331597
linear_algebra_stats
Simple Linear Algebra Functions for Statistics
Description
‘broadcast’ provides some simple Linear Algebra Functions for Statistics:
cinv()
;
sd_gauss_lc()
.
Usage
cinv(x)
sd_gauss_lc(X, vc, bad_rp = NaN)
Arguments
x
|
a matrix |
X
|
a numeric matrix of constants |
vc
|
the variance-covariance matrix for the (correlated) Gaussian random variables. |
bad_rp
|
if vc is not a Positive (semi-) Definite matrix, give here the value to replace bad standard deviations with. |
Details
cinv()
cinv()
computes the Choleski inverse of a symmetric Positive Definite matrix.
sd_gauss_lc()
Given the linear combination X %*% b
, where:
-
X
is a matrix of constants; -
b
is a vector of (correlated) Gaussian random variables; -
vc
is the variance-covariance matrix forb
;
sd_gauss_lc(X, vc)
computes the standard deviations for the linear combination X %*% b
.
Written in ‘C’ for efficiency.
Value
For cinv()
:
A matrix.
For sd_gauss_lc()
:
A vector of standard deviations.