Is there an elementary explanation of why the row-rank of a matrix equals its column-rank (without using adjoint maps, resp. lots of technical computations)? What is the geometric intuition behind this?
I am auditing a Linear Algebra class, and today we were taught about the rank of a matrix. The definition was given from the row point of view:      "The rank of a matrix A is the number   of non-zero rows in the reduced   row-echelon form of A".   The lecturer then explained that if the matrix $A$ has size $m  \times n$, then $rank(A) \leq m$ and $rank(A) \leq n$.   The way I had been taught about rank was that it was the smallest of    the number of rows bringing new information the number of columns bringing new information.    I don't see how that would change if we transposed the matrix, so I said in the lecture:  "then the rank of a matrix is the same of its transpose, right?"   And the lecturer said:   "oh, not so fast! Hang on, I have to think about it".   As the class has about 100 students and the lecturer was just substituting for the "normal" lecturer, he was probably a bit nervous, so he just went on with the lecture.  I have tested "my theory" with one matrix and it works, but even if I tried with 100 matrices and it worked, I wouldn't have proven that it always works because there might be a case where it doesn't.  So my question is first whether I am right, that is, whether the rank of a matrix is the same as the rank of its transpose, and second, if that is true, how can I prove it?  Thanks  :)
How do I properly clean up Excel interop objects? I'm using the Excel interop in C# (ApplicationClass) and have placed the following code in my finally clause:  while (System.Runtime.InteropServices.Marshal.ReleaseComObject(excelSheet) != 0) { } excelSheet = null; GC.Collect(); GC.WaitForPendingFinalizers();   Although this kind of works, the Excel.exe process is still in the background even after I close Excel. It is only released once my application is manually closed.  What am I doing wrong, or is there an alternative to ensure interop objects are properly disposed of? How are character special files and block special files different from regular files in a Unix-like system? Why are they called “character special” and “block special” respectively? From Awodey: In any category $\mathsf{C}$,  an object $0$ is initial if for any object $C$ there is a unique morphism $0 \to C$,  an object $1$ is terminal if for any object $C$ there is a unique morphism $C \to 1$.  First I was puzzled by the fact that we can do mappings from a zero set to any other set in a category $\mathsf{Sets}$. But then after I accepted it conceptually, I do not understand why there is no unique morphism to an empty set from every object in a category $\mathsf{Sets}$. Is this because we cannot map a non-empty set to an empty set (since our mapping is total) although we can map an empty set to a non-empty set?  Please, note, I am familiar with the proposition saying: Initial (terminal) objects are unique up to isomorphism. Proof of Wolstenholme's theorem Attribution alignment and order should be consistent with the website Do multiple instances of the Extra Attack feature stack? Software for text search in files I am looking for a software that will search text in files from a folder similar to .  Is there something similar? Combinatorics, choosing 3 elements from 100 In how many ways can we pick three different numbers out of the group $1,2,3,\dots,100$ such that the largest number is larger than the product of the two smaller ones? (The order in which we pick the numbers does not matter.) appears to have been question banned because of two unpopular Meta suggestions. (He says so in )  Look at the two contributions that appear to have gotten him banned. Like those of many others, they may not be of perfect quality, but they are not actively harmful to the site, either. As it stands, you can get question blocked on Meta simply for asking questions that aren't popular with the Meta crowd.  Why does the team insist on keeping the question ban active on Meta?  Why can't real problem users be dealt with through manual moderator action? Don't tell me it's a problem of scale; as far as I can see, actually toxic users are very rare on Meta.  People will frequently complain that Meta actively discourages the expression of unpopular viewpoints and suggestions. With the threat of question bans in place, I find those complaints difficult to refute. I hate that. Wouldn't it be a good idea to be able to vote for questions to be moved to any Stack Exchange site? For example, I just voted  as off topic, but that was all I could do. I wish I could've voted it be moved to .  It's OK to have the predefined list of sites that is now when voting to move, but it would be nice to have a more link, where we could pick any Stack Exchange site.  Here's a quick mockup of how I see this implemented:    When the more link is clicked, a list of all the Stack Exchange sites should appear. Recently I have opted for broadband connection which is coming directly cat5 cable with RJ45 port to my laptop. They have provided me with IP address, default Gateway, subnet mask, preferred DNS and alternate DNS server information. Also the username and password.  The Modem model is Beetel 450TC1 which is actually an ADSL+2 Router. The modem has 4 lan port and one RJ11 port (for internet).   Can I use this modem as a wireless hotspot without connecting the RJ45 cable directly to my laptop?  If yes, can anybody help me with that? How can I change my Minecraft username? How to handle ordinal categorical variable as independent variable I am using a logit model. My dependent variable is binary. However I have an independent variable which is categorical and contains the responses: 1.very good, 2.good, 3.average, 4.poor and 5.very poor. So, it is ordinal ("quantitative categorical"). I am not sure how to handle this in the model. I am using gretl.  [Note from @ttnphns: Although the question says the model is logit (because the dependent is categorical), the crucial issue - ordinal independent variables - is basically alike, be the dependent categorical or quantitative. Therefore the question is equally relevant to, say, linear regression too - as it is to logistic regression or other logit model.] What happened to this user's rep, badges, and name? This user is only displaying 56 rep.   But surely (s)he has much more than that.        The user has also never given out any bounties.  Also, badges are missing: How do I share variables between two functions? So...here is part of my code for a plugin.  I'm a newb of sorts so be kind.  I've read up on global variables but I can't seem to get it to work and I've read you shouldn't use them anyway.  So what would be the best way to write the code below without having to re-declare the variables for each function?  Here is the  if necessary.  // Display the product badge on the shop page  add_action( 'woocommerce_after_shop_loop_item_title', 'wc_simple_product_badge_display_shop', 30 ); function wc_simple_product_badge_display_shop() {     $title = get_post_meta( get_the_ID(), '_wc_simple_product_badge_title', true ); // badge title     $class = get_post_meta( get_the_ID(), '_wc_simple_product_badge_class', true ); // badge class     $duration = get_post_meta( get_the_ID(), '_wc_simple_product_badge_duration', true ); // badge duration     $postdate = get_the_time( 'Y-m-d' ); // post date     $postdatestamp = strtotime( $postdate ); // post date in unix timestamp     $difference = round ((time() - $postdatestamp) / (24*60*60));  // difference in days between now and product's post date      if ( !empty( $title ) &amp;&amp; empty( $duration ) || !empty( $title ) &amp;&amp; $difference &lt;= $duration ){ // Check to see if there is a title and the product is still within the duration timeframe if specified         $class = !empty( $class ) ? $class : '';         echo '&lt;span class="wc_simple_product_badge ' . $class . '"&gt;' . $title . '&lt;/span&gt;';     } }  // Display the product badge on the single page  add_filter( 'woocommerce_single_product_image_html', 'wc_simple_product_badge_display_single' );     function wc_simple_product_badge_display_single( $img_html ) {     $title = get_post_meta( get_the_ID(), '_wc_simple_product_badge_title', true ); // badge title     $class = get_post_meta( get_the_ID(), '_wc_simple_product_badge_class', true ); // badge class     $duration = get_post_meta( get_the_ID(), '_wc_simple_product_badge_duration', true ); // badge duration     $single_opt = get_post_meta( get_the_ID(), '_wc_simple_product_badge_single_page_option', true ); // badge on single page     $postdate = get_the_time( 'Y-m-d' ); // post date     $postdatestamp = strtotime( $postdate ); // post date in unix timestamp     $difference = round ((time() - $postdatestamp) / (24*60*60));  // difference in days between now and product's post date      if ( !empty( $title ) &amp;&amp; empty( $duration ) &amp;&amp; $single_opt === 'yes' || !empty( $title ) &amp;&amp; $difference &lt;= $duration &amp;&amp; $single_opt === 'yes' ){ // Check to see if there is a title and the product is still within the duration timeframe ()if specified) and the checkbox is checked to show on single page view         $class = !empty( $class ) ? $class : '';         echo '&lt;span class="wc_simple_product_badge ' . $class . '"&gt;' . $title . '&lt;/span&gt;';         return $img_html; }      elseif ( $single_opt === 'no' ) { // Check to see if the checkbox is unchecked to show on single page view         return $img_html;     }  } There has been a trend now two persons downvote it then it goes on like that. So let there be down voting but do not display the downvotes till the user votes on it. Else the user reads it with an impression that the question is not good.  Am I missing something? Why not introduce a donate button in Stack Exchange sites? Bluetooth Broadcom 43142 isn't working Sharing alignment between equations in two different items In the following minimal example, I have two equations inside an itemize environment, with an item per equations. Each equation is defined in its own equation environment.    \documentclass{article} \usepackage{amstext}  \begin{document}  \begin{itemize}  \item Lorem ipsum dolor sit amet, consectetur adipiscing elit:   \begin{equation}     f(x) = \left\{     \begin{array}{l l}       1 &amp; \text{ nisl justo, hendrerit} \\       0 &amp; \text{ sagittis condimentum}\\     \end{array} \right.  \end{equation}   \item Duis magna nunc, ultrices at fringilla non, feugiat sed massa:   \begin{equation}     g(x) = \left\{     \begin{array}{l l}       -1 &amp; \text{ fermentum fringilla mauris eget} \\       0 &amp; \text{ gravida ipsum vitae}\\     \end{array} \right.  \end{equation} \end{itemize}  \end{document}   However, each equation has its own alignment, giving the following result:    It would be nice (I think) if both equations could be aligned in the same way, something like this:    Is this possible?   Note: it would be nice if the solution could be also applied to equations in different paragraphs.    UPDATE:   presented a very nice solution, which is currently the most upvoted, but it does not work quite well:  \documentclass{article} \usepackage{amsmath} \begin{document}  This is a list.  \begin{itemize}    \item First item.   \begin{align*}   f(x) &amp;= \begin{cases} 0 &amp; \text{now} \\ 1 &amp; \text{then} \end{cases}   \intertext{\item Second item.}   g(x) &amp;= \begin{cases} 0 &amp; \text{here and there}  \\ -1 &amp; \text{to and fro} \end{cases}   \end{align*}  \end{itemize}  After the list. \end{document}     Can you see? "now" and "then" are not aligned to "here and there" and "to and fro". Can we solve this? :) Take the following two lines of code:  for (int i = 0; i &lt; some_vector.size(); i++) {     //do stuff }   And this:  for (some_iterator = some_vector.begin(); some_iterator != some_vector.end();     some_iterator++) {     //do stuff }   I'm told that the second way is preferred. Why exactly is this?