title: Intermediate Machine Learning with scikit-learn: Evaluation, Calibration, and Inspection use_katex: True class: title-slide # Intermediate Machine Learning with scikit-learn ## Evaluation, Calibration, and Inspection ![:scale 30%](images/scikit-learn-logo-notext.png) .larger[Thomas J. Fan]
@thomasjpfan
This workshop on Github: github.com/thomasjpfan/ml-workshop-intermediate-2-of-2
--- name: table-of-contents class: middle, larger # Table of Contents .g[ .g-6[ 1. [Model Evaluation](#evaluation) 1. [Model Calibration](#calibration) 1. [Model Inspection](#inspection) ] .g-6.g-center[ ![](images/scikit-learn-logo-notext.png) ] ] --- # Scikit-learn API .center[ ## `estimator.fit(X, [y])` ] .g[ .g-6[ ## `estimator.predict` - Classification - Regression - Clustering ] .g-6[ ## `estimator.transform` - Preprocessing - Dimensionality reduction - Feature selection - Feature extraction ] ] --- # Data Representation ![:scale 80%](images/data-representation.svg) --- # Supervised ML Workflow ![:scale 100%](images/ml-workflow-sklearn.svg) --- name: evaluation class: chapter-slide # 1. Model Evaluation .footnote-back[ [Back to Table of Contents](#table-of-contents) ] --- # How we were evaluating so far? ## Classification uses accuracy ```py from sklearn.linear_model import LogisticRegression lr = LogisticRegression().fit(X_train, y_train) *lr.score(X_test, y_test) ``` ## Regression uses coefficient of determination (R^2) ```py from sklearn.tree import DecisionTreeRegressor tree = DecisionTreeRegressor().fit(X_train, y_train) *tree.score(X_test, y_test) ``` --- class: chapter-slide # Metrics for Binary Classification --- # Positive or Negative class? .g.g-middle[ .g-4[ ![:scale 100%](images/spam.jpg) ] .g-4[ ![:scale 100%](images/cat-dog.jpg) ] .g-4[ ![:scale 100%](images/national-cancer-institute.jpg) ] ] ## Arbitrary decision but is often the minority class --- class: center # Confusion Matrix ![:scale 70%](notebooks/images/confusion_matrix.png) $$ \text{Accuracy} = \frac{TP + TN}{TP + TN + FP + FN} $$ --- # Confusion Matrix in scikit-learn ```python from sklearn.metrics import confusion_matrix lr = LogisticRegression().fit(X_train, y_train) y_pred = lr.predict(X_test) *confusion_matrix(y_test, y_pred) # array([[50, 3], # [ 3, 87]]) ``` --- # Plotting the confusion matrix ```python from sklearn.metrics import ConfusionMatrixDisplay *ConfusionMatrixDisplay.from_estimator(lr, X_test, y_test) ``` ![:scale 50%](notebooks/images/confusion_matrix_normal.png) --- ### Confusion matrix on wikipedia ![:scale 100%](images/wiki-zoo.png) ### confusion matrix in scikit-learn ![:scale 25%](notebooks/images/confusion_matrix_normal.png) --- # Scikit-learn defaults to accuracy ### Data with 90% True Negatives ![:scale 100%](notebooks/images/confusion_matrix_90_neg.png) --- # Other Common Metrics ## Precision, Recall, f-score .g[ .g-4[ $$ \text{precision} = \frac{TP}{TP + FP} $$ $$ \text{recall} = \frac{TP}{TP + FN} $$ $$ \text{F} = 2 \frac{\text{precision}\cdot\text{recall}}{\text{precision} + \text{recall}} $$ ] .g-8[ ![:scale 100%](notebooks/images/confusion_matrix.png) ] ] --- # Normalizing the confusion matrix .g[ .g-6[ ```py confusion_matrix(y_true, y_pred, normalize='true') ``` ![:scale 100%](notebooks/images/confusion_matrix_norm_true.png) ] .g-6[ ```py confusion_matrix(y_true, y_pred, normalized='pred') ``` ![:scale 100%](notebooks/images/confusion_matrix_norm_pred.png) ] ] --- # Averaging strategies ```py y_true = [1, 0, 0, 0, 0, 0, 0, 1] y_pred = [1, 1, 1, 1, 0, 0, 1, 0] ``` ```py recall_score(y_true, y_pred, pos_label=1) # 0.5 recall_score(y_true, y_pred, pos_label=0) # 0.333333333333 ``` .g[ .g-6[ ## `macro` $\frac{1}{2}\left(\frac{1}{2} + \frac{1}{3}\right) = \frac{5}{12}$ ```py recall_score(y_true, y_pred, average='macro') # 0.416666666 ``` Interested in the minority class ] .g-6[ ## `weighted` $\frac{1}{8}\left(2\cdot\frac{1}{2} + 6\cdot\frac{1}{3}\right) = \frac{3}{8}$ ```py recall_score(y_true, y_pred, average='weighted') # 0.375 ``` Adds more weight the the majority class ] ] --- # Classification Report ```py from sklearn.metrics import classification_report y_true = [1, 0, 0, 0, 0, 0, 0, 1] y_pred = [1, 1, 1, 1, 0, 0, 1, 0] print(classification_report(y_true, y_pred)) ``` ``` precision recall f1-score support 0 0.67 0.33 0.44 6 1 0.20 0.50 0.29 2 accuracy 0.38 8 macro avg 0.43 0.42 0.37 8 weighted avg 0.55 0.38 0.40 8 ``` --- class: chapter-slide # Notebook 📓! ## notebooks/01-model-evaluation.ipynb --- # Scikit-learn prediction API ### Predicting classes ```py log_reg.predict(X_test) # [0, 1, 0, 0, ...] ``` ### Predicting probabilities ```py log_reg.predict_proba(X_test) # array([[0.7, 0.3], # [0.1, 0.9], # [0.8, 0.2]]) ``` ### Decision function ```py log_reg.decision_function(X_test) # array([-1.203, 4.291, -2.745] ``` --- # Changing Thresholds .g[ .g-8[ .smaller-x[ ```py y_pred = log_reg.predict(X_test) print(classification_report(y_test, y_pred)) ``` ``` precision recall f1-score support False 0.99 1.00 0.99 2731 True 0.75 0.37 0.49 65 accuracy 0.98 2796 macro avg 0.87 0.68 0.74 2796 weighted avg 0.98 0.98 0.98 2796 ``` ```py y_pred_20 = log_reg.predict_proba(X_test)[:, 1] > 0.25 print(classification_report(y_test, y_pred_20)) ``` ``` precision recall f1-score support False 0.99 0.99 0.99 2731 True 0.63 0.55 0.59 65 accuracy 0.98 2796 macro avg 0.81 0.77 0.79 2796 weighted avg 0.98 0.98 0.98 2796 ``` ] ] .g-4[ $$ \text{precision} = \frac{TP}{TP + FP} $$ $$ \text{recall} = \frac{TP}{TP + FN} $$ ] ] --- # Precision recall curve ```py from sklearn.metrics import PrecisionRecallDisplay PrecisionRecallDisplay.from_estimator( log_reg, X_test, y_test, name="LogisticRegression") ``` .g[ .g-8[ ![:scale 100%](notebooks/images/plot_precision_recall_curve.png) ] .g-4[ $$ \text{precision} = \frac{TP}{TP + FP} $$ $$ \text{recall} = \frac{TP}{TP + FN} $$ ] ] --- # Average Precision $$ \text{AveP} = \sum_{k=1}^n P(k)\Delta r(k) $$ .center[ ![:scale 60%](notebooks/images/plot_precision_recall_curve.png) ] --- # ROC Curve (Receiver Operating Characteristic) ```py from sklearn.metrics import RocCurveDisplay RocCurveDisplay.from_estimator( log_reg, X_test, y_test, name="LogisticRegression") ``` .g[ .g-8[ ![:scale 100%](notebooks/images/plot_roc_curve.png) ] .g-4[ $$ \text{TPR} = \frac{TP}{TP + FN} $$ $$ \text{FPR} = \frac{FP}{FP + TN} $$ ] ] --- # Both Curves ![:scale 100%](notebooks/images/both_plots.png) --- class: chapter-slide # Notebook 📓! ## notebooks/01-model-evaluation.ipynb --- # Multi-class Metrics ![:scale 60%](notebooks/images/confusion_matrix_multiclass.png) --- # Classification report ```py print(classification_report(y_test, y_pred)) ``` ``` precision recall f1-score support 0 0.98 0.96 0.97 45 1 0.93 0.93 0.93 46 2 1.00 0.98 0.99 44 3 0.94 1.00 0.97 46 4 0.96 1.00 0.98 45 5 0.98 0.96 0.97 46 6 1.00 0.98 0.99 45 7 0.94 1.00 0.97 45 8 0.95 0.86 0.90 43 9 0.93 0.93 0.93 45 accuracy 0.96 450 macro avg 0.96 0.96 0.96 450 weighted avg 0.96 0.96 0.96 450 ``` --- # Multi-class ROC AUC ### Hand & Till, 2001, One vs One ```py from sklearn.metrics import roc_auc_score roc_auc_score(y_test, rf_y_pred_proba, multi_class='ovo') # 0.998798 ``` ### Provost & Domingo, 2000, One vs Rest ```py from sklearn.metrics import roc_auc_score roc_auc_score(y_test, rf_y_pred_proba, multi_class='ovo') # 0.998800 ``` --- # Metrics for regression models - $R^2$ : default metric for scikit-learn regressors ```py from sklearn.metrics import r2_score ``` - Mean Squared Error (MSE) ```py from sklearn.metrics import mean_squared_error ``` - Mean Absolute error, Median Absolute error ```py from sklearn.metrics import mean_absolute_error from sklearn.metrics import median_absolute_error ``` --- # Metrics Covered Today ## Classification - recall - precision - roc auc - average precision ## Regression - r2 score - mean squared error - mean absolute error - median absolute error There are many metrics in scikit-lean that can be found [here](https://scikit-learn.org/stable/modules/model_evaluation.html#metrics-and-scoring-quantifying-the-quality-of-predictions) --- class: middle # Picking metrics - Accuracy is only useful for balanced problems - What part of the confusion matrix is important to you? - Align metrics with your business problem
![:scale 100%](images/metrics-business.svg) --- name: calibration class: chapter-slide # 2. Model Calibration .footnote-back[ [Back to Table of Contents](#table-of-contents) ] --- # Calibration ## What would you prefer? > The model predicted you do not have cancer. ### Or > The model predicted you are 30% likely to have cancer. --- # Calibration Curve .g[ .g-6[ ![:scale 100%](images/calibration-classifier.svg) ] .g-6[ ![:scale 100%](images/caligration_classifier.png) ] ] --- # Calibration curve in sklearn ```py from sklearn.calibration import calibration_curve lr_proba = lr.predict_proba(X_test) prob_true, prod_pred = calibration_curve(y_test, lr_proba[:, 1], n_bins=5) prob_true # [0.05618839 0.29477612 0.51824088 0.71928429 0.94240662] prod_pred # [0.05863318 0.29295884 0.50067089 0.70591316 0.94189604] ``` ## Brier Score ### Mean squared error for probability estimates ```py from sklearn.metrics import brier_score_loss ``` $$ \text{Brier score loss} = \frac{\sum_{i=1}^{n}(\hat{p}(y_i) - y_i)}{n} $$ --- # Number of bins ![:scale 100%](notebooks/images/compare_calibration_n_bins.png) --- # Comparing estimators ![:scale 100%](notebooks/images/compare_calibration_estimators.png) --- # Calibrating a classifier - Build another model mapping from classifier probabilities to better probabilities - 1d model $$ f_{calib}(s(x)) \approx p(y) $$ - s(x) is the score given by the model - Can either be a decision function or probability --- class: middle # Platt Scaling - Use a logistic sigmoid for $f_{calib}$ $$ f_{platt} = \frac{1}{1 + \exp(-w\cdot s(x) + b)} $$ --- # Isotonic Regression .g.g-middle[ .g-6[ - Non-parametric mapping - Learns monotonically increasing step-functions in 1d - Groups data into constant parts ] .g-6[ ![:scale 100%](images/isotonic_regression.png) ] ] --- # Fitting the calibration model ![:scale 80%](images/calibration_val_scores.png) --- # Fitting the calibration model ![:scale 80%](images/calibration_val_scores_fitted.png) --- # Calibration in scikit-learn ```py from sklearn.calibration import CalibratedClassifierCV from sklearn.ensemble import RandomForestClassifier rf = RandomForestClassifier() cal_rf = CalibratedClassifierCV(rf, method="isotonic") cal_rf.fit(X_train, y_train) ``` - By default, splits the training dataset into 5 folds - Trains 5 (classifier, regressor) pairs --- class: chapter-slide # Notebook 📔! ## notebooks/02-model-calibration.ipynb --- name: inspection class: chapter-slide # 3. Model Inspection .footnote-back[ [Back to Table of Contents](#table-of-contents) ] --- class: middle # Post-hoc Model Interpretation - Not inference - Not causality - Explaining the model != explaining the data - Model inspection only tells you about the model - Useful only if the model is good --- class: middle # Post-hoc Model Interpretation ## Inspection based on model - Interpreting the coefficients in a linear model: `coef_` - `feature_importances_` of a random forest ## Model-agnostic - Permutation importance - Partial dependence curves --- class: chapter-slide # Notebook 📕! ## notebooks/03-model-inspection.ipynb --- # Permutation Feature Importance 👑 (Pt 1) ```py X_train = [[0, 1, 2], [1, 2, 3], [2, 1, 4], [3, 1, 9], [4, 3, 1]] y_train = [1, 0, 1, 1, 0] model.fit(X_train, y_train) model.score(X_train, y_train) # 0.90 ``` --- # Permutation Feature Importance 👑 (Pt 2) ```py X_train_perm_1 = [ [1, 1, 2], [0, 2, 3], [2, 1, 4], [4, 1, 9], [3, 3, 1] ] model.score(X_train_perm_1, y_train) # 0.70 ``` --- # Permutation Feature Importance 👑 (Pt 3) ```py X_train_perm_2 = [ [1, 1, 2], [3, 2, 3], [4, 1, 4], [2, 1, 9], [0, 3, 1] ] model.score(X_train_perm_1, y_train) # 0.73 ``` --- # Permutation Feature Importance 👑 (Pt 4) ```py model.score(X_train_perm_3, y_train) # 0.80 ``` - Remember: `model.score(X_train, y_train) = 0.90` - permutation feature importance for the 1st feature: ```py [0.90 - 0.70, 0.90 - 0.73, 0.90 - 0.80] # [0.20, 0.17, 0.10] ``` --- # Permutation Feature Importance 👑 (Pt 5) ```py from sklearn.inspection import permutation_importance result = permutation_importance(model, X, y, n_repeats=3) result['importances'] # [[0.20, 0.17, 0.10], [0.5, 0.4, 0.6], ...] result['importances_mean'] # [ 0.157, 0.5, ...] result['importances_std'] # [0.0419 0.0816, ...]) ``` --- # Partial Dependence Plots (Pt 1) ```py X_train = [ [0, 1, 2], [1, 2, 3], [2, 4, 4], [3, 1, 9], [4, 3, 1] ] y_train = [0.1, 0.2, 0.3, 0.4, 0.5] model.fit(X_train, y_train) ``` --- # Partial Dependence Plots (Pt 2) ```py X_train_0 = [ [0, 1, 2], [0, 2, 3], [0, 4, 4], [0, 1, 9], [0, 3, 1] ] model.predict(X_train_0).mean() # 0.1 ``` --- # Partial Dependence Plots (Pt 3) ```py X_train_1 = [ [1, 1, 2], [1, 2, 3], [1, 4, 4], [1, 1, 9], [1, 3, 1] ] model.predict(X_train_1).mean() # 0.24 ``` --- # Partial Dependence Plots (Pt 4) .g[ .g-6[ ```py model.predict(X_train_0).mean() # 0.1 model.predict(X_train_1).mean() # 0.24 model.predict(X_train_2).mean() # 0.5 ... ``` ] .g-6[ ![:scale 100%](notebooks/images/partial_dependence_example.png) ] ] --- # Partial Dependence Plots in scikit-learn ```py from sklearn.inspection import PartialDependenceDisplay PartialDependenceDisplay.from_estimator( estimator, X, features) ``` ![:scale 65%](notebooks/images/partial_dependence_multiple.png) --- class: chapter-slide # Notebook 📘! ## notebooks/03-model-inspection.ipynb --- class: title-slide, left # Closing .g.g-middle[ .g-7[ ![:scale 30%](images/scikit-learn-logo-notext.png) 1. [Model Evaluation](#evaluation) 1. [Model Calibration](#calibration) 1. [Model Inspection](#inspection) ] .g-5.center[
.larger[Thomas J. Fan]
@thomasjpfan
This workshop on Github: github.com/thomasjpfan/ml-workshop-intermediate-2-of-2
] ]


Easing:
linear
swing
easeInQuad
easeOutQuad
easeInOutQuad
easeInCubic
easeOutCubic
easeInOutCubic
easeInQuart
easeOutQuart
easeInOutQuart
easeInQuint
easeOutQuint
easeInOutQuint
easeInSine
easeOutSine
easeInOutSine
easeInExpo
easeOutExpo
easeInOutExpo
easeInCirc
easeOutCirc
easeInOutCirc
easeInElastic
easeOutElastic
easeInOutElastic
easeInBack
easeOutBack
easeInOutBack
easeInBounce
easeOutBounce
easeInOutBounce
Duration:
More on github →


.
I am currently searching for an internship or research position for the summer of 2018. I am particularly interested in exploring wireless communications and language processing.
Concentration in Computer and Software Engineering
Porto Alegre, Brazil - Summer 2017
Houston, Texas - Fall 2016
Oviedo, Spain - May 2015 to Aug 2016
Denton, Texas - Fall 2014 and Spring 2015
Apart from being a web developer, I enjoy most of my time being outdoors. In the winter, I am an avid skiier and novice ice climber. During the warmer months here in Colorado, I enjoy mountain biking, free climbing, and kayaking.
When forced indoors, I follow a number of sci-fi and fantasy genre movies and television shows, I am an aspiring chef, and I spend a large amount of my free time exploring the latest technolgy advancements in the front-end web development world.


Video tag in HTML 5 | Ricard Torres Code
Video Source from https://html5demos.com/
Back to the Article
|
Fork me on Github


Re-connect your WIP Account
Shortcut
Read docs
Sync Interval
minutes
Launch at Login
Enable Notification
Notification when you haven't shipped today
Enable Development Mode
For developers working on this menubar app


Logic
18.504 Seminar in Logic
()
Prereq: (18.06, 18.510, 18.700, or 18.701) and (18.100A, 18.100B, 18.100P, or 18.100Q)
Units: 3-0-9
Students present and discuss the subject matter taken from current journals or books. Topics vary from year to year. Instruction and practice in written and oral communication provided. Enrollment limited.
H. Cohn
18.510 Introduction to Mathematical Logic and Set Theory
()
Prereq: None
Units: 3-0-9
Propositional and predicate logic. Zermelo-Fraenkel set theory. Ordinals and cardinals. Axiom of choice and transfinite induction. Elementary model theory: completeness, compactness, and Lowenheim-Skolem theorems. Godel's incompleteness theorem.
H. Cohn
18.515 Mathematical Logic
() Not offered regularly; consult department
Prereq: Permission of instructor
Units: 3-0-9
More rigorous treatment of basic mathematical logic, Godel's theorems, and Zermelo-Fraenkel set theory. First-order logic. Models and satisfaction. Deduction and proof. Soundness and completeness. Compactness and its consequences. Quantifier elimination. Recursive sets and functions. Incompleteness and undecidability. Ordinals and cardinals. Set-theoretic formalization of mathematics.
Staff
Probability and Statistics
18.600 Probability and Random Variables
(, )
Prereq: Calculus II (GIR)
Units: 4-0-8
Credit cannot also be received for 6.041, 6.431, 15.079, 15.0791
Lecture: MWF2 (VIRTUAL) Recitation: R12 (VIRTUAL) or R2 (VIRTUAL) or R4 (VIRTUAL) +final
Probability spaces, random variables, distribution functions. Binomial, geometric, hypergeometric, Poisson distributions. Uniform, exponential, normal, gamma and beta distributions. Conditional probability, Bayes theorem, joint distributions. Chebyshev inequality, law of large numbers, and central limit theorem. Credit cannot also be received for 6.041A or 6.041B.
Fall: J. Kelner Spring: S. Sheffield No textbook information available
18.615 Introduction to Stochastic Processes
()
Prereq: 6.041 or 18.600
Units: 3-0-9
Lecture: TR11-12.30 (VIRTUAL)
Basics of stochastic processes. Markov chains, Poisson processes, random walks, birth and death processes, Brownian motion.
P. Kempthorne Textbooks (Spring 2021)
18.642 Topics in Mathematics with Applications in Finance
()
Prereq: 18.03, 18.06, and (18.05 or 18.600)
Units: 3-0-9
Introduction to mathematical concepts and techniques used in finance. Lectures focusing on linear algebra, probability, statistics, stochastic processes, and numerical methods are interspersed with lectures by financial sector professionals illustrating the corresponding application in the industry. Prior knowledge of economics or finance helpful but not required.
P. Kempthorne, V. Strela, J. Xia
18.650[J] Fundamentals of Statistics
(, )
(Same subject as IDS.014[J]) (Subject meets with 18.6501)
Prereq: 6.041 or 18.600
Units: 4-0-8
Credit cannot also be received for 15.075, IDS.013
Lecture: MW9.30-11 (VIRTUAL) Recitation: F10 (VIRTUAL) or F12 (VIRTUAL)
In-depth introduction to the theoretical foundations of statistical methods that are useful in many applications. Enables students to understand the role of mathematics in the research and development of efficient statistical methods. Topics include methods for estimation (maximum likelihood estimation, method of moments, M-estimation), hypothesis testing (Wald's test, likelihood ratio test, T tests, goodness of fit), Bayesian statistics, linear regression, generalized linear models, and principal component analysis.
Fall: P. Rigollet Spring: T. Maunu No required or recommended textbooks
18.6501 Fundamentals of Statistics
(, )
(Subject meets with 18.650[J], IDS.014[J])
Prereq: 6.041 or 18.600
Units: 4-0-8
Credit cannot also be received for 15.075, IDS.013
Lecture: MW9.30-11 (VIRTUAL) Recitation: F10 (VIRTUAL) or F12 (VIRTUAL)
In-depth introduction to the theoretical foundations of statistical methods that are useful in many applications. Enables students to understand the role of mathematics in the research and development of efficient statistical methods. Topics include methods for estimation (maximum likelihood estimation, method of moments, M-estimation), hypothesis testing (Wald's test, likelihood ratio test, T tests, goodness of fit), Bayesian statistics, linear regression, generalized linear models, and principal component analysis.
Fall: P. Rigollet Spring: T. Maunu No textbook information available
18.655 Mathematical Statistics
()
Prereq: (18.650 and (18.100A, 18.100A, 18.100P, or 18.100Q)) or permission of instructor
Units: 3-0-9
Decision theory, estimation, confidence intervals, hypothesis testing. Introduces large sample theory. Asymptotic efficiency of estimates. Exponential families. Sequential analysis. Prior exposure to both probability and statistics at the university level is assumed.
T. Maunu
18.656[J] Mathematical Statistics: a Non-Asymptotic Approach
(New)
()
(Same subject as 9.521[J], IDS.160[J])
Prereq: (6.436, 18.06, and 18.6501) or permission of instructor
Units: 3-0-9
Lecture: TR1-2.30 (VIRTUAL)
Introduces students to modern non-asymptotic statistical analysis. Topics include high-dimensional models, nonparametric regression, covariance estimation, principal component analysis, oracle inequalities, prediction and margin analysis for classification. Develops a rigorous probabilistic toolkit, including tail bounds and a basic theory of empirical processes
S. Rakhlin, P. Rigollet No textbook information available
18.657 Topics in Statistics
()
Prereq: Permission of instructor
Units: 3-0-9
Topics vary from term to term.
P. Rigollet
18.675 Theory of Probability
()
Prereq: 18.100A, 18.100B, 18.100P, or 18.100Q
Units: 3-0-9
Sums of independent random variables, central limit phenomena, infinitely divisible laws, Levy processes, Brownian motion, conditioning, and martingales. Prior exposure to probability (e.g., 18.600) recommended.
Y. Wang
18.676 Stochastic Calculus
()
Prereq: 18.675
Units: 3-0-9
In person not required. Lecture: MW11-12.30 (VIRTUAL)
Introduction to stochastic processes, building on the fundamental example of Brownian motion. Topics include Brownian motion, continuous parameter martingales, Ito's theory of stochastic differential equations, Markov processes and partial differential equations, and may also include local time and excursion theory. Students should have familiarity with Lebesgue integration and its application to probability. In person not required.
N. Sun Textbooks (Spring 2021)
18.677 Topics in Stochastic Processes
()
Prereq: 18.675
Units: 3-0-9
Lecture: TR2.30-4 (VIRTUAL)
Topics vary from year to year.
A. Borodin No textbook information available
For additional related subjects in Statistics, see:
Civil and Environmental Engineering: 1.202, 1.203J, and 1.205
Electrical Engineering and Computer Science: 6.0002, 6.041, 6.231, 6.245, 6.262, 6.431, 6.434J, 6.435, 6.436J, 6.437, and 6.438
Management: 15.034, 15.060, 15.070J, 15.071, 15.075J, 15.077J, 15.098, and 15.456
IDSS: IDS.012J, IDS.013J, IDS.014J, IDS.136J, and IDS.700J
Economics: 14.30, 14.310, 14.36, 14.381, 14.382, 14.384, and 14.386
Algebra and Number Theory
18.700 Linear Algebra
()
Prereq: Calculus II (GIR)
Units: 3-0-9
Credit cannot also be received for 18.06
Vector spaces, systems of linear equations, bases, linear independence, matrices, determinants, eigenvalues, inner products, quadratic forms, and canonical forms of matrices. More emphasis on theory and proofs than in 18.06.
V. Kac
18.701 Algebra I
()
Prereq: 18.100A, 18.100B, 18.100P, 18.100Q, or permission of instructor
Units: 3-0-9
18.701-18.702 is more extensive and theoretical than the 18.700-18.703 sequence. Experience with proofs necessary. 18.701 focuses on group theory, geometry, and linear algebra.
B. Poonen
18.702 Algebra II
()
Prereq: 18.701
Units: 3-0-9
http://math.mit.edu/classes/18.702
Lecture: MWF11 (VIRTUAL)
Continuation of 18.701. Focuses on group representations, rings, ideals, fields, polynomial rings, modules, factorization, integers in quadratic number fields, field extensions, and Galois theory.
M. Artin Textbooks (Spring 2021)
18.703 Modern Algebra
()
Prereq: Calculus II (GIR)
Units: 3-0-9
http://math.mit.edu/classes/18.703/
Lecture: TR2.30-4 (VIRTUAL)
Focuses on traditional algebra topics that have found greatest application in science and engineering as well as in mathematics: group theory, emphasizing finite groups; ring theory, including ideals and unique factorization in polynomial and Euclidean rings; field theory, including properties and applications of finite fields. 18.700 and 18.703 together form a standard algebra sequence.
V.G. Kac Textbooks (Spring 2021)
18.704 Seminar in Algebra
(, )
Prereq: 18.701, (18.06 and 18.703), or (18.700 and 18.703)
Units: 3-0-9
Lecture: TR1-2.30 (VIRTUAL)
Topics vary from year to year. Students present and discuss the subject matter. Instruction and practice in written and oral communication provided. Some experience with proofs required. Enrollment limited.
Fall: C. Chan Spring: J. Wang Textbooks (Spring 2021)
18.705 Commutative Algebra
()
Prereq: 18.702
Units: 3-0-9
Exactness, direct limits, tensor products, Cayley-Hamilton theorem, integral dependence, localization, Cohen-Seidenberg theory, Noether normalization, Nullstellensatz, chain conditions, primary decomposition, length, Hilbert functions, dimension theory, completion, Dedekind domains.
R. Bezrukavnikov
18.706 Noncommutative Algebra
()
Prereq: 18.702
Units: 3-0-9
Topics may include Wedderburn theory and structure of Artinian rings, Morita equivalence and elements of category theory, localization and Goldie's theorem, central simple algebras and the Brauer group, representations, polynomial identity rings, invariant theory growth of algebras, Gelfand-Kirillov dimension.
Z. Yun
18.708 Topics in Algebra
()
Prereq: 18.705
Units: 3-0-9
Topics vary from year to year.
Staff
18.715 Introduction to Representation Theory
()
Prereq: 18.702 or 18.703
Units: 3-0-9
Algebras, representations, Schur's lemma. Representations of SL(2). Representations of finite groups, Maschke's theorem, characters, applications. Induced representations, Burnside's theorem, Mackey formula, Frobenius reciprocity. Representations of quivers.
G. Lusztig
18.721 Introduction to Algebraic Geometry
()
Prereq: 18.702 and 18.901
Units: 3-0-9
Presents basic examples of complex algebraic varieties, affine and projective algebraic geometry, sheaves, cohomology.
M. Artin
18.725 Algebraic Geometry I
()
Prereq: None. Coreq: 18.705
Units: 3-0-9
Introduces the basic notions and techniques of modern algebraic geometry. Covers fundamental notions and results about algebraic varieties over an algebraically closed field; relations between complex algebraic varieties and complex analytic varieties; and examples with emphasis on algebraic curves and surfaces. Introduction to the language of schemes and properties of morphisms. Knowledge of elementary algebraic topology, elementary differential geometry recommended, but not required.
D. Maulik
18.726 Algebraic Geometry II
()
Prereq: 18.725
Units: 3-0-9
http://math.mit.edu/classes/18.726
Lecture: TR11-12.30 (VIRTUAL)
Continuation of the introduction to algebraic geometry given in 18.725. More advanced properties of the varieties and morphisms of schemes, as well as sheaf cohomology.
D. Maulik No textbook information available
18.727 Topics in Algebraic Geometry
()
Prereq: 18.725
Units: 3-0-9
Topics vary from year to year.
Staff
18.737 Algebraic Groups
()
Prereq: 18.705
Units: 3-0-9
Lecture: MWF10 (VIRTUAL)
Structure of linear algebraic groups over an algebraically closed field, with emphasis on reductive groups. Representations of groups over a finite field using methods from etale cohomology. Some results from algebraic geometry are stated without proof.
B. Poonen Textbooks (Spring 2021)
18.745 Lie Groups and Lie Algebras I
()
Prereq: (18.701 or 18.703) and (18.100A, 18.100B, 18.100P, or 18.100Q)
Units: 3-0-9
Covers fundamentals of the theory of Lie algebras and related groups. Topics may include theorems of Engel and Lie; enveloping algebra, Poincare-Birkhoff-Witt theorem; classification and construction of semisimple Lie algebras; the center of their enveloping algebras; elements of representation theory; compact Lie groups and/or finite Chevalley groups. In person not required.
P. Etingof
18.747 Infinite-dimensional Lie Algebras
()
Prereq: 18.745
Units: 3-0-9
Topics vary from year to year.
Staff
18.748 Topics in Lie Theory
()
Prereq: Permission of instructor
Units: 3-0-9
Topics vary from year to year. In person not required.
J. Kim
18.755 Lie Groups and Lie Algebras II
()
Prereq: 18.745 or permission of instructor
Units: 3-0-9
In person not required. Lecture: TR2.30-4 (2-190)
A more in-depth treatment of Lie groups and Lie algebras. Topics may include homogeneous spaces and groups of automorphisms; representations of compact groups and their geometric realizations, Peter-Weyl theorem; invariant differential forms and cohomology of Lie groups and homogeneous spaces; complex reductive Lie groups, classification of real reductive groups. In person not required.
P.I. Etingof No textbook information available
18.757 Representations of Lie Groups
() Not offered regularly; consult department
Prereq: 18.745 or 18.755
Units: 3-0-9
Covers representations of locally compact groups, with emphasis on compact groups and abelian groups. Includes Peter-Weyl theorem and Cartan-Weyl highest weight theory for compact Lie groups.
Staff
18.781 Theory of Numbers
()
Prereq: None
Units: 3-0-9
http://math.mit.edu/classes/18.781
In person not required. Lecture: TR9.30-11 (VIRTUAL)
An elementary introduction to number theory with no algebraic prerequisites. Primes, congruences, quadratic reciprocity, diophantine equations, irrational numbers, continued fractions, partitions. In person not required.
J-L Kim Textbooks (Spring 2021)
18.782 Introduction to Arithmetic Geometry
()
Prereq: 18.702
Units: 3-0-9
Exposes students to arithmetic geometry, motivated by the problem of finding rational points on curves. Includes an introduction to p-adic numbers and some fundamental results from number theory and algebraic geometry, such as the Hasse-Minkowski theorem and the Riemann-Roch theorem for curves. Additional topics may include Mordell's theorem, the Weil conjectures, and Jacobian varieties.
D. Roe
18.783 Elliptic Curves
()
(Subject meets with 18.7831)
Prereq: 18.702, 18.703, or permission of instructor
Units: 3-0-9
Lecture: MW12.30-2 (VIRTUAL)
Computationally focused introduction to elliptic curves, with applications to number theory and cryptography. Topics include point-counting, isogenies, pairings, and the theory of complex multiplication, with applications to integer factorization, primality proving, and elliptic curve cryptography. Includes a brief introduction to modular curves and the proof of Fermat's Last Theorem.
A. Sutherland No required or recommended textbooks
18.7831 Elliptic Curves
()
(Subject meets with 18.783)
Prereq: 18.702, 18.703, or permission of instructor
Units: 3-0-9
Lecture: MW12.30-2 (VIRTUAL)
Computationally focused introduction to elliptic curves, with applications to number theory and cryptography. Topics include point-counting, isogenies, pairings, and the theory of complex multiplication, with applications to integer factorization, primality proving, and elliptic curve cryptography. Includes a brief introduction to modular curves and the proof of Fermat's Last Theorem. Students in Course 18 must register for the undergraduate version, 18.783.
A. Sutherland No required or recommended textbooks
18.784 Seminar in Number Theory
()
Prereq: 18.701 or (18.703 and (18.06 or 18.700))
Units: 3-0-9
Topics vary from year to year. Students present and discuss the subject matter. Instruction and practice in written and oral communication provided. In person not required. Enrollment limited.
D. Kriz
18.785 Number Theory I
()
Prereq: None. Coreq: 18.705
Units: 3-0-9
Dedekind domains, unique factorization of ideals, splitting of primes. Lattice methods, finiteness of the class group, Dirichlet's unit theorem. Local fields, ramification, discriminants. Zeta and L-functions, analytic class number formula. Adeles and ideles. Statements of class field theory and the Chebotarev density theorem.
W. Zhang
18.786 Number Theory II
()
Prereq: 18.785
Units: 3-0-9
Lecture: MW11-12.30 (VIRTUAL)
Continuation of 18.785. More advanced topics in number theory, such as Galois cohomology, proofs of class field theory, modular forms and automorphic forms, Galois representations, or quadratic forms.
W. Zhang No textbook information available
18.787 Topics in Number Theory
()
Prereq: Permission of instructor
Units: 3-0-9
Topics vary from year to year.
Staff
Mathematics Laboratory
18.821 Project Laboratory in Mathematics
(, )
Prereq: Two mathematics subjects numbered 18.10 or above
Units: 3-6-3
http://math.mit.edu/classes/18.821/
Lecture: TR11-1 (LIMITED 27) (VIRTUAL) Lab: TBA
Guided research in mathematics, employing the scientific method. Students confront puzzling and complex mathematical situations, through the acquisition of data by computer, pencil and paper, or physical experimentation, and attempt to explain them mathematically. Students choose three projects from a large collection of options. Each project results in a laboratory report subject to revision; oral presentation on one or two projects. Projects drawn from many areas, including dynamical systems, number theory, algebra, fluid mechanics, asymptotic analysis, knot theory, and probability. In person not required. Enrollment limited.
Fall: A. Negut Spring: Z. Yun No textbook information available
Topology and Geometry
18.900 Geometry and Topology in the Plane
()
Prereq: 18.03 or 18.06
Units: 3-0-9
Covers selected topics in geometry and topology, which can be visualized in the two-dimensional plane. Polygons and polygonal paths. Billiards. Closed curves and immersed curves. Algebraic curves. Triangulations and complexes. Hyperbolic geometry. Geodesics and curvature. Other topics may be included as time permits.
P. Seidel
18.901 Introduction to Topology
(, )
(Subject meets with 18.9011)
Prereq: 18.100A, 18.100B, 18.100P, 18.100Q, or permission of instructor
Units: 3-0-9
Lecture: TR2.30-4 (VIRTUAL)
Introduces topology, covering topics fundamental to modern analysis and geometry. Topological spaces and continuous functions, connectedness, compactness, separation axioms, covering spaces, and the fundamental group.
Fall: I. Dai Spring: G. Lusztig Textbooks (Spring 2021)
18.9011 Introduction to Topology
(, )
(Subject meets with 18.901)
Prereq: 18.100A, 18.100B, 18.100P, 18.100Q, or permission of instructor
Units: 3-0-9
Lecture: TR2.30-4 (VIRTUAL)
Introduces topology, covering topics fundamental to modern analysis and geometry. Topological spaces and continuous functions, connectedness, compactness, separation axioms, covering spaces, and the fundamental group. Students in Course 18 must register for the undergraduate version, 18.901.
Fall: I. Dai Spring: G. Lusztig Textbooks (Spring 2021)
18.904 Seminar in Topology
()
Prereq: 18.901
Units: 3-0-9
In person not required. Lecture: MW9.30-11 (2-190)
Topics vary from year to year. Students present and discuss the subject matter. Instruction and practice in written and oral communication provided. In person not required. Enrollment limited.
L. Piccirillo Textbooks (Spring 2021)
18.905 Algebraic Topology I
()
Prereq: 18.901 and (18.701 or 18.703)
Units: 3-0-9
Singular homology, CW complexes, universal coefficient and Künneth theorems, cohomology, cup products, Poincaré duality.
J. Hahn
18.906 Algebraic Topology II
()
Prereq: 18.905
Units: 3-0-9
http://math.mit.edu/classes/18.906/
In person not required. Lecture: MW1-2.30 (2-142)
Continues the introduction to Algebraic Topology from 18.905. Topics include basic homotopy theory, spectral sequences, characteristic classes, and cohomology operations. In person not required.
P. Seidel No textbook information available
18.917 Topics in Algebraic Topology
()
Prereq: 18.906
Units: 3-0-9
http://math.mit.edu/classes/18.917/
Content varies from year to year. Introduces new and significant developments in algebraic topology with the focus on homotopy theory and related areas.
Staff
18.919 Graduate Topology Seminar
()
Prereq: 18.906
Units: 3-0-9
Study and discussion of important original papers in the various parts of algebraic topology. Open to all students who have taken 18.906 or the equivalent, not only prospective topologists.
H. Miller
18.937 Topics in Geometric Topology
()
Prereq: Permission of instructor
Units: 3-0-9
In person not required. Lecture: MW9.30-11 (4-370)
Content varies from year to year. Introduces new and significant developments in geometric topology. In person not required.
T.S. Mrowka No textbook information available
18.950 Differential Geometry
()
(Subject meets with 18.9501)
Prereq: (18.06, 18.700, or 18.701) and (18.100A, 18.100B, 18.100P, or 18.100Q)
Units: 3-0-9
Introduction to differential geometry, centered on notions of curvature. Starts with curves in the plane, and proceeds to higher dimensional submanifolds. Computations in coordinate charts: first and second fundamental form, Christoffel symbols. Discusses the distinction between extrinsic and intrinsic aspects, in particular Gauss' theorema egregium. The Gauss-Bonnet theorem. Geodesics. Examples such as hyperbolic space.
T. Collins
18.9501 Differential Geometry
()
(Subject meets with 18.950)
Prereq: (18.06, 18.700, or 18.701) and (18.100A, 18.100B, 18.100P, or 18.100Q)
Units: 3-0-9
Introduction to differential geometry, centered on notions of curvature. Starts with curves in the plane, and proceeds to higher dimensional submanifolds. Computations in coordinate charts: first and second fundamental form, Christoffel symbols. Discusses the distinction between extrinsic and intrinsic aspects, in particular Gauss' theorema egregium. The Gauss-Bonnet theorem. Geodesics. Examples such as hyperbolic space. Students in Course 18 must register for the undergraduate version, 18.950.
T. Collins
18.952 Theory of Differential Forms
()
Prereq: 18.101 and (18.700 or 18.701)
Units: 3-0-9
Lecture: MWF11 (VIRTUAL)
Multilinear algebra: tensors and exterior forms. Differential forms on Rn: exterior differentiation, the pull-back operation and the Poincaré lemma. Applications to physics: Maxwell's equations from the differential form perspective. Integration of forms on open sets of Rn. The change of variables formula revisited. The degree of a differentiable mapping. Differential forms on manifolds and De Rham theory. Integration of forms on manifolds and Stokes' theorem. The push-forward operation for forms. Thom forms and intersection theory. Applications to differential topology.
V. W. Guillemin Textbooks (Spring 2021)
18.965 Geometry of Manifolds I
()
Prereq: 18.101, 18.950, or 18.952
Units: 3-0-9
Differential forms, introduction to Lie groups, the DeRham theorem, Riemannian manifolds, curvature, the Hodge theory. 18.966 is a continuation of 18.965 and focuses more deeply on various aspects of the geometry of manifolds. Contents vary from year to year, and can range from Riemannian geometry (curvature, holonomy) to symplectic geometry, complex geometry and Hodge-Kahler theory, or smooth manifold topology. Prior exposure to calculus on manifolds, as in 18.952, recommended. In person not required.
W. Minicozzi
18.966 Geometry of Manifolds II
()
Prereq: 18.965
Units: 3-0-9
http://math.mit.edu/classes/18.966
Lecture: TR9.30-11 (VIRTUAL)
Continuation of 18.965, focusing more deeply on various aspects of the geometry of manifolds. Contents vary from year to year, and can range from Riemannian geometry (curvature, holonomy) to symplectic geometry, complex geometry and Hodge-Kahler theory, or smooth manifold topology.
T. Colding No textbook information available
18.968 Topics in Geometry
()
Prereq: 18.965
Units: 3-0-9
Content varies from year to year.
P. Seidel
18.979 Graduate Geometry Seminar
()
Prereq: Permission of instructor
Units: 3-0-9
http://math.mit.edu/classes/18.979
Content varies from year to year. Study of classical papers in geometry and in applications of analysis to geometry and topology.
Staff
18.994 Seminar in Geometry
()
Prereq: (18.06, 18.700, or 18.701) and (18.100A, 18.100B, 18.100P, or 18.100Q)
Units: 3-0-9
Students present and discuss subject matter taken from current journals or books. Topics vary from year to year. Instruction and practice in written and oral communication provided. Enrollment limited.
Staff
18.999 Research in Mathematics
(, , , )
Prereq: Permission of instructor
Units arranged
In person not required. TBA.
Opportunity for study of graduate-level topics in mathematics under the supervision of a member of the department. For graduate students desiring advanced work not provided in regular subjects.
Fall: B. Peskin IAP: B. Peskin Spring: B. Peskin Summer: B. Peskin No textbook information available (IAP 2021); No required or recommended textbooks (Spring 2021)
18.UR Undergraduate Research
(, , , )
Prereq: Permission of instructor
Units arranged [P/D/F]
TBA.
Undergraduate research opportunities in mathematics. Permission required in advance to register for this subject. For further information, consult the departmental coordinator.
Fall: E. Brown IAP: E. Brown Spring: E. Brown Summer: E. Brown Textbooks arranged individually
18.THG Graduate Thesis
(, , , )
Prereq: Permission of instructor
Units arranged
TBA.
Program of research leading to the writing of a Ph.D. thesis; to be arranged by the student and an appropriate MIT faculty member.
Fall: B. Peskin IAP: B. Peskin Spring: B. Peskin Summer: B. Peskin Textbooks arranged individually
18.S096 Special Subject in Mathematics
(, )
Prereq: Permission of instructor
Units arranged
Lecture: TR1-2.30 (VIRTUAL)
Opportunity for group study of subjects in mathematics not otherwise included in the curriculum. Offerings are initiated by members of the Mathematics faculty on an ad hoc basis, subject to departmental approval. 18.S097 is graded P/D/F.
Fall: A. Moitra, P. Parrilo Spring: H. Cohn No textbook information available
18.S097 Special Subject in Mathematics
()
Prereq: Permission of instructor
Units arranged [P/D/F]
Opportunity for group study of subjects in mathematics not otherwise included in the curriculum. Offerings are initiated by members of the Mathematics faculty on an ad hoc basis, subject to departmental approval. 18.S097 is graded P/D/F.
Staff No textbook information available
18.S190 Special Subject in Mathematics
(, ) ; second half of term
Prereq: Permission of instructor
Units arranged
Lecture: MW3-4.30 (VIRTUAL)
Opportunity for group study of subjects in mathematics not otherwise included in the curriculum. Offerings are initiated by members of the Mathematics faculty on an ad hoc basis, subject to departmental approval.
Fall: L. Demanet, D. Darmofal Spring: L. Demanet, D. Darmofal No textbook information available
18.S191 Special Subject in Mathematics
(, )
Prereq: Permission of instructor
Units arranged
Lecture: MW1-2.30 (VIRTUAL)
Opportunity for group study of subjects in mathematics not otherwise included in the curriculum. Offerings are initiated by members of the Mathematics faculty on an ad hoc basis, subject to departmental approval.
Fall: A. Edelman Spring: A. Edelman No textbook information available
18.S995 Special Subject in Mathematics
()
Prereq: Permission of instructor
Units arranged
Opportunity for group study of advanced subjects in mathematics not otherwise included in the curriculum. Offerings are initiated by members of the mathematics faculty on an ad hoc basis, subject to departmental approval.
Staff
18.S996 Special Subject in Mathematics
()
Prereq: Permission of instructor
Units arranged
Opportunity for group study of advanced subjects in mathematics not otherwise included in the curriculum. Offerings are initiated by members of the Mathematics faculty on an ad hoc basis, subject to Departmental approval.
A. Harrow
18.S997 Special Subject in Mathematics
()
Prereq: Permission of instructor
Units arranged
Opportunity for group study of advanced subjects in mathematics not otherwise included in the curriculum. Offerings are initiated by members of the Mathematics faculty on an ad hoc basis, subject to Departmental approval.
Staff
18.S998 Special Subject in Mathematics
()
Prereq: Permission of instructor
Units arranged
Opportunity for group study of advanced subjects in mathematics not otherwise included in the curriculum. Offerings are initiated by members of the Mathematics faculty on an ad hoc basis, subject to departmental approval.
Staff
|


. Each section should be identified, typically by including a heading ( h1- h6 element) as a child of the section element.
section
h1
h6


{{ "" | safeHTML }} {{ hugo.Generator }} {{ partial "favicon.html" . }}
Resource not found or under construction
10 seconds to home page


Do you like what you see? Do not hesitate to contact me via my email<EMAIL_ADDRESS>I do not only make sure that you have what you want, I make sure you have what you want and what you need. I put hard work but most importantly in every piece of work I do. For me delivering above your expectations is my number I priority
Every piece of design is throughtly thought of. I make sure that you end up with an end product that looks good, speaks for itself but most importantly represents your brand and everything you stand for.
No detail is left unthought of. Everything is aligned with style and good practice coding. At the end of the day wether back end or front end, the result is beautiful inside and out.


{% extends "account/profile_base.html" %} {% load static%} {% block sidebar_menu %} {% with active_tab='Merchant' %} {{ block.super }} {% endwith %} {% endblock sidebar_menu %} {% block subview %}
Register as a Troupon Merchant today and give your business a loyalty boost.
You can now reach your customers right where they are, here on Troupon!


VERCE glossary¶
Workflow – refers to a sequence of jobs that can be submitted. In the VERCE project we have a number of workflows prepared that can run you job on a specific high performance computer.
HPC – high performance computing. This usually refers to parallel computers, where a given computational task is spread over many separate processing cores.
iRODS – a suite of data managements software that is embedded within the VERCE platform, and allows you to easily access your data regardless of where you submitted your simulation.
superMUC – a super computer hosted by the LRZ in Munich, Germany.
SCAI – a super computer hosted by CINECA in Italy.
DT – the time step of the waveform model.
Solver – shorthand for the code that does the forward calculation. The solver currently hosted in the VERCE platform is SPECFEM.
Mesh – the grid over which the wavefield is calculated. The modelled space is broken up into a grid of points, each with specific seismic properties (e.g. p-wave velocity, s-wave velocity, seismic attenuation). The spacing of this grid is able to change especially with depth (due to the increasing seismic velocity). The structure of these grid points is referred to as the mesh.
Velocity model – this is the seismic velocity model that is input for an area, and includes the p-wave and s-wave velocities. Most models in the VERCE portal are 3D, though there are some 2D models (for subduction zones) and 1D models (global 1D velocity models) available.
CPML – ‘convolutional perfectly matched layers’ are a type of absorbing boundary condition
Absorbing Boundary Conditions – are at the edges of the model that shouldn’t reflect the seismic energy. These boundary conditions are designed to absorb an incoming wave simulating an infinite medium.
CUBIT – an external program used for making meshes for a variety of scientific and engineering modelling disciplines.
TRELIS – the commercial name for the CUBIT package.
GeoCubit – a python based program that uses CUBIT command to create meshes for geographical bodies. Particularly, GeoCubit can produce meshes that include topography and/or bathymetry.


{% extends 'base.html' %} {% block content %}
I've found that fasting has brougt me more self-discipline.
When it came to changing my diet, that was definitley lacking.
I'm also learning to be consistent with myself and in my actions.
What makes me feel like the Sun tarot card?
Freshly baked cookies, farm to table ingredients, unexpected gifts,
letting the waters carry my kayak while the sun shines down on me,
buying skincare products and household goods, painting,
gardening and getting my hands dirty, yoga and swimming, dancing and hula hooping,
nature walks with my dog, traveling to new locations, museum visits and all kinds of tours,
a good book, tasty tea or golden milk, creating/building something,
successfully recreating a restaurant dish, snuggling up in my warm bed after a long day,
learning something new or building on old skills, Mary Jane in all of her fabolousness,
music (especially old school R&B and Latin Jazz), concerts and festivals,
talking for hours with a friend, long drives where I'm the passenger,
new clothing but specifically lounge wear, achieiving a personal goal,
laying out on the beach and letting the waves lull me to sleep.
Celeste has been channeling messages through tarot
for three years and through song for one year.
When it comes to her dreams and channeling just through speech, all of her life.
She works as a Full Stack Developer by day and ICU RN by night.
A life long learner and 'Jane-of-all-trades' in the making.
Hobbies: reading, cooking/baking, gardening, random arts and crafts and kayaking.
She has also founded GrowGang, who's end goal is
to become the world's first community garden!


JS Language
Describe to your non-tech friend all the use cases, in the JavaScript language, for each of the following:
parentheses () -These are used to group and contain elements used in statements and functions.
Online definition - Grouping and containing expressions and parameters. Parentheses have multiple functions relating to functions and structures. They are used to contain a list of parameters passed to functions and control structures and they are used to group expressions to control the order of execution. Some functions have no parameters and in this case, the space between parentheses is blank. - reference.
They are used to group expressions in a statement: a = (4 + 3 ) * 2;
They contain expressions in a conditional statement of a formula: if (a > 10) { doSomething};
They can also contain a list of parameters: line(a, 0, a, 100);
Square Brackets [] - These encase declared arrays, and are used when accessing those arryas.
Online definition - The array access operator is used to specify a location within an array. The data at this location can be defined with the syntax array[element] = value or read with the syntax value = array[element]. - reference.
var peopleInClass = ["Tim", "Bridget", "Bob", "Margaret"];
to call "Bob", as Sue's father, from the array: var fatherOfSue = peopleInClass[2];
They can also contain a list of parameters: line(a, 0, a, 100);
Braces {} - These define the beginnning and end of function blocks such as the for() and if() structures. they're also used for defining initial values in array declarations. They wrap around the code defining objects.
myFunction() {doSomething};
int[] a = { 5, 20, 25, 45, 70 };
single quotes '' - These define string literal statements.
var d = "dog";
double quotes "" - The use of these is the same as single quote. Note: consistancy of use is important though, they are not interchangable in one statement.


{%extends 'base.html'%} {% load bootstrap4 %} {% load static %} {% block title%} PataNyumba {%endblock%} {%block content%}
Here you are able to view various accomodations for you to rent and stay in. Feel free to browse through the catalogue.
Add New Accomodation


This is a RubyGem for implementing both OAuth clients and servers in Ruby applications.
See the OAuth specs oauth.net/core/1.0/
sudo gem install oauth
The source code is now hosted on the OAuth GitHub Project github.com/oauth/oauth-ruby
This is a ruby library which is intended to be used in creating Ruby Consumer and Service Provider applications. It is NOT a Rails plugin, but could easily be used for the foundation for such a Rails plugin.
As a matter of fact it has been pulled out from an OAuth Rails Plugin code.google.com/p/oauth-plugin/ which now requires this GEM.
We need to specify the oauth_callback url explicitly, otherwise it defaults to “oob” (Out of Band)
@callback_url = "http://<IP_ADDRESS>:3000/oauth/callback"
Create a new consumer instance by passing it a configuration hash:
@consumer = OAuth::Consumer.new("key","secret", :site => "https://agree2")
Start the process by requesting a token
@request_token = @consumer.get_request_token(:oauth_callback => @callback_url) session[:request_token] = @request_token redirect_to @request_token.authorize_url(:oauth_callback => @callback_url)
When user returns create an access_token
@access_token = @request_token.get_access_token @photos = @access_token.get('/photos.xml')
Now that you have an access token, you can use Typhoeus to interact with the OAuth provider if you choose.
require 'oauth/request_proxy/typhoeus_request' oauth_params = {:consumer => oauth_consumer, :token => access_token} hydra = Typhoeus::Hydra.new req = Typhoeus::Request.new(uri, options) oauth_helper = OAuth::Client::Helper.new(req, oauth_params.merge(:request_uri => uri)) req.headers.merge!({"Authorization" => oauth_helper.header}) # Signs the request hydra.queue(req) hydra.run @response = req.response
Mailing List/Google Group: groups.google.com/group/oauth-ruby
The source code is now hosted on the OAuth GitHub Project github.com/oauth/oauth-ruby
To submit a patch, please fork the oauth project and create a patch with tests. Once you’re happy with it send a pull request and post a message to the google group.
This code is free to use under the terms of the MIT license.
OAuth Ruby has been created and maintained by a large number of talented individuals. The current maintainer is Aaron Quint (quirkey).
Comments are welcome. Send an email to via the OAuth Ruby mailing list groups.google.com/group/oauth-ruby


--- title: Contribute to DuckDuckGo's Open Source Community category: Open-source order: 99 ---
Whether you're looking to dip your toes in the world of open-source, seeking an interesting challenge, or excited to do something that instantly affects millions every day - contributing to DuckDuckGo's open-source community is a blast.
Contributing is a great way to:
...not to mention meet awesome people along the way.
I think I just found an #opensource community that I want to become a part of http://duckduckhack.com/
Nick Kuchinski @NickUI
We know that Wikipedia would always beat out Encarta. We believe that DuckDuckGo is an incredible distribution platform for an open-source community to change how the web works. We're up against multi-billion-dollar giants - and the only way to avoid becoming them is to be inseparable from the community.
Our goal is to have 85% of queries covered by Instant Answers (currently this is at 19%).
I had my first ever pull request merged by @duckduckhack. Yay! I helped make the internet a better place! @duckduckgo @duckco
Eric Christensen @ecounysis
Want to create the search results you've always wanted? Instant Answers are incredibly fun to code - and rewarding to launch.
Have a favorite Instant Answer that you want to make even better? Dive in and modify it. Your pull request could go live in no time.You could make your first pull request by this afternoon.
Are you part of a community that loves surfing? Protecting the environment? Sports? Music and arts? Health? Finance? Cooking? Education?
Passionate about an area that could use better Instant Answer coverage?
Organizing a meetup is a really fun way to bring people together to build live, open-source Instant Answers together.
We have great, practical advice to help - plus our staff and community leaders will guide you at every step (including live support during the event!).


 Buffalo turkey fatback spare ribs boudin tongue turducken tri-tip. Pancetta tail corned beef, fatback leberkas spare ribs ground round buffalo rump shankle frankfurter beef filet mignon.  Jowl alcatra ham hock beef cow ribeye shankle doner capicola.
 Buffalo turkey fatback spare ribs boudin tongue turducken tri-tip. Pancetta tail corned beef, fatback leberkas spare ribs ground round buffalo rump shankle frankfurter beef filet mignon.  Jowl alcatra ham hock beef cow ribeye shankle doner capicola.
 Buffalo turkey fatback spare ribs boudin tongue turducken tri-tip. Pancetta tail corned beef, fatback leberkas spare ribs ground round buffalo rump shankle frankfurter beef filet mignon.  Jowl alcatra ham hock beef cow ribeye shankle doner capicola.
 Buffalo turkey fatback spare ribs boudin tongue turducken tri-tip. Pancetta tail corned beef, fatback leberkas spare ribs ground round buffalo rump shankle frankfurter beef filet mignon.  Jowl alcatra ham hock beef cow ribeye shankle doner capicola.


If you don't have the latest DOF, or you're having any problems
with Visual Pinball launching tables,
click here.
To take full advantage of the V2 Pinscape firmware, you need the latest
version of DOF R3. Here's a link to the latest official build:
Build 5845.
You might
also need a patch. If you have any problems with VP
getting stuck when launching tables, download my
unofficial
patched version of DirectOutput.dll:
DirectOutputPatch.zip. Install the official DOF R3
first, then
replace
DirectOutput.dll with the one in the patch.


Friend Finder!
Take our patented, industry-leading, personality match test, and we'll find a true partner!
Go to Survey


Arrays and Hashes are two fundamental types of data structures in Ruby. Both are indexed collections of information ("objects"), such as a list, and each element of that list can be accessed with a corresponding "key" to identify it. These are known as "key-value" pairs. However, there are important differences between arrays and hashes that afford them very different use cases. An array is generally thought to be more efficient for accessing its comprising elements, but a hash can be much more flexible.
Arrays
The most important thing to understand about an array is that it contains an *ordered* list of information. This information can be any type of object -- string, integer, boolean value, etc. Each object in that list represents a "value", and the order or place it falls in that list, represented by an integer, is the "key". The first value in an array is attached to key "0", the second value attached to key "1", the third value attached to key "2", and so forth. When calling on a value in an array, then, you would access it by referencing its numerical place in the array -- i.e., its key.
Because an array is an ordered list, we can do things to it like reverse its order, or sort it based on certain criteria, using built-in Ruby methods. You might use an array when you have a list of information you want to store, such as a list of people who have RSVP'd for an upcoming party. Rather than create a separate variable for the name of each attendee (e.g. "attendee_1 = Bob", "attendee_2 = Mary", etc.), you could add them to a single array. Each person would occupy one slot in the array, with the first respondent associated with key 0, the second with key 1, and so forth.
Hashes
Unlike an array, the information contained in a hash is unordered. Where the key in an array must always be an integer, a key in a hash can be represented by any object. When a hash is enumerated, its values simply appear in the order that its corresponding keys were inserted. Anything you can do with a hash can generally also be done through an array, but hashes can be easier to maintain and manipulate, hence their appeal. You would use a hash when you want to map one value to another. By allowing developers to associate data with words and categories rather than arbitrary numbers, hashes can be much easier to work with in the right circumstances.
For example, a hash would be useful for storing information about students in a classroom. Keys could be represented by students' names, and the values could be represented by their grades on a test, or their birthdays, or any other information. When accessing the information, a teacher would then only need to know the student's name to see his/her grade, whereas in an array, the teacher would need to remember where that particular student fell in the ordered list, and call upon him/her by that number instead.


|
QuantLib: a free/open-source library for quantitative finance
Fully annotated sources - version 1.30
|
Pricing engine for American options with Ju quadratic approximation. More...
#include <ql/pricingengines/vanilla/juquadraticengine.hpp>
Public Member Functions | |
| JuQuadraticApproximationEngine (ext::shared_ptr< GeneralizedBlackScholesProcess >) | |
| void | calculate () const override |
Private Attributes | |
| ext::shared_ptr< GeneralizedBlackScholesProcess > | process_ |
Pricing engine for American options with Ju quadratic approximation.
Reference: An Approximate Formula for Pricing American Options, Journal of Derivatives Winter 1999, Ju, N.
Definition at line 52 of file juquadraticengine.hpp.
| JuQuadraticApproximationEngine | ( | ext::shared_ptr< GeneralizedBlackScholesProcess > | process | ) |
Definition at line 38 of file juquadraticengine.cpp.
|
override |
|
private |
Definition at line 59 of file juquadraticengine.hpp.


Truth behind Jose Mourinho's 'defensive' mindset ahead of Tottenham return
Jose Mourinho was sacked as Man Utd manager last December with a reputation of being a defensive coach, but that might have been unfair as he embarks on the Tottenham job
by David Dubas-Fisher, https://www.mirror.co.uk/authors/david-dubas-fisher/Jose Mourinho has developed a reputation of being a defensive minded coach, but his sides have consistently been the top scorers in the division.
Mourinho’s time at Manchester United saw him being taunted with “park the bus” chants from opposition supporters.
The new Spurs manager had earned something of a reputation for being a defensive minded coach.
However, a look through his record as a manager shows that his sides have consistently been the top scorers in the division.
Mourinho has had 14 completed seasons (ones where he wasn’t sacked) since taking over Porto in 2002.
His team were the top scorers in six of those league campaigns and the second top scorers in five of them.
That leaves just three seasons where his team weren’t one of the two top attacking sides in the division - two of which were at United.
The first time Mourinho failed to make the top two was on his return to Chelsea in 2013/14.
His side finished third top scorers that year with 71 goals, only one fewer than when they finished top scorers in 2005/06.
The second time was with Manchester United in 2016/17.
His side scored just 54 times that year making them only the eighth highest scorers in the division.
They scored 68 the following year, which was the fifth highest total in the division.
He returns to Tottenham looking to bolster a side with a wealth of attacking talent including Harry Kane, Dele Alli, Heung-min Son and Christian Eriksen which has only managed 18 goals in 12 Premier League games so far this term.


Uploaded on October 27, 2016
The objective of each player is to put the opponent’s king under attack in such a way that the opponent has no legal move. The player who achieves this goal is said to have checkmated the opponent’s king and to have won the game.
Leaving one’s king under attack, exposing one’s king to attack and also ’capturing’ the opponent’s king is not allowed – the opponent whose king has been checkmated has lost the game. If the position is such that neither player can possibly achieve a checkmate, the game is drawn.
Although the king is the most important piece, it is usually the weakest piece in the game until a later phase, the endgame. The game of chess is played between two opponents who move their pieces alternately on a square board called a chessboard.
The player with the White pieces commences the game. A player is said to ‘have the move’ when his opponent’s move has been completed.
The object of the game is to trap the opponent’s king so that its escape is not possible (checkmate). If a player’s king is threatened with capture, it is said to be in check, and the player must remove the threat of capture on the next move. If this cannot be done, the king is said to be in checkmate


{% extends "layout.html" %} {%- block htmltitle -%}
Autocrypt-capable mail apps work with any e-mail provider. You and your friends can use your existing e-mail addresses.
Autocrypt is an open specification for e-mail encryption. Under the hood, it uses OpenPGP and other e-mail standards.
Autocrypt is a set of guidelines for developers to achieve convenient end-to-end-encryption of e-mails. It specifies how e-mail programs negotiate encryption capabilities using regular e-mails.
For users, Autocrypt Level 1 offers single-click, opt-in encryption, eases encrypted group communications, and provides a way to setup encryption on multiple devices.
The first specification, Level 1, was released in December 2017. A few mail programs are already capable of Autocrypt, others want to be during Spring 2018.
Please join us in implementing and refining Autocrypt Level 1 and other upcoming specifications. For any further questions or feedback, see our Contact Page.


Passionate responsible engineer with over 12 years of industry experience in fulfilling diverse customer needs. A highly motivated self-learner, open for changes and love to perform under pressure.
Experience
Principal Application Engineer
Oracle America
Working on facilitating Importing/Exporting application data from a csv file for storage and external modifications.
Writing validations and storing data to the backend tables.
Support deployment of additional artifacts for customer upgrades across multiple releases.
Authoring REST services for efficient data storage
January 2013 - Present
Software Engineer
Sunera Technologies (Hub Group)
Shipped an interactive map feature as part of Spring application using JavaScript and REST to determine the cost differences in shipping loads
Implemented services to identify and gather information about the trucks in transit. Foresaw concurrency issues and provided solution to minimize the overhead
December 2011 - January 2013
Software Engineer
Capgemini India
Developed a complete backend e-commerce integration between the existing website infrastructure and legacy systems processing transactions in ETL
Integrated application with 5+ secured external systems using Web services and API
Evaluated performance metrics of backend API using tools like JRockit, JProbe
8 Months
Senior Applications Engineer
Oracle
Worked on backend improvements for a currency module in a financial application
Prototyped web based reporting insights and visualizations in Struts for the business service
Conducted knowledge sessions on writing maintainable code and usage of design patterns
September 2007 - June 2011
Education
Anna University
Bachelor of Technology
Information Technology
GPA: 3.8
8 points out of 10 equivalents to 3.8 CGPA
4-year curriculum focusing on computer architecture, operating systems, data structures and algorithms,computer networks, distributed computing
Built a virtual server with load balancer, clusters and shared storage
a small utilty that helps leetcode aspirants in javascript - just to get hand's on the npm package publishing and working with travis, coverall, mocha, chai - here


Hi! I'm Ziqian Zhong (
zea-chain-drone), a third year undergraduate at MIT majoring in
computer science and math. I took part in competitive programming in high school, which laid me a
solid foundation on both the theoretical and the practical aspects of computer science.
While I have some theoretical research experiences in fine-grained algorithms, my current research
interest lies in interpreting and understanding deep neural networks.


--- layout: page title: Lean Prover Zulip Chat Archive permalink: archive/113488general/81123catchymottos.html ---
https://leanprover.zulipchat.com/#narrow/stream/113488-general/subject/free.20group/near/125306484 :
this means I can now convert it to equation compiler and save more lines
“Lean: Saving Lines Every Day”
That's a shame! I've been printing business cards with "Lean: the Haskell of interactive provers"
{% endraw %}


Questions
A JS plugin to build and manage the UI of questions in your evaluation forms
Open your browser's Console, play around with the samples below and follow the status of your answers.License - MIT
Installation & Usage
Follow the steps bellow
-
1 Download the plugin
-
2 Install the css and js files
-
3 Add the container that is going to receive the question objects
-
4 Create Question objects and append to the container
-
5 Catch the user's answers on the callback function that you passed into the Question objects, and use it in your application


---
layout: default
---
Talks
-
Open Information Extraction. Обзор: ключевые статьи, инструменты, наборы данных
[Russian, PDF, 4.1MB]
(mid-2021, ML Network, 4 Aug. 2021)
-
Same Words, Different Tone: Genre-Specific Sentiment Lexicons for Digital Music Reviews
[English, PDF]
(late 2019, LMAC-III, 17 Dec. 2019)
-
Improving unsupervised neural aspect extraction for online discussions using out-of-domain classification
[English, PDF, 1.1MB]
(autumn 2019, LKE, 31 Oct. 2019)
-
AspeRa: Aspect-based Rating Prediction Model
[Russian, PDF], video
(spring 2019, DataFest.Minsk, 20 Apr. 2019)
-
AspeRa: Aspect-based Rating Prediction Model
[English, PDF, 1.4MB]
(winter 2019, NLP seminar at NRU ITMO, 16 Feb. 2019)
-
Unlemmatization: Recovering Word Forms in Morphologically Rich Languages
[English, PDF, 72KB]
(autumn 2017, AINL: St. Petersburg, Russia, 20-23 Sept. 2017)
-
NLP: Introduction
[Russian, PDF, 3.9MB]
(spring 2017, Kaggle Club)
-
How to build Yandex/Google from scratch?
[Russian, PDF, 2.6MB]
(summer 2016, Futurum STREAM Camp)
Courses
- Natural Language Processing [Russian] | 2022-2023
at MCS SPbU
Mostly following the materials of the Computer Science Center course (see below).
- Workshops on Machine Learning and Deep Learning [Russian] | 2021-2022
at MCS SPbU
Workshops following the course of
ML lectures by S. Nikolenko.
Mostly following Alex Dawydow's workshops.
- Introduction into Natural Language Processing
[Russian] | 2017 | 2019 | 2021
at Computer Science Center
Lectures, tests, homework design (together with D. Bobrovnikov / G. Rozhkov; code review + Kaggle contests).
Slides and schedule are listed here.
Lectures on YouTube (2019).
- Natural Language Processing [English] | 2018 | 2019
at ITMO University
Lectures + tests + homeworks original design (updated, modified and checked by K. Buraya).
-
Introduction into Programming (Python) and Data Analysis in Specialized Environments [Russian] |
2016
at NRU HSE as a visiting lecturer.
Workshops, tests, exams and homework design.
Slides, code snippets and notebooks are now on GitHub.


This is text 49331f4b-c4b0-46fc-b383-20d5bb7d102c This is text c760eb97-bc08-45c6-a7ba-17638a26b342 This is text 74f4ce15-b32f-402f-a91b-031b7cc33998
This is link 247e0f20-f332-462b-bda5-fc709c2fa0b0


{% load i18n %} {% load context_selection %}
{% trans "The IP address should belong to subnet, or the operation will fail." %}
*{% trans "Interface Name" %}
{% trans "A interface name is required." %}
{% trans "Name length should be less than 255 chars." %}
{% trans "invalid input for ip address." %}
{% trans 'Security Groups' %}
{% trans "Bandwidth must be in 1~10000 Mbps." %}
{% trans "Number must be an integer" %}
1 Mbps ~ 10000 Mbps
{% trans 'VFs Configured:' %} {$ PFVFNumConfigured.VFNumConfigured $}
{% trans 'VFs Used:' %} {$ PFVFNumUsed.VFNumUsed $}
{% trans 'PFs Configured:' %} {$ PFVFNumConfigured.PFNumConfigured $}
{% trans 'PFs Used:' %} {$ PFVFNumUsed.PFNumUsed $}
{% trans "Please select Subnet first" %}


Houses Set Ablaze In Taraba Over Change Of School’s Name
Local residents said trouble started on Thursday following the directive of Governor Darius Ishaku that the name of the secondary school in the community be changed from Dan-Anacha to Kwararafa.
by SaharaReporters, New York
At least 14 houses were said to have been burnt and two people injured following an attack on Dan-Anacha Village under Gassol Local Government Area of Taraba State, according to a report by PUNCH.
Local residents said trouble started on Thursday following the directive of Governor Darius Ishaku that the name of the secondary school in the community be changed from Dan-Anacha to Kwararafa.
Mr Kelvin Katyo of Taraba Tiv Youth Council said that the governor had on November 15, 2019 in a letter through the Executive Secretary, post-School Management Board, directed the name change which did not go down well with the members of the community.
According to him, pupils of the school, who were not comfortable with the name change staged a protest demanding that the governor revert the decision.
But they were attacked by irate youths.
Katyo said, “The Chief of Tiv in Gassol, Zaki Erentsa Simon, had prevailed on the Tiv people in the town to remain calm after the protest.
"But in the night, some people suspected to be Governor Ishaku’s sympathizers, attacked and burnt 14 houses belonging to the Tiv people in the town.
“We wonder why the governor is doing what he is doing now.
"We don’t need a name change now because it will escalate tension in the state.”
Police Public Relations Officer in the state, David Misal, said he was not aware of the development.


Patient image Body Aliquam a augue suscipit, luctus neque purus ipsum neque dolor primis libero at tempus, blandit posuere ligula varius congue Scott Boxer Patient occupation Photographer


portfolio
the whole bean | brand design project
unplugged | responsive web design project
U.S. election map | javascript project
magic 8 ball | javascript project
lolcat clock | javascript project
about
profile
| name: | Jimmy Nguyen |
| birthplace: | Virginia, USA |
| residing in: | Tokyo, JPN |
| education: | University of Washington B.A. in Japanese |
bio
I'm an aspiring front-end web developer currently based in Tokyo. I am interested in furthering my web design skills and career.
Born and raised in Springfield, Virginia, I left my hometown to pursue a degree in Japanese with a minor in linguistics in Seattle. After graduating in 2009, I went on to become an English teacher in Kobe, Japan.
Over the years I have worked as a diamond buyer in Kyoto, salesman in Yokohama, and travel agency support staff in Tokyo.
I enjoy music, photography, weight training, traveling, art, psychology, sweets, and all things that make life more beautiful.
skills
- HTML, CSS
- WordPress, PHP
- JavaScript, JQuery
- Ruby
- Photoshop, Illustrator, InDesign
- HTML, CSS
- WordPress, PHP
- JavaScript, JQuery
- Ruby
- Photoshop, Illustrator, InDesign
languages
| english: | native |
| japanese: | fluent (N1) |
| vietnamese: | conversational |


翻译整理自以下页面：
windows - Path prefixes \??\ and \?\ - Stack Overflow
command line - What does \??\ mean in \??\C:\Windows\System32\conhost.exe? - Super User
File path formats on Windows systems
Naming Files, Paths, and Namespaces - Win32 apps
DOS path
包含三部分：
- 盘符加冒号 (c:)
- 目录名
- 文件名
如果这三部分都有，则为绝对路径；如果没有盘符部分但是以 \ 开头，则从当前盘符的根目录开始；如果有盘符但后面没有 \ ，则为指定盘符的相对路径，相对于在那个盘符的当前目录（每个盘符下都存在一个当前目录），否则是当前目录的相对路径。
C:\Documents\Newsletters\Summer2018.pdf
An absolute file path from the root of drive `C:`.
\Program Files\Custom Utilities\StringFinder.exe
An absolute path from the root of the current drive.
2018\January.xlsx
A relative path to a file in a subdirectory of the current directory.
..\Publications\TravelBrochure.pdf
A relative path to file in a directory that is a peer of the current directory.
C:\Projects\apilibrary\apilibrary.sln
An absolute path to a file from the root of drive `C:`.
C:Projects\apilibrary\apilibrary.sln
A relative path from the current directory of the `C:` drive.
windows - Path prefixes \??\ and \?\ - Stack Overflow
- The first is that the runtime library supports per-drive working directories using conventionally ‘hidden’ environment variables such as “=C:”. For example, “C:System32” resolves to “C:\Windows\System32” if the “=C:” environment variable is set to “C:\Windows”.
windows 使用环境变量类似 “=C:” 这种名字用于记录当前驱动器的当前目录，因此设置这个环境变量可以修改其他驱动器的当前路径，从而影响 C:Projects\apilibrary\apilibrary.sln
这种路径形式的解析位置
SetEnvironmentVariableA("=C:", "C:\\Windows");
HANDLE hFile = CreateFileA(R"(c:system32\notepad.exe)", GENERIC_READ, FILE_SHARE_READ, 0, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0);
windows - Path prefixes \??\ and \?\ - Stack Overflow
- Also, if the last component of the path is a reserved DOS device name, including if the name has trailing colons, spaces, dots, and even a file extension, the path gets translated to a device path (e.g. “C:\Windows\nul: .txt” -> “\??\nul”). (DOS devices are also reserved in the final component of relative paths that have no drive.) Otherwise, the runtime library simply prepends “\??\” to the normalized path (e.g. “C:/Windows” -> “\??\C:\Windows”).
如果路径的最后一部分是一个保留的 DOS 设备名，包括如果设备名后尾随了冒号、空格和点甚至是文件扩展名，则直接转为该设备的路径 (e.g. “C:\Windows\nul: .txt” -> “\??\nul”)。否则 windows 则直接在进行 normalized 后的 DOS path 前增加 \??\
。
UNC path
- 以
\\
开始，后面接 host name，host name 可以是服务器名 (NetBIOS 机器名) 或 ip 地址 - share name，接在 host name 后面，host name 和 share name 共同构成一个 volum
- 目录名字
- 文件名字
\\system07\C$\
The root directory of the C:
drive on system07
.
\\Server2\Share\Test\Foo.txt
The Foo.txt
file in the Test directory of the \\Server2\Share
volume.
DOS device paths
形如
\\.\C:\Test\Foo.txt
\\?\C:\Test\Foo.txt
或通过卷 guid 指定盘符
\\.\Volume{b75e2c83-0000-0000-0000-602f00000000}\Test\Foo.txt
\\?\Volume{b75e2c83-0000-0000-0000-602f00000000}\Test\Foo.txt
DOS device path 包括：
- dos device path 指定符号
\\.\
或 ` \?` - 一个指向目标设备符号链接
\\?\C:\
。同样可以使用 UNC 路径\\.\UNC\Server\Share\Test\Foo.txt
` \?\UNC\Server\Share\Test\Foo.txt`。 没看懂的部分：For device UNCs, the server/share portion forms the volume. For example, in
\\?\server1\e:\utilities\\filecomparer\
, the server/share portion is ` server1\utilities`. This is significant when calling a method such as Path.GetFullPath(String, String) with relative directory segments; it is never possible to navigate past the volume.
windows - Path prefixes \??\ and \?\ - Stack Overflow
- The straight-forward case is a path that’s prefixed by either “\\.\” or “\\?\”. This is a local device path, not a UNC path. (Strictly speaking it’s in the form of a UNC path, but “.” and “?” are reserved device domains.) For this case, the prefix is simply replaced by NT “\??\”.
dos device path 严格来说属于一种 UNC path 的形式，”?”为保留设备名。这两个前缀被简单替换为 \??\
有歧义的地方：
DOS device path 不允许使用 .
..
File path formats on Windows systems | Microsoft Docs
- DOS device paths are fully qualified by definition. Relative directory segments (
.
and..
) are not allowed. Current directories never enter into their usage.
Naming Files, Paths, and Namespaces - Win32 apps | Microsoft Docs
- For file I/O, the “\\?\” prefix to a path string tells the Windows APIs to disable all string parsing and to send the string that follows it straight to the file system. For example, if the file system supports large paths and file names, you can exceed the MAX_PATH limits that are otherwise enforced by the Windows APIs. For more information about the normal maximum path limitation, see the previous section Maximum Path Length Limitation.
- Because it turns off automatic expansion of the path string, the “\?" prefix also allows the use of “..” and “.” in the path names, which can be useful if you are attempting to perform operations on a file with these otherwise reserved relative path specifiers as part of the fully qualified path.
当使用 \\?\
的时候，windows api 不会对传入的路径做任何 normalization 处理，而使用 \\.\
的时候会进行 normalization
//失败
HANDLE hFile = CreateFileA(R"(\\?\D:\.\file.txt)", GENERIC_READ, FILE_SHARE_READ, 0, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0);
//成功
HANDLE hFile = CreateFileA(R"(\\.\D:\.\file.txt)", GENERIC_READ, FILE_SHARE_READ, 0, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0);
关于 Device path normalization：
windows - Path prefixes \??\ and \?\ - Stack Overflow
- Device path normalization resolves “.” and “..” components, replaces forward slashes with backslashes, and strips trailing spaces and dots from the final path component. Because forward slashes are translated to backslashes, the prefix of a normalized device path can be “//./” or “//?/” or any combination of slashes and backslashes, except for exactly “\\?\”.
normalization 会处理 “.” 和 “..”，并且将 “/” 替换为 “\“，并将尾随的 “.” 和空格删除。因为会将斜杠转为反斜杠，因此 “//./” 和 “//?/” 都是可行的，但是 “\\?\” 不行，因为这会禁止 normalization
\??\ Prefix
\??\
指示对象管理器在调用者的 local device directory 搜索（也包括在 Global 中搜索），也就是 \Sessions\0\DosDevices\[Logon Authentication ID]
。当调用者为 system 时，则在 \Global??
中搜索。每个 local device directory 下有一个 Global 符号链接链接到 \Global??
//以下两种均可以成功
HANDLE hFile = CreateFileA(R"(\??\Global\D:\file.txt)", GENERIC_READ, FILE_SHARE_READ, 0, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0);
HANDLE hFile = CreateFileA(R"(\??\D:\file.txt)", GENERIC_READ, FILE_SHARE_READ, 0, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0);
\DosDevice
链接到 \??


|
Write.app will go down for maintenance today
We're upgrading our servers and making things faster for you.
Write.app will be down for about 20 minutes today for scheduled upgrades. These upgrades will take place between 2pm and 3pm Central time and will affect all accounts. During this time the site will be inaccessible. The entire process should only take about 20 minutes but we're saying an hour just to be safe.
Upgrade Details
For the past few months Write.app has steadily been getting more and more traffic and after being featured on MakeUseOf.com for the second time this week we thought it was time to upgrade our servers. This means a faster and better experience for you. When the process is complete you can log into your account and use Write.app as usual again.
|
|
|


Expression Manipulation (Docstrings)¶
msubs¶
-
sympy.physics.mechanics.
msubs
(expr, *sub_dicts, **kwargs)[source]¶ A custom subs for use on expressions derived in physics.mechanics.
Traverses the expression tree once, performing the subs found in sub_dicts. Terms inside
Derivative
expressions are ignored:>>> from sympy.physics.mechanics import dynamicsymbols, msubs >>> x = dynamicsymbols('x') >>> msubs(x.diff() + x, {x: 1}) Derivative(x(t), t) + 1
Note that sub_dicts can be a single dictionary, or several dictionaries:
>>> x, y, z = dynamicsymbols('x, y, z') >>> sub1 = {x: 1, y: 2} >>> sub2 = {z: 3, x.diff(): 4} >>> msubs(x.diff() + x + y + z, sub1, sub2) 10
If smart=True (default False), also checks for conditions that may result in
nan
, but if simplified would yield a valid expression. For example:>>> from sympy import sin, tan >>> (sin(x)/tan(x)).subs(x, 0) nan >>> msubs(sin(x)/tan(x), {x: 0}, smart=True) 1
It does this by first replacing all
tan
withsin/cos
. Then each node is traversed. If the node is a fraction, subs is first evaluated on the denominator. If this results in 0, simplification of the entire fraction is attempted. Using this selective simplification, only subexpressions that result in 1/0 are targeted, resulting in faster performance.
find_dynamicsymbols¶
-
sympy.physics.mechanics.
find_dynamicsymbols
(expression, exclude=None)[source]¶ Find all dynamicsymbols in expression.
>>> from sympy.physics.mechanics import dynamicsymbols, find_dynamicsymbols >>> x, y = dynamicsymbols('x, y') >>> expr = x + x.diff()*y >>> find_dynamicsymbols(expr) set([x(t), y(t), Derivative(x(t), t)])
If the optional
exclude
kwarg is used, only dynamicsymbols not in the iterableexclude
are returned.>>> find_dynamicsymbols(expr, [x, y]) set([Derivative(x(t), t)])


This is a platform for hospitals and blood donors to connect for a humanitarian cause
When someone in Kenya needs blood, their friends and family often seek out donors on social media, putting out an urgent plea for whatever type of blood is needed. They are forced to do this because the nation’s blood bank doesn’t function as it should. “When somebody needs blood for surgery right now in the hospitals, it's very much: find your own blood," said Yaniv Gelnik, global business development lead at Zipline, which is in conversations with the government about expanding its services of delivering blood by drone to health facilities in Kenya. There is a perennial shortage of blood in the country. Last year, the Kenya National Blood Transfusion Service collected only 16% of the 1 million units the country needed. The year before, it had the same shortfalls.
This platform seeks to increase blood donations by providing a better avenue for those interested in donating blood and saving lives


About Me
Favorite Music
Favorite Movies
My Courses
My Courses
Course Name
Course Number
Grade
Fall 2017
Business App.
MISY350
A
Analytics and Vis.
BUAD345
A
Ethis and Society
CISC355
A
Spring 2018
Oral Comm.
COMM212
A
Service and Op.
BUAD306
A
Org. Business
BUAD309
A


My name is Nguyen Tien Dung, I'm a 4th year software engineering student at Duy Tan University. My goal in future want to be a fullstack developer with Reactjs, Nodejs, Expressjs, MongoDB, PostgeSQL.
My hobbies are learning new technologies, playing football games.
> View ResumeThe drag and drop project generates sheets to complete and moves them back and forth.
Joke-teller is a project with Javascript, based on VoiceRSS API and Joke API. The image is the original pic and it will be converted to a gif file in JS.
Custom video player using HTML5 video element and it's JavaScript API with custom design
<EMAIL_ADDRESS>Call to Action


Jane Doe
Jane Doe - Web Developer
Member since Nov. 2012
Followers
Sales
Friends
Profile
Sign out
Afficient++: Configuration Portal
Experiences
Global Attributes
Designs
Personalization


Legend
- Pop up help available, click question mark for help
- Will be visible in online programme
- May be used to advertise presentation in advance
- Only visible to the programme committee
*
- Field is mandatory


{% extends "layout.html" %} {% block content %}
{{ book.title }}
Sorry, there are no matching results.